您现在的位置是:首页 >其他 >如何通过命令行删除Oracle 数据库网站首页其他
如何通过命令行删除Oracle 数据库
Oracle提供了drop database命令用来删除数据库,代码如下所示:
SQL> startup mount
ORACLE instance started.
Total System Global Area 264241152 bytes
Fixed Size 2095536 bytes
Variable Size 83887696 bytes
Database Buffers 171966464 bytes
Redo Buffers 6291456 bytes
Database mounted.
SQL> alter system enable restricted session;
System altered.
SQL> drop database;
Database dropped.
该命令会物理级别删除数据库,同时Oracle警告日志会显示如下内容:
Wed Jul 11 15:35:16 CST 2012
drop database
Wed Jul 11 15:35:17 CST 2012
Deleted file /oradata/zhoul/system01.dbf
Deleted file /oradata/zhoul/undotbs01.dbf
Deleted file /oradata/zhoul/sysaux01.dbf
Deleted file /oradata/zhoul/redo01.log
Deleted file /oradata/zhoul/redo02.log
Deleted file /oradata/zhoul/redo03.log
Deleted file /oradata/zhoul/temp01.dbf
Instance terminated by USER, pid = 13136
Deleted file /oradata/zhoul/control01.ctl
Completed: drop database
从以上的警告日志中,可以看到drop database命令仅仅删除了数据库,并没有删除与实例zhoul的相关配置,这会导致不能用DBCA图形化工具创建相同实例名字的数据库
以下步骤为手工彻底删除数据库的过程:
- 关闭实例,删除数据文件、控制文件、日志文件、闪回文件、归档文件。
select name from v$datafile;--查看数据文件位置
select name from v$controlfile;--查看控制文件位置
select name from v$archived_log;—查看归档文件位置
select name from v$flashback_database_logfile;—查看闪回文件位置
注意 在数据库open状态下删除数据文件,数据文件的句柄(handle)还会存在。
- 删除日志文件目录,如$ORACLE_BASE/admin/$ORACLE_SID下的所有目录。
- 删除$ORACLE_HOME/dbs目录下与所删除实例相关的信息,如lk$ORACLE_SID、orapw$ORACLE_SID及参数文件。
- 删除配置文件listener.ora、tnsnames.ora中的相关内容。
- 删除配置文件/var/opt/oracle/oratab或者/etc/oratab中的相关内容。
- 检查$ORACLE_HOME目录下与所删除实例相关的文件,确认之后删除。假如实例名为zhoul,则删除zhoul相关的文件。