步骤1:停止Oracle服务
在卸载Oracle 组件之前,首先必须停止Oracle服务。具体方法:打开管理工具,选择服务,停止以OracleOra开头的且处于已启动状态的每个Oracle服务,然后退出服务
步骤2:用Database Configuration AssistantDBCA卸载数据库
使用该方法可将数据库连同其物理文件和目录全部删除(可选)。
如果在卸载数据库过程中,由于意外或其他原因,没有成功卸载数据库,则没有删除数据库文件及其相应的OracleService对此采用手工命令方式删除OracleService,并在资源管理器中直接删除该数据库所在的目录删除OracleService的方法是:在使用Oracle Database Configuration AssistantDBCA卸载完数据库之后,通过oradim工具删除数据库实例服务。注意,删除数据库之前不可先删除实例服务;否则,在使用Oracle Database Configuration AssistantDBCA删除或卸载数据库时,会不到所要卸载的数据库。
使用oradim命令删除实例服务的具体命令格式如下:
oradim-delete-sid
若无意中删除了OracleService且没有卸载数据库文件,则可重建OracleService。重建OracleService的具体方法是,通过指定以下参数创建例程:
oradim -new -sid sid-srvc service[-intpwd password][-maxusers number]
[-startmode am][-pfile file][-timeout secs]
其中参数说明如下:
  •new:建立新实例服务。
  •sid:定义实例标识。
  •intpwd:指定特权用户sys的口令。其中,特权用户是指有启动、关闭Oracle Server以及建立数据等特权的用户。
  •startmode:指定实例服务的启动模式,默认值是a(自动启动),否则为m(手动启动)
  •pfile:指定实例所对应的参数文件。通常,该参数文件事先应建立起来。可通过复制、修改的形式建立。
例如:若删除了OracleServicetest,可在DOS提示符中进入d:\ oracle\product\10.2.0
\db_1\BIN目录,输入以下命令:
oradim -new -sid test -intpwd china -startmode auto -pfile
d:\oracle\product\10.2.0\admin\test\a.6192006134030
这样实例服务OracleServicetest又被重新建立起来。一旦创建了服务,系统自动将服务的参
数添加到注册表中。在注册表的hkey_local_machine\system\currentcontrolset \services目录下存储Oracle服务信息。
步骤3:使用Oracle Universal Installer卸载Oracle组件
在全部停止了Oracle服务后,启动Oracle Universal Installer,选择卸装产品按钮,然后选中要卸载的组件并单击删除按钮。
步骤4:手工卸载剩余的Oracle数据库组件
Oracle Universal Installer不能卸载所有组件,还需手工删除剩余的注册信息、环境变量、启动菜单选项以及文件目录。
1)删除自动存储管理实例+ASM
如果创建了自动存储管理实例,则还需对其进行删除。实例+ASM的删除是在数据库被卸载之后完成的,因此必须完成下列步骤:
1)在Windows命令窗口提示符中,设置oracle_sid环境变量为+ASM实例:
set oracle_sid=+ASM
2)启动SQL*Plus并以sys用户连接到自动存储管理+ASM实例:
sqlplus sys/as sysdba
3)使用下列命令来确定是否有数据库实例正在使用自动存储管理实例+ASM
SQL>select instance_name from v$asm_client;
该命令结果列出所有正在运行并使用+ASM实例的数据库实例。只要+ASM包含正在支持的数据库实例,就不能删除该+ASM实例。
4)如果没有与+ASM相关联的数据库实例,则删除与该实例相关联的磁盘组。
首先,识别与+ASM相关联的磁盘组:
SQL>select name from v$asm_diskgroup;
其次,用下列命令删除每个要删除的磁盘组:
SQL>drop diskgroupincluding contents;
5)关闭+ASM实例并退出SQL*Plus
SQL>shutdown
SQL>exit
6)在命令提示符中输入下列命令,删除+ASM服务:
oradim -delete -asmsid +ASM
2)从Microsoft注册表中删除Oracle注册信息
Oracle Universal Installer在安装期间为Oracle组件创建了Windows服务,但在卸载期间并不能删除由Oracle Net Configuration AssistantOracle Database Configuration Assistant等创建的所有服务,另外,Oracle Universal Installer不能单独删除其他注册信息,只有通过手工方式才能完全删除这些注册信息。具体步骤如下:
步骤1:以管理员组成员身份登录,并确认已经停止了所有Oracle服务。
步骤2:在MS-DOS命令提示符中输入命令:regedit
步骤3:定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services并删除 Oracle<Home_Name>TNSListener注册项,Oracle Universal Installer自动删除所有其他Oracle Net服务。
步骤4:定位到HKEY_CLASSES_ROOT
步骤5:删除以Ora Oracle OrclEnumOra.开头的项,这些键值包括以下列开头的所有项:
  •EnumOraHomes
  •OracleConfig
  •OracleDatabase
  •OracleHome
  •OracleInProcServer
  •OracleProcess
  •ORADC
  •ORAMMCCFG10
  •ORAMMCPMON10
  •OraOLEDB
  •OraPerfMon
  •ORCLMMC
  •ORCLSSO
步骤6:定位到HKEY_CURRENT_USER,删除ORACLE键。
步骤7:定位到HKEY_CURRENT_USER\Software
步骤8:删除所有Oracle键,包括在Microsoft\Windows\CurrentVersion\Explorer
\MenuOrder\StartMenu\Programs下的Oracle-<Home_Name>
步骤9:定位于HKEY_LOCAL_MACHINE\SOFTWARE并查Oracle组键。
注意 Oracle组键中inst_loc键值,该值是Oracle Universal Installer 的默认位置,其默认位置是c:\ProgramFiles\Oracle\Inventory。如果不是默认的值,则该值应稍后再删除。删除ORACLE组键。
步骤10:转到HKEY_LOCAL_MACHINE\SOFTWARE\ODBC。展开ODBC下的子键并删除所有与Oracle有关的ODBC驱动键值。
步骤11:转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。删除该分支下以OracleOraWeb开头的所有键值。
步骤12:转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
\Application。删除该分支下以Oracle开头的所有键值。
步骤13:关闭注册表并重新启动机器。
如果忘记具体定位的位置,可以在注册表的菜单中,使用功能。例如,选择编辑”→“,在查目标一栏中输入“Ora”,单击确定按钮,即可查到所有与Oracle有关的键值。
3)修改环境变量path
检查环境变量path并删除任何Oracle项:
步骤1:从控制面板中打开系统
步骤2:在系统属性对话框中,单击高级”→“环境变量按钮。
步骤3:删除系统环境变量path中任何与Oracle有关的路径。对已安装的JRE路径也要删除。
步骤4:若存在为Oracle设置的CLASSPATH环境变量,则删除。
步骤5:若有任何其他Oracle环境变量的设置,如Oracle_HomeOracle_SidTns_AdminJserVWv_gateway_cfg,亦删除。
步骤6:保存并退出控制面板,如图1-8和图1-9所示。
 
1-8系统属性图 
 1-9环境变量
4)从开始菜单中删除Oracle
5)删除Oracle目录
当删除了所有Oracle 注册信息并重新启动计算机后,就可删除任何已存在的Oracle目录和文件。使用Windows资源管理器删除下列目录:
  oracle客户端卸载步骤删除C:\Program Files\Oracle目录。
  删除主机上所安装的Oracle目录,如D:\oracle\product\10.2.0
C:\Documents and Settings\<user_name>\Local Settings\Temp删除任何Oracle临时目录。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。