有时候,无法使用图形界面时,我们需要手动删除数据库,具体操作步骤如下:
一、手动删除文件系统数据库
   1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止

$ lsnrctl stop listener_name

$ emctl stop dbconsole

2.获得数据文件,日志文件及控制文件的相关信息,包含归档

$ sqlplus /as sysdba

SQL>show parameter control
       获取控制文件的路径 
       SQL>select file_name from dba_data_files;
       获取数据文件的位置
       SQL>select * from v$logfile;
       获取日志文件的位置
       SQL>archive log list; 
       获取归档日志的路径
       SQL>shutdown immediate(abort);
       关闭数据库,反正都要删除了,可以考虑用abort

3.启动到mount状态(使用exclusive restart)

SQL> startup mount exclusive restrict;
       mount数据库到独占模式
       SQL> show parameter instance;
       查看是否是要删除的实例,这一步非常重要,。

4.修改参数为允许受限的会话模式

SQL>alter system enable restricted session;

5.使用drop database命令来清除数据库

SQL>drop database;

SQL>exit

6.手动清除相关文件

根据第2步查询的结果,删除相应的文件。
       windows可以打开窗口,进入目录删除。linux可以使用rm删除

7.清除监听相关文件
       11G以后,很多是动态注册的,所以不用考虑这一步。如果配置了静态监听的,需要删除listener.ora文件里的配置

8.修改oratab文件以及.bash_profile

二、清除ASM数据库

对于ASM数据库的删除与文件系统数据库的不同之处在于数据文件,控制文件,日志文件,参数文件等都是存放在ASM系统中,因此需要在ASM实例中做相应的动作来彻底清除数据库。

1.执行文件系统数据库清除步骤3-4步(先要shutdown)

2.使用drop database命令来清除数据库(该命令将清除数据文件,日志文件,temp文件)

SQL>drop database;

SQL>exit

3.连接到ASM实例

$ export ORACLE_SID=+ASM

$ sqlplus /as sysdba

4.清除残余文件

SQL>select name,file_number,group_number,file_incarnation from v$asm_alias;--查看文件,注意group_number表示位于不同的磁盘组
SQL>alter diskgroup ARCHDG1 drop directory '+ARCHDG1/asmdb/file_name'; --可以使用方式来删除需要删除的文件
SQL>alter diskgroup DATADG drop directory'+DATADG/asmdb/file_name';
SQL>select name,file_number,group_number,file_incarnation from v$asm_alias; --验证删除后的结果

也可以使用下面的方式(asmcmd命令)来删除残余文件

       $ export ORACLE_SID=+ASM1
$ asmcmd
ASMCMD> ls -l
State Type Rebal Unbal Name
MOUNTED EXTERN N N ARCHDG1/
MOUNTED EXTERN N N DATADG/
ASMCMD> ls -s
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
ARCHDG1/
DATADG/
ASMCMD> cd +ARCHDG1
ASMCMD> ls
ASMDB/
ASMCMD> rm -rf ASMDB
ASMCMD> ls
ASMCMD> cd +DATADG
ASMCMD> pwd
+DATADG
ASMCMD> ls
ASMCMD> cd +
ASMCMD> ls -s
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
ARCHDG1/
DATADG/

对于直接位于磁盘组下的文件则同样可以使用rm命令来直接删除文件

5.清除其它文件
   --$ORACLE_HOME/dbs/与该实例相关的文件;
   --trace文件,这个根据版本不同,路径也不相同。11g为$ORACLE_BASE/diag/rdbms/sid_name 相关的实例目录
      
  6.执行文件系统数据库清除步骤7-8步

转载自:datapeng原文链接:
http://blog.itpub.net/29371470/viewspace-2124984/

oracle手动删除数据库的更多相关文章

  1. 详解Oracle手动创建数据库几大步骤

    在这里我们将介绍Oracle手动创建数据库几大步骤,包括前期的准备工作,以及具体的实施. Oracle手动创建数据库是本文介绍的重点,希望通过本文能帮助大家更好的利用Oracle.51CTO也向您推荐 ...

  2. ORACLE手工删除数据库

    很多人习惯用ORACLE的DBCA工具创建.删除数据库,这里总结一下手工删除数据库实验的步骤,文中大量参考了乐沙弥的手动删除ORACLE数据库这篇博客的内容,当然还有Oracle官方相关文档.此处实验 ...

  3. 手动删除oracle数据库

    --===================== -- 手动删除oracle数据库 --===================== 杀掉进程用此方法比较好,能保证杀得干净,而不是用sql 里面的语句ki ...

  4. oracle使用DataBase Configuration Assistant创建、删除数据库

    可以使用DataBase Configuration Assistant来创建一个心得数据库.Database Configuration Assistant简称是DBCA,是创建.配置以及管理数据库 ...

  5. Oracle数据库管理之创建和删除数据库

    转自:http://supportopensource.iteye.com/blog/678898 一.数据库管理概述 在完成Oracle软件安装后,DBA就应该对组织和管理数据库负责任,其主要任务是 ...

  6. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  7. OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET

    由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:很碍眼是不是?于是我打算手动从数 ...

  8. oracle删除数据库

    1.确认当前数据库是否为要删除的那一个select name from v$database; 2.关闭数据库shutdown immediate; 3.以restrict方式重新打开数据库,并启动到 ...

  9. oracle创建、删除 数据库、建立表空间以及插入 删除 修改表

    一.创建.删除数据库 oracle OraDb11g_home->配置和移植工具->Database configration  Assistant->...然后可以创建或者删除数据 ...

随机推荐

  1. 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3930018.html,qq:1269122125. SIP协议在安 ...

  2. oracle删除用户所有的表

    删除用户所有的表,带有级联关系: --创建存储过程 CREATE OR REPLACE PROCEDURE DROPTABLES IS V_SQL ); CURSOR CUR IS SELECT TA ...

  3. jQuery1.6以上版本prop和attr的区别

  4. Python自动化运维之20、HTML

    一.HTML相关概念 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这 ...

  5. SqlServer将数据库中的表复制到另一个数据库

    前述: 文章来自百度经验 操作: 在使用SqlServer的过程中,我们可能需要将表从一个数据库复制到另一个数据库中,今天,为大家介绍这种操作的具体方法及步骤. 复制表结构 1 首先,打开并连接Sql ...

  6. 安装KornShell(KSH)

    Korn shell 是一个unix上的shell 程序,主要用在各种unix系统上,比如:sun/oracle unix,AIX等.ksh是有贝尔实验室的David korn开发出来的,ksh结合了 ...

  7. 构建高可用web站点学习(一)

    单个服务器如何处理请求 web服务器最简单的形式就是一个程序,它侦听HTTP请求,在收到一个HTTP请求之后做出回复.当然在接收请求后服务器所做的东西是我们关注的焦点.在下文中也会提及到node是如何 ...

  8. kibo.js 处理键盘事件的Javascript工具库

    这个也是做在线编辑用到的 选中文字快捷键.提高编辑效率 https://github.com/marquete/kibo 用法很简单 Examples var k = new Kibo(); Sing ...

  9. 初识MVC模式

    一.概念:MVC是 模型(Model),视图(View)和控制(Controller)的缩写,其目的实现Web系统的职能分工. 二.问题描述:通过一个简单的例子(计算圆面积)来体会MVC模式和普通的s ...

  10. poj 3026Borg Maze

    http://poj.org/problem?id=3026 #include<cstdio> #include<iostream> #include<cstring&g ...