Oracle完全卸载详解
Oracle数据库的安装这里就不说了,网上应该有很多,但是oracle数据库的卸载却找不到一个比较详细的完整卸载的说明。很多卸载不完全,会有遗留数据,影响后续的安装。所以自己整理一份以前上学的时候学习Oracle数据库的笔记,其中数据库的卸载部分的内容。
我们都知道Oracle数据库在Linux中的卸载比较方便,只要删除所有的安装目录就可以了,但是在Windows下的卸载就比较麻烦,会牵扯很多东西。有时候还要手动去删除,而且还有可能出现某些dll文件提示在使用,无法删除干净。
Oracle数据库的所有版本,删除大体都相同。我划分了下,大概分下面的八个部分的删除。
- 停止使用Oracle的服务。
- 运行卸载Oracle数据库程序
- 删除使用Oracle的服务。
- 删除注册表中Oracle相关项。
- 删除Oracle环境变量
- 删除“开始”菜单中Oracle目录
- 重新启动计算机
- 删除Program Files\Oracle目录
- 删除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自带的卸载程序再执行一次卸载操作。
转载 https://www.cnblogs.com/mq0036/p/4716095.html
Oracle完全卸载详解的更多相关文章
- Oracle执行计划详解
Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介: ...
- oracle表分区详解
原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...
- Oracle权限管理详解
Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...
- Java从入门到精通——数据库篇Oracle 11g服务详解
装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...
- oracle rac IP详解
rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...
- oracle tkprof 工具详解
oracle tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...
- Oracle AWR 报告详解
转自:http://blog.csdn.net/laoshangxyc/article/details/8615187 持续更新中... Oracle awr报告详解 DB Name DB Id In ...
- Oracle 11g服务详解
装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...
- Oracle表空间详解
Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...
随机推荐
- .NET 下 模拟数组越界
前面一篇文章提到过 数组越界行为,虽然编译器为我们做了大量的检查工作让我们避免这些错误. 但是我觉得还是有必要模拟一下数组越界,感受一下这个错误. 那么对于.NET来说我们怎么来模拟数组越界呢? 一. ...
- kubernetes中的Pause容器如何理解?
前几篇文章都是讲的Kubernetes集群和相关组件的部署,但是部署只是入门的第一步,得理解其中的一些知识才行.今天给大家分享下Kubernets的pause容器的作用. Pause容器 全称infr ...
- 数据库连接(1)-从JDBC到MyBatis
摘要 因为有持久层框架,和Spring的存在,越来越多的人对数据库连接这块不甚了解,只知使用方便,不知其原理.所以写一个数据库连接的系列文章,总结下本人在数据库连接方面遇到的问题,和对数据库连接的理解 ...
- 用消息队列和socket实现聊天系统
前言:最近在学进程间通信,所以做了一个小项目练习一下.主要用消息队列和socket(UDP)实现这个系统,并数据库存储数据,对C语言操作不熟悉的可以参照我的这篇博客:https://www.cnblo ...
- SmartSql Zookeeper分布式配置
安装 SmartSql.ZooKeeperConfig Install-Package SmartSql.ZooKeeperConfig Demo string connStr = "192 ...
- k8s网络之Flannel网络
k8s网络主题系列: 一.k8s网络之设计与实现 二.k8s网络之Flannel网络 三.k8s网络之Calico网络 简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划 ...
- windows环境设置mysql自动备份(测试成功)
00.背景介绍 最近做了个小程序,使用的是mysql数据库,涉及到将程序数据备份的事:虽然大部分数据库客户端工具都具有备份功能,但并不能做到定期自动备份:在Windows环境下,手工备份MySQL是很 ...
- 如何發佈一個完整Node.js Module
本文會透過以下幾個段落,讓各位一步一步學習如何寫一個自已的Node.js Module並且發佈到npm package上 Node.js Module 結構 我們先建立一個 NodeModuleDem ...
- Spring入门(三):通过JavaConfig装配bean
上一篇博客中,我们讲解了使用组件扫描和自动装配实现自动化装配bean,这也是最好的使用方式. 但是某些场景下,我们可能无法使用自动装配的功能,此时就不得不显式的配置bean. 比如我们引用了一个第三方 ...
- 【spring实战第五版遇到的坑】4.2.3中LDAP内嵌服务器不启动的问题
按照4.2.3中的指导一步一步的去做,在登录界面进行登录时,报错了,报错信息是LDAP服务器连接不上. 后来查了一些资源发现还需要加入一些其他的依赖,如下: <dependency> &l ...