兩種删除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