oracle手动删除数据库 |
您所在的位置:网站首页 › oracle删除了数据文件 打不开数据库 › 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/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |