Oracle完全卸载详解

Oracle数据库的安装这里就不说了,网上应该有很多,但是oracle数据库的卸载却找不到一个比较详细的完整卸载的说明。很多卸载不完全,会有遗留数据,影响后续的安装。所以自己整理一份以前上学的时候学习Oracle数据库的笔记,其中数据库的卸载部分的内容。

我们都知道Oracle数据库在Linux中的卸载比较方便,只要删除所有的安装目录就可以了,但是在Windows下的卸载就比较麻烦,会牵扯很多东西。有时候还要手动去删除,而且还有可能出现某些dll文件提示在使用,无法删除干净。

Oracle数据库的所有版本,删除大体都相同。我划分了下,大概分下面的八个部分的删除。

  1. 停止使用Oracle的服务。
  2. 运行卸载Oracle数据库程序
  3. 删除使用Oracle的服务。
  4. 删除注册表中Oracle相关项。
  5. 删除Oracle环境变量
  6. 删除“开始”菜单中Oracle目录
  7. 重新启动计算机
  8. 删除Program Files\Oracle目录
  9. 删除Oracle安装目录

1.停止使用Oracle的服务

停用oracle服务,进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止

2.运行卸载Oracle数据库程序

一般情况运行Oracle自带的卸载程序,如使用 Universal Installer 工具卸载。

3.删除使用Oracle的服务。

开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品,在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除,根据软件提示单击下一步最终完成卸载。

4.删除注册表中Oracle相关项

在命令窗口,输入regedit,打开注册表,依次展开HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle,删除之。

依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,删除所有oracle开头的项。

依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有oracle开头的项;

扩展删除(以下不是必须的注册表删除项),如果安装不成功可以自己也把这些删除了

在HKEY_CLASSES_ROOT,删除以Ora、Oracle、Orcl或EnumOra为前缀的键
删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs中所有以oracle开头的键。
删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。

5.删除Oracle环境变量

右键点击我的电脑-->属性-->高级-->环境变量,删除环境变量ORACLE_HOME、TNS_ADMIN等环境变量,删除PATH中等环境变量有关Oracle的设定的路径信息

6.删除“开始”菜单中Oracle目录

打开资源管理器,在地址栏中输入“%userprofile%\「开始」菜单\程序”回车,删除安装的Oracle目录

然后再到地址栏中输入“%allusersprofile%\「开始」菜单\程序”回车,删除安装的Oracle目录

7.重新启动计算机

重启电脑,我就不说了吧。

8.删除Program Files\Oracle目录

如果在Program Files\Oracle目录存在,则删除Program Files\Oracle目录。

9.删除Oracle安装目录

删除Oracle的安装目录app等目录。

以上参考出处:

http://jingyan.baidu.com/article/922554468d4e6b851648f4e3.html

http://blog.itpub.net/30029358/viewspace-1341890/


 

以上所说的删除项,都是在存在的前提下再删除,如果不存在则不需要删除。虽然删除也都说了,但是手动挡一条一条的去删除还是比较麻烦的,所以我制作一个删除的脚本,按照以上的步骤进行删除。

我为了测试删除,我自己安装了Oracle 11g Express Edition的数据库,所以下面我以11gXE数据库的删除为例,以供大家使用。

声明:该脚本为bat程序,你必须修改部分路径信息和项才能使用,脚本是以卸载11gXE数据库的删除为例写的,可能会有很多不足之处。

@echo off

echo 开始停止Oracle相关服务
pause
net stop OracleJobSchedulerXE
net stop OracleMTSRecoveryService
net stop OracleServiceXE
net stop OracleXEClrAgent
net stop OracleXETNSListener

rem  sc delete 删除Oracle的相关服务
echo.
echo 开始删除Oracle服务
pause
sc delete OracleJobSchedulerXE
sc delete OracleMTSRecoveryService
sc delete OracleServiceXE
sc delete OracleXEClrAgent
sc delete OracleXETNSListener

echo.
echo 开始删除Oracle注册表
pause
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE /f 
rem reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下与Oracle服务相关的选项。
rem reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application

echo.
echo 开始删除Oracle环境变量
pause
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v ORACLE_HOME /f
echo 环境变量ORACLE_HOME已删除
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v TNS_ADMIN /f 
echo 环境变量TNS_ADMIN已删除
echo 环境变量PATH请手动删除oracle的路径信息
msg * 环境变量PATH请手动删除oracle的路径信息


echo.
echo 开始删除“开始”菜单中Oracle目录
pause
rd /S /Q  "%allusersprofile%\「开始」菜单\程序\Oracle Database 11g Express Edition"


rem 重新启动计算机
echo @echo off>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo echo.>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo echo 删除Windows系统安装磁盘中的Program Files\Oracle 目录>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo pause>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo rd /S /Q "%programfiles%\Oracle">>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo echo.>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo echo 删除Oracle安装目录>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo pause>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo rd /S /Q "C:\oraclexe">>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo ping 127.0.0.1^>nul>>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo del /q "%userprofile%\「开始」菜单\程序\启动\1.bat">>"%userprofile%\「开始」菜单\程序\启动\1.bat"
echo.
set /p a=需要重启电脑完成卸载,是否现在重启电脑?(Y/N)
if /i  "%a%"=="y" shutdown -f -r -t 0

 运行以上脚本并重启之后,最好在使用Oracle自带的卸载程序再执行一次卸载操作。

=

posted on 2015-08-09 19:29  jack_Meng  阅读(88919)  评论(2编辑  收藏  举报

导航