删除Oracle数据库的方式有哪几种?
有如下几种方式可以用来删除Oracle数据库:
(1)直接在OS级别调用dbca命令以静默的方式删除数据库。使用DBCA进行删除的数据库必须处于OPEN状态,否则不能删除。如下所示,其中,mydb为数据库名:
dbca -silent -deleteDatabase -sourceDB mydb
当然,使用dbca也可以进行图形界面删除,被删除的数据库也必须处于OPEN状态,否则不能删除。其实,从告警日志中可以看到,在OPEN状态下,DBCA删除数据库的过程是,首先将数据库关闭,然后启动数据库到MOUNT状态,接着执行“ALTER SYSTEM ENABLE RESTRICTED SESSION;”让数据库处于受限模式,最后执行“DROP DATABASE;”删除数据库。在删除数据库完成后,会清理文件/etc/oratab中有关被删除数据库的信息,也会删除与该数据库有关的所有的SPFILE和PFILE文件。
需要注意的是,在安装有grid的主机上,如果当前数据库处于非OPEN状态,那么DBCA图形界面和静默方式不会删除和修改任何文件(/etc/oratab和参数文件);如果主机上没有安装grid,当前数据库处于非OPEN状态,那么DBCA图形界面会删除与该数据库有关的所有的SPFILE和PFILE文件,但是不会删除数据文件,而DBCA静默方式依然会报错,且不会删除和修改任何文件。
(2)SQL窗口:
alter database close;
alter system enable restricted session;
drop database;
或:
sql > startup force mount restrict;
sql > drop database;
注意:强烈推荐第1种方式,对于第2种方式,若是在RAC环境中,数据库库需要设置参数CLUSTER_DATABASE为FALSE后才可以执行DROP DATABASE,设置的命令为:
ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SID='*' SCOPE=SPFILE;
本文结束。
- 点赞
- 收藏
- 关注作者
评论(0)