天天看点

Oracle删除(1)删除数据库

     两种删除Oracle单实例数据库的方法,各有利弊,可看情况使用。

方法一: 用drop命令删除数据库

          startup mount

          alter system enable restricted session;

          drop database;

     但这种做法仅删除数据库,没删除相关配置,没法用dbca创建同名的数据库了。

方法二:手工删除数据库

 手工删能比较干净

 1.通过SQL,找出数据库相关的数据文件,归档,控制文件将其删除

  a. 查出路径     

SELECT 'rm -f '||name as rf FROM v$datafile
		union
		SELECT 'rm -f '||name as rf FROM v$controlfile
		union
		SELECT 'rm -f '||name as rf FROM v$archived_log
		union
		SELECT 'rm -f '||name as rf FROM v$flashback_database_logfile;
           

    b. shutdown immediate;

    c. rm -f ......

 2.将存放这个数据库系统日志的目录删除

    即删除$ORACLE_BASE/admin/$ORACLE_SID下的所有目录如adump,cdump...

 3.删除dbs下的配置文件

    将orapw$ORACLE_SID.ora及参数文件(spfile),lk$ORACLE_SID等文件删除

 4.清除配置文件中这个数据库的信息

     将tnsnames.ora和listener.ora中关于这个数据库的配置信息给清了。

 5. 删除系统目录下的配置文件

    /var/opt/oracle/oratab 或 /etc/oratab 中关于这个数据库的相关内容

 6.  到$ORACLE_HOME目录下,删除所有和这个数据库相关的文件,

最后将数据库所在目录(通常为$ORACLE_HOME/oradata/$ORACLE_SID)删除。

 7.如果有设成服务,清掉服务

    例子: 

       chkconfig --del oracle

       rm -f /etc/rc.d/rc0.d/K01oracle

  rm -f /etc/rc.d/rc6.d/K01oracle

       rm -f /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle

       rm -f /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle

       rm -f /etc/rc.d/init.d/oracle

  全部清除完成。

MAIL: [email protected]

BLOG: http://blog.csdn.net/xcl168