oracle手动删除数据库

有时候,无法使用图形界面时,我们需要手动删除数据库,具体操作步骤如下:
一、手动删除文件系统数据库
   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

512  4096 1048576     3067    2974               0           2974             0 ARCHDG1/

512  4096 1048576     2047    1996               0           1996             0 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

512  4096 1048576     3067    3016               0           3016             0 ARCHDG1/

512  4096 1048576     2047    1996               0           1996             0 DATADG/

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

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

转:http://blog.itpub.net/29371470/viewspace-2124984/

时间: 2024-12-11 04:59:22

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

ORACLE手工删除数据库

很多人习惯用ORACLE的DBCA工具创建.删除数据库,这里总结一下手工删除数据库实验的步骤,文中大量参考了乐沙弥的手动删除ORACLE数据库这篇博客的内容,当然还有Oracle官方相关文档.此处实验环境为Oracle Linux Server release 5.7,数据库版本为10.2.0.5.0 Step 1: .获得控制文件.数据文件,日志文件等相关信息 获取这些信息,一方面是为了后面的建库做参考,另外一个是为了验证后面一些操作,如果这些都没有必要,其实是可以可以跳过这一步的. SQL>

Oracle手动删除归档日志厚,出现ORA-19571错误

一.使用以下的命令清理了空间: 1.   cd /orabak 2.   find . -type f -mtime +30 -exec rm -rf {} \; 二.然后开始使用rman备份的脚本进行备份,备份到最后出现以下报错 ------------------------------------------------------------------------------------------- archive log filename=/oralog/1_20800_81255

手动删除oracle数据库

oracle数据库sqldatabaseloggingfile –===================== – 手动删除oracle数据库 –===================== 在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库.对此,可以借助drop database命令来实现,下面的描述中给出手动删除数据库 的具体步骤,包含文件系统数据库以及ASM数据库.环境:Oracle Enterprise Linux 5.4 + Oracle 10g R2 . 一.手动删除

手动删除zabbix问题数据库

zabbix问题已经解决了,但主机状态还是显示故障存在. 如下图: 手动删除数据库 查找问题ID 登录数据库 查询问题id所在的表的信息 删除问题信息 刷新数据库 原文地址:http://blog.51cto.com/506554897/2134241

oracle手工删除库

无法使用图形界面时,我们需要手动删除数据库一.手动删除文件系统数据库 1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止 $ lsnrctl stop listener_name $ emctl stop dbconsole 2.获得数据文件,日志文件及控制文件的相关信息,包含归档 $ sqlplus /as sysdba SQL>show parameter control 获取控制文件的路径 SQL>select file_name from dba_data_fil

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

一.数据库管理概述 在完成Oracle软件安装后,DBA就应该对组织和管理数据库负责任,其主要任务是: (1)启动和关闭数据库: (2)创建数据库: (3)删除数据库: (4)调整初始化参数: (5)管理网络. 对于数据库的管理,必须要具有SYSDBA和SYSOPER的角色,才有权启动.关闭.运行数据库.SYSDBA角色拥有SYS数据表的所有权限,SYSOPER的角色拥有Public数据表的所有权限. 二.数据库的管理方法 (1)DOS命令行方式 命令行管理是DBA管理数据库服务器的传统方法.在

Oracle数据库之创建和删除数据库

创建数据库 1 使用Database Configuration  Assistant工具创建Oracle数据库 步骤一 操作窗口 有4种选择  A 创建数据库 B 配置数据库选件 C 删除数据库 D 管理模板 步骤二 数据库模板 窗口 有3种选择  A 一般用途或事务处理 B 定制数据库 C 数据仓库 步骤三 数据库标识 在这一步中,需要输入 全局数据库名 和 Oracle 系统标识符(SID) 全局数据名是Oracle 数据库的唯一标识,所以不能与已有的数据库重名 打开oracle数据库时,

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

一.创建.删除数据库 oracle OraDb11g_home->配置和移植工具->Database configration  Assistant->...然后可以创建或者删除数据库 二.建立表空间 create tablespace inspur_tablespace   logging datafile 'D:\MyOracleBACK SQL\StudentDB\inspur_tablespace.dbf'  size 50m autoextend on next 50m max

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

由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:很碍眼是不是?于是我打算手动从数据库中删除它们! 1.数据库中与删除实例相关的表 数据库中与删除实例相关的表如下:fixed_ips记录给实例分配的fixed ip,floating_ips显然与实例分配的floating ip有关,但我在实验中一直没有使用过floating故不作评断,instance_actions我这里是空的