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自带的卸载程序再执行一次卸载操作。

转载 https://www.cnblogs.com/mq0036/p/4716095.html

Oracle完全卸载详解的更多相关文章

  1. Oracle执行计划详解

    Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介:   ...

  2. oracle表分区详解

    原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...

  3. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

  4. Java从入门到精通——数据库篇Oracle 11g服务详解

    装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...

  5. oracle rac IP详解

    rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...

  6. oracle tkprof 工具详解

    oracle  tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...

  7. Oracle AWR 报告详解

    转自:http://blog.csdn.net/laoshangxyc/article/details/8615187 持续更新中... Oracle awr报告详解 DB Name DB Id In ...

  8. Oracle 11g服务详解

    装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...

  9. Oracle表空间详解

    Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

随机推荐

  1. 万能的Python,还能用来制作高大上的进度条?

    对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到哪一步了呢? ...

  2. 【视频】ASP.NET Core MVC 2.* 入门

    比较初级的入门教程,网址在B站:https://www.bilibili.com/video/av33728783/ 内容如下: 1. ASP.NET Core 简介和开发工具 2. ASP.NET ...

  3. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯..前面 ...

  4. 如何在ASP.NET Core程序启动时运行异步任务(1)

    原文:Running async tasks on app startup in ASP.NET Core (Part 1) 作者:Andrew Lock 译者:Lamond Lu 背景 当我们做项目 ...

  5. 禁用 Chrome 的黑色模式/Dark Mode

    macOS Mojave 中引入了系统层面的黑色模式,Chrome 73 在应用中支行了这一模式,即系统设置为黑色模式时,Chrome 会自动适应切换到 Dark Mode. Chrome 跟随系统设 ...

  6. 小议 localStorage

    前言 什么是 localStorage? 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条co ...

  7. Golang 入门 : 映射(map)

    映射是一种数据结构,用于存储一系列无序的键值对,它基于键来存储值.映射的特点是能够基于键快速检索数据.键就像是数组的索引一样,指向与键关联的值.与 C++.Java 等编程语言不同,在 Golang ...

  8. SpringBoot基础系列-SpringCache使用

    原创文章,转载请标注出处:<SpringBoot基础系列-SpringCache使用> 一.概述 SpringCache本身是一个缓存体系的抽象实现,并没有具体的缓存能力,要使用Sprin ...

  9. 学习day01

    1.web C/S:Client Server 客户端 服务器 QQ,... B/S:Browser Server 浏览器 服务器 PC机:Personal Computer 个人电脑 2.HTML ...

  10. Postman学习之【压力测试】

    Postman请自行下载 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求.点击Send发送请求,请求结果将会在下方显示出来.每次的请求历史数据,会被记录下来,但是经 ...