从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