如何手工删除oracle数据库和软件
有时候,有可能在dbca图形界面中找不到要删除的库,特别是standby库,默认没有在/ora/etctab里设置,只有手工删除了。假设不关心EM和iSQLPLUS相关的文件。
$ lsnrctl stop
$ sqlplus ‘/as sysdba’
SQL> select * from v$controlfile; --确定控制文件所在位置
SQL> select * from v$dbfile; --确定数据文件所在位置
SQL> select * from v$logfile; --确定日志文件所在位置
SQL> archive log list; --确定归档文件所在位置
SQL> shutdown abort;
SQL> startup mount exclusive restrict;
SQL> drop database; --会自动删除控制文件、数据文件和日志文件,及其闪存区文件
SQL> exit
$ rm -rf O R A C L E B A S E / a d m i n / ORACLE_BASE/admin/ ORACLEBASE/admin/ORACLE_SID
$ rm -rf /orahome/oradata/$ORACLE_SID --删除数据库文件所在目录,可能有多个目录
$ rm -rf /orahome/arch1/$ORACLE_SID --删除归档文件所在目录和文件,可能有多个目录
$ rm -rf /orahome/flash_recovery_area/$ORACLE_SID --删除闪存区目录
$ rm O R A C L E H O M E / d b s / ∗ ORACLE_HOME/dbs/* ORACLEHOME/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 --去掉实例相关的设置
现在该库的实例和物理文件都清除干净了,已经和没建库前一样了。
二、手工删oracle软件(Linux下)
1、删除oraInventory目录,目录位置记录在/etc/oraIns.loc文件中
2、删除$ORACLE_HOME目录
3、删除其它oracle文件,包括
/usr/local/bin/oraenv
/usr/local/bin/coraenv
/usr/local/bin/dbhome
/etc/oraInst.loc
/etc/oratab
/var/tmp/.oracle目录
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24179204/viewspace-2127325/,如需转载,请注明出处,否则将追究法律责任。