删除Oracle数据库的方式有哪几种?

举报
小麦苗DB宝 发表于 2022/02/21 14:15:55 2022/02/21
【摘要】 有如下几种方式可以用来删除Oracle数据库:(1)直接在OS级别调用dbca命令以静默的方式删除数据库。使用DBCA进行删除的数据库必须处于OPEN状态,否则不能删除。如下所示,其中,mydb为数据库名:dbca -silent -deleteDatabase -sourceDB mydb当然,使用dbca也可以进行图形界面删除,被删除的数据库也必须处于OPEN状态,否则不能删除。其实,从...

有如下几种方式可以用来删除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;

本文结束。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。