手工刪除oracle資料庫

dawn009發表於2014-10-17
手工刪除oracle資料庫:
$lsnrctl stop
$emctl stop dbconsole
$sqlplus / as sysdba;

確定控制檔案位置:
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/ywdata/lis/control01.ctl
/ywdata/lis/control02.ctl
/ywdata/lis/control03.ctl

確定資料檔案位置:
SQL> select name from v$dbfile;

NAME
--------------------------------------------------------------------------------
/ywdata/lis/system01.dbf
/ywdata/lis/sysaux01.dbf
/ywdata/lis/undotbs01.dbf
/ywdata/lis/LIS01.dbf
/ywdata/lis/LIS02.dbf
/ywdata/lis/LIS03.dbf
/ywdata/lis/users01.dbf
/ywdata/lis/LIS04.dbf
/ywdata/lis/goldengate01.dbf

確定日誌檔案位置:
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/ywlog/lis/redo01a.log
/ywlog/lis/redo01b.log
/ywlog/lis/redo02a.log
/ywlog/lis/redo02b.log
/ywlog/lis/redo03a.log
/ywlog/lis/redo03b.log

確定歸檔日誌位置:
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /ywarch
Oldest online log sequence     248
Next log sequence to archive   250
Current log sequence           250

SQL> shutdown abort;
SQL> startup mount exclusive restrict;
刪除資料庫,會自動刪除控制檔案、資料檔案和日誌檔案,及其快閃記憶體區檔案:
SQL> drop database;

SQL> exit
$ rm -rf $ORACLE_BASE/admin/$ORACLE_SID
$ rm -rf /orahome/oradata/$ORACLE_SID    --刪除資料庫檔案所在目錄,可能有多個目錄
$ rm -rf /orahome/arch1/$ORACLE_SID    --刪除歸檔檔案所在目錄和檔案,可能有多個目錄
$ rm -rf /orahome/flash_recovery_area/$ORACLE_SID    --刪除快閃記憶體區目錄
$ rm $ORACLE_HOME/dbs/*$ORACLE_SID*    --刪除密碼檔案和lk等檔案
如果有必要,還可以刪除listener.ora、tnsnames.ora和sqlnet.ora:
$ rm $TNS_ADMIN/*.ora

$ rm $ORACLE_HOME/network/admin/*.ora
修改oratab檔案和.bash_profile(使用bash的情況下)檔案:
$ vi /etc/oratab    --去掉例項相關的設定
$ vi ~/.bash_profile    --去掉例項相關的設定

現在該庫的例項和物理檔案都清除乾淨了,已經和沒建庫前一樣了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1302043/,如需轉載,請註明出處,否則將追究法律責任。

相關文章