从11.2开始,提供了专门的卸载工具。
在以前的版本中,卸载数据库环境仍然是通过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]: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的补丁集中,也提供了对应的卸载工具。