从11.2开始,Oracle提供了专门的卸载工具。
在以前的版本中,卸载数据库环境仍然是通过Oracle的安装软件来完成,不过从11.2开始,Oracle提供了一个专门的文件来卸载数据库软件:
bash-3.00$ unzip solaris.sparc64_11gR2_deinstall.zip
卸载工具不需要图形化的帮助,直接在shell中就可以运行:
bash-3.00$ cd deinstall/
bash-3.00$ deinstall -home $ORACLE_HOME
ORACLE_HOME = /data/oracle/product/11.2
Location of logs /data/deinstall/logs/
############ ORACLE DEINSTALL & DECONFIG TOOL START ############
######################## CHECK OPERATION START ########################
安装检查配置开始
检查Oracle主目录位置是否存在/data/oracle/product/11.2
选择进行卸载的Oracle主目录类型为: SIDB
选择进行卸载的Oracle基目录为: /data/oracle
检查主产品清单位置是否存在/data/oraInventory
安装检查配置结束
网络配置检查配置开始
网络取消配置跟踪文件位置: /data/deinstall/logs/netdc_check17186.log
指定要取消配置的所有单实例监听程序[LISTENER]:
网络配置检查配置结束
数据库检查配置开始
数据库取消配置跟踪文件位置: /data/deinstall/logs/databasedc_check17187.log
指定值列表作为输入时使用逗号作为分隔符
指定在此Oracle主目录中配置的数据库名的列表[ora112]:
######对于数据库'ora112' ######
单实例数据库
数据库的诊断目标位置: /data/oracle/diag/rdbms/ora112
数据库使用的存储类型: FS
数据库文件位置: /data/oracle/oradata/ora112
快速恢复区位置:不存在
数据库spfile位置: /data/oracle/product/11.2/dbs/spfileora112.ora
已自动搜索到数据库ora112的详细资料。是否仍要修改ora112数据库的详细资料? [n]: y
######对于数据库'ora112' ######
指定此数据库(1.单实例数据库|2.启用Oracle Restart的数据库)的类型[1]:
指定数据库的诊断目标位置[/data/oracle/diag/rdbms/ora112]:
指定数据库ASM|FS使用的存储类型[FS]:
如果有任何数据库文件存在于共享文件系统上,请指定目录的列表。如果找到了'ora112'子目录,则将删除该子目录。否则将删除指定的目录。此外,可以指定带有完整路径的数据库文件的列表[/data/oracle/oradata/ora112]:
如果在文件系统上配置了快速恢复区,请指定其位置。如果找到了'ora112'子目录,则将删除该子目录。[]:
指定数据库spfile位置[/data/oracle/product/11.2/dbs/spfileora112.ora]:
数据库检查配置结束
Enterprise Manager Configuration Assistant START
EMCA取消配置跟踪文件位置: /data/deinstall/logs/emcadc_check.log
检查数据库ora112的配置
Enterprise Manager Configuration Assistant END
Oracle Configuration Manager check START
OCM check log file location : /data/deinstall/logs//ocm_check3002.log
Oracle Configuration Manager check END
######################### CHECK OPERATION END #########################
####################### CHECK OPERATION SUMMARY #######################
选择进行卸载的Oracle主目录为: /data/oracle/product/11.2
Oracle主目录注册到的产品清单位置为: /data/oraInventory
将取消配置以下单实例监听程序: LISTENER
已选中以下数据库来取消配置: ora112
数据库唯一名称: ora112
已用存储: FS
将为以下数据库更新Enterprise Manager配置: ora112
没有要更新的Enterprise Manager ASM目标
没有要移植的Enterprise Manager监听程序目标
Checking the config status for CCR
Oracle Home exists with CCR directory, but CCR is not configured
CCR check is finished
是否继续(y -是, n -否)? [n]: y
此会话的日志将写入: '/data/deinstall/logs/deinstall_deconfig2010-12-08_04-05-12-PM.out'
此会话的任何错误消息都将写入: '/data/deinstall/logs/deinstall_deconfig2010-12-08_04-05-12-PM.err'
######################## CLEAN OPERATION START ########################
Enterprise Manager Configuration Assistant START
EMCA取消配置跟踪文件位置: /data/deinstall/logs/emcadc_clean.log
更新数据库ora112的Enterprise Manager Database Control配置
更新Enterprise Manager ASM目标(如果有)
更新Enterprise Manager监听程序目标(如果有)
Enterprise Manager Configuration Assistant END
数据库取消配置跟踪文件位置: /data/deinstall/logs/databasedc_clean17188.log
数据库清除配置开始ora112
此操作可能需要持续几分钟。
数据库清除配置结束ora112
网络配置清除配置开始
网络取消配置跟踪文件位置: /data/deinstall/logs/netdc_clean17189.log
取消配置单实例监听程序: LISTENER
取消配置监听程序: LISTENER
停止监听程序: LISTENER
警告:无法停止监听程序。监听程序可能未运行。
删除监听程序: LISTENER
监听程序已成功删除。
监听程序已成功取消配置。
正在取消配置备份文件...
备份文件已成功取消配置。
网络配置已成功清除。
网络配置清除配置结束
Oracle Configuration Manager clean START
OCM clean log file location : /data/deinstall/logs//ocm_clean3002.log
Oracle Configuration Manager clean END
Oracle Universal Installer清除开始
从本地节点上的主产品清单中分离Oracle主目录'/data/oracle/product/11.2' :完成
删除本地节点上的目录'/data/oracle/product/11.2' :完成
删除本地节点上的目录'/data/oraInventory' :完成
将不会删除本地节点上的Oracle基目录'/data/oracle'。该目录不为空。
Oracle Universal Installer清除成功。
Oracle Universal Installer清除结束
Oracle安装清除开始
清除安装操作将在节点'ractest1'上删除临时目录'/var/tmp//install'
Oracle安装清除结束
已将默认属性文件/data/deinstall/response/deinstall_OraDb11g_home1.rsp作为/data/deinstall/response/deinstall_OraDb11g_home1.rsp0移动
######################### CLEAN OPERATION END #########################
####################### CLEAN OPERATION SUMMARY #######################
已更新数据库ora112的Enterprise Manager配置
已成功取消配置以下数据库实例: ora112
以下单实例监听程序已成功取消配置: LISTENER
Cleaning the config for CCR
As CCR is not configured, so skipping the cleaning of CCR configuration
CCR clean is finished
已成功地从本地节点上的主产品清单中分离Oracle主目录'/data/oracle/product/11.2'。
已成功地删除本地节点上的目录'/data/oracle/product/11.2'。
已成功地删除本地节点上的目录'/data/oraInventory'。
Oracle Universal Installer清除成功。
当会话结束时在节点'ractest1'上以root用户身份运行'rm -rf /var/opt/oracle/oraInst.loc'。
Oracle安装程序已成功清除临时目录。
#######################################################################
############# ORACLE DEINSTALL & DECONFIG TOOL END #############
可以看到Oracle将卸载单独做成一个工具还是有一定道理的,从Oracle执行的步骤就可以看到,如果是用户手工执行卸载,基本上不太可能考虑的这么细致。而且Oracle的文档自古以来重安装而轻卸载,但是对于复杂的环境而言,卸载不干净同样会留下很大的隐患。
最后提一句,采用这种方式卸载软件,Oracle会利用DROP DATABASE方式来删除数据库,所有的数据文件、日志文件都会删除。
在11.2.0.2的补丁集中,也提供了对应的卸载工具。
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html