天天看點

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