两种删除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