从Oracle 11gR2开始,Oracle推荐使用deinstall来卸载Oracle数据库。使用Oracle Universal Install(OUI) 的图形方式来卸载Oracle数据库软件了,会看到下图警告:
"请运行命令D:\app\admin\product\11.2.0\dbhome_1\deinstall\deinstall"来卸载此Oracle主目录"
Oracle卸载工具 - deinstall 的介绍:http://docs.oracle.com/cd/E11882_01/install.112/e24186/deinstall.htm
The deinstall
command uses the information you provide and the information gathered from the software home to create a parameter file. Alternatively, you can supply a parameter file generated previously by the deinstall
command using the –checkonly
option, or by editing the response file template.
The deinstall
tool stops Oracle software, and removes Oracle software and configuration files on the operating system for a specific Oracle home.
Example of Running the Deinstall Command
- D:\app\admin\product\11.2.0\dbhome_1\deinstall>deinstall.bat -paramfile D:\app\admin\product\11.2.0\dbhome_1\deinstall\response\deinstall.rsp.tmpl
- Checking for required files and bootstrapping ...
- Please wait ...
- 复制了 14 个文件
- 复制了 793 个文件
- 已复制 1 个文件。
- 已复制 1 个文件。
- Location of logs C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\
-
- ############ ORACLE DEINSTALL & DECONFIG TOOL START ############
-
- 使用属性文件 D:\app\admin\product\11.2.0\dbhome_1\deinstall\response\deinstall.rsp.tmpl
-
- ######################## CHECK OPERATION START ########################
- 安装检查配置开始
- 为要卸载的 Oracle 主目录 'd:\app\admin\product\11.2.0\dbhome_1' 指定有效的主产品清单位置:
-
-
- 检查 Oracle 主目录位置是否存在 d:\app\admin\product\11.2.0\dbhome_1
- 选择进行卸载的 Oracle 主目录类型为: SIDB
- 选择进行卸载的 Oracle 基目录为: d:\app\admin
- 检查主产品清单位置是否存在
-
- 安装检查配置结束
-
- 检查 Windows 和 .NET 产品配置开始
-
-
- 以下 Windows 和 .NET 产品将从 Oracle 主目录取消配置:asp.net,ode.net,odp.net,ntoledb,oramts,oo4o
-
- 检查 Windows 和 .NET 产品配置结束
-
-
- 网络配置检查配置开始
-
- 网络取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\netdc_check8571192068625526846.log
-
- 网络配置检查配置结束
-
- 数据库检查配置开始
-
- 数据库取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\databasedc_check8600159640842540399.log
-
- 指定值列表作为输入时使用逗号作为分隔符
-
- 指定在此 Oracle 主目录中配置的数据库名的列表 []:
- 数据库检查配置结束
-
- Enterprise Manager Configuration Assistant START
-
- EMCA 取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\emcadc_check.log
-
- Enterprise Manager Configuration Assistant END
- Oracle Configuration Manager check START
- OCM check log file location : C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\\ocm_check7727.log
- Oracle Configuration Manager check END
-
- ######################### CHECK OPERATION END #########################
-
-
- ####################### CHECK OPERATION SUMMARY #######################
- 选择进行卸载的 Oracle 主目录为: d:\app\admin\product\11.2.0\dbhome_1
- Oracle 主目录注册到的产品清单位置为:
- 以下 Windows 和 .NET 产品将从 Oracle 主目录取消配置:asp.net,ode.net,odp.net,ntoledb,oramts,oo4o
- 对于任何数据库, 没有要更新的 Enterprise Manager 配置
- 没有要更新的 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
- 此会话的日志将写入: 'C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\deinstall_deconfig2013-07-08_02-49-57-PM.out'
- 此会话的任何错误消息都将写入: 'C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\deinstall_deconfig2013-07-08_02-49-57-PM.err'
-
- ######################## CLEAN OPERATION START ########################
-
- Enterprise Manager Configuration Assistant START
-
- EMCA 取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\emcadc_clean.log
-
- 更新 Enterprise Manager ASM 目标 (如果有)
- 更新 Enterprise Manager 监听程序目标 (如果有)
- Enterprise Manager Configuration Assistant END
- 数据库取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\databasedc_clean2311212304328943730.log
-
- 网络配置清除配置开始
-
- 网络取消配置跟踪文件位置: C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\netdc_clean4566882679623591178.log
-
- 正在取消配置备份文件...
- 备份文件已成功取消配置。
-
- 网络配置已成功清除。
-
- 网络配置清除配置结束
-
- Oracle Configuration Manager clean START
- OCM clean log file location : C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\logs\\ocm_clean7727.log
- Oracle Configuration Manager clean END
- 删除 Windows 和 .NET 产品配置开始
-
-
- 删除 Windows 和 .NET 产品配置结束
- Oracle Universal Installer 清除开始
-
- 从本地节点上的主产品清单中分离 Oracle 主目录 'd:\app\admin\product\11.2.0\dbhome_1' : 完成
-
- ...
- ...
- 无法删除目录 'd:\app\admin\product\11.2.0\dbhome_1\dbs'。该目录不为空。
- 无法删除目录 'd:\app\admin\product\11.2.0\dbhome_1\deinstall'。该目录正在使用中。
- 无法删除目录 'd:\app\admin\product\11.2.0\dbhome_1'。该目录不为空。
- 删除本地节点上的目录 'd:\app\admin\product\11.2.0\dbhome_1' : 失败 <<<<
-
- 删除本地节点上的目录 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle - OraDb11g_home1' : 完成
-
- 从本地节点上的 PATH 变量中删除 oracle 主目录 'd:\app\admin\product\11.2.0\dbhome_1' : 完成
-
- 删除本地节点上的目录 'C:\Program Files\Oracle\Inventory' : 完成
-
- 删除本地节点上的目录 'C:\Program Files\Oracle' : 完成
-
- 删除本地节点上的注册表键 'HKEY_LOCAL_MACHINE\Software\Oracle\inst_loc' : 完成
- ...
- ...
- 无法删除目录 'd:\app\admin\product\11.2.0\dbhome_1'。该目录不为空。
- 无法删除目录 'd:\app\admin\product\11.2.0'。该目录不为空。
- 无法删除目录 'd:\app\admin\product'。该目录不为空。
- 无法删除目录 'd:\app\admin'。该目录不为空。
- 删除本地节点上的目录 'd:\app\admin' : 失败 <<<<
-
- Oracle Universal Installer 清除已完成, 但出现错误。
-
- Oracle Universal Installer 清除结束
-
-
- Oracle 安装清除开始
-
-
- Oracle 安装清除结束
-
- 已将默认属性文件 C:\Users\admin\AppData\Local\Temp\OraDeinstall周一-07-08_14-47-27\response\deinstall_OraDb11g_home1.rsp 作为 C:\Users\admin\AppData\Local\Temp\OraDeinsta
- ll周一-07-08_14-47-27\response\deinstall_OraDb11g_home1.rsp3 移动
-
- ######################### CLEAN OPERATION END #########################
-
-
- ####################### CLEAN OPERATION SUMMARY #######################
- 无法更新具有前缀 LISTENER 的监听程序的 Enterprise Manager 目标
- Cleaning the config for CCR
- As CCR is not configured, so skipping the cleaning of CCR configuration
- CCR clean is finished
- Removed asp.net configuration
- Removed ode.net configuration
- Removed odp.net configuration
- Removed ntoledb configuration
- Removed oramts configuration
- Removed oo4o configuration
- 已成功地从本地节点上的主产品清单中分离 Oracle 主目录 'd:\app\admin\product\11.2.0\dbhome_1'。
- 无法删除本地节点上的目录 'd:\app\admin\product\11.2.0\dbhome_1'。
- 已成功地删除本地节点上的目录 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle - OraDb11g_home1'。
- 已成功从本地节点上的 PATH 变量中删除 oracle 主目录 'd:\app\admin\product\11.2.0\dbhome_1'。
- 已成功地删除本地节点上的目录 'C:\Program Files\Oracle\Inventory'。
- 已成功地删除本地节点上的目录 'C:\Program Files\Oracle'。
- 已成功地删除本地节点上的注册表键 'HKEY_LOCAL_MACHINE\Software\Oracle\inst_loc'。
- 无法删除本地节点上的目录 'd:\app\admin'。
- Oracle Universal Installer 清除已完成, 但出现错误。
-
- Oracle 安装程序已成功清除临时目录。
- #######################################################################
-
-
- ############# ORACLE DEINSTALL & DECONFIG TOOL END #############
-
- 移动了 1 个目录。
- 移动了 1 个目录。
- 移动了 1 个目录。
-
- D:\app\admin\product\11.2.0\dbhome_1\deinstall>
------------------------------------------------------------------------------------------------------
卸载完成后,Oracle文件目录下仍有oci.dll无法删除,重启计算机后删除即可。
如果deinstall遇到了麻烦,也可以考虑手工删除Oracle数据库,方法如下:
第一步:停用全部oracle服务
第二步:删除oracle注册表
运行regedit在如下路径中找到oracle相关键值,删除
HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
第三步:删除物理文件,有如下两个文件夹(有dll等文件正在使用请跳过该文件)
1、x:\app\... 此目录为默认oracle安装主目录,连通app全删掉。
2、x:\Program Files\Oracle\... 此目录为inventory内容连同oracle全部删除掉。
第四步:删除系统变量Path中的oracle变量
第五步:重启,然后删除第三步中未删掉内容