暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

DB宝 2021-03-23
716


问题

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


     





答案


有如下几种方式可以用来删除Oracle数据库:

(1)直接在OS级别调用dbca命令以静默的方式删除数据库。使用DBCA进行删除的数据库必须处于OPEN状态,否则不能删除。如下所示,其中,mydb为数据库名:

1dbca -silent -deleteDatabase -sourceDB mydb

当然,使用dbca也可以进行图形界面删除,被删除的数据库也必须处于OPEN状态,否则不能删除。其实,从告警日志中可以看到,在OPEN状态下,DBCA删除数据库的过程是,首先将数据库关闭,然后启动数据库到MOUNT状态,接着执行“ALTER SYSTEM ENABLE RESTRICTED SESSION;”让数据库处于受限模式,最后执行“DROP DATABASE;”删除数据库。在删除数据库完成后,会清理文件/etc/oratab中有关被删除数据库的信息,也会删除与该数据库有关的所有的SPFILEPFILE文件。

需要注意的是,在安装有grid的主机上,如果当前数据库处于非OPEN状态,那么DBCA图形界面和静默方式不会删除和修改任何文件(/etc/oratab和参数文件);如果主机上没有安装grid,当前数据库处于非OPEN状态,那么DBCA图形界面会删除与该数据库有关的所有的SPFILEPFILE文件,但是不会删除数据文件,而DBCA静默方式依然会报错,且不会删除和修改任何文件。

(2)SQL窗口:

1ALTER DATABASE CLOSE;
2ALTER SYSTEM ENABLE RESTRICTED SESSION;
3DROP DATABASE;

或:

1STARTUP FORCE MOUNT RESTRICT;
2DROP DATABASE;

注意:强烈推荐第1种方式,对于第2种方式,若是在RAC环境中,数据库库需要设置参数CLUSTER_DATABASEFALSE后才可以执行DROP DATABASE,设置的命令为:ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SID='*' SCOPE=SPFILE;



本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗


    DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag

     本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

    ● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

     本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

     版权所有,欢迎分享本文,转载请保留出处

     QQ:646634621  QQ群:230161599、618766405

     微信:lhrbestxh

     微信公众号:DB宝

     提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训

    ● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

    长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。


    文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论