彻底卸载oracle

彻底卸载Oracle

Oracle Database 10g数据库系统的卸载与安装同等重要。怎样将Oracle系统完全卸载又不影响操作系统的使用是许多用户所关心的问题。不同版本Oracle的卸载方法基本相同。

卸载Oracle的方式有三种:不完全安装的手工卸载;单独组件的卸载;数据库安装后的完全卸载。

1.5.1不完全安装的手工卸载

不完全安装是由于下列几种原因造成的,此时可选择手工卸载:

  ·安装时,系统正在复制文件,用户选择了“取消”。

  ·安装时关闭了计算机电源。

  ·因必要的配置工具在安装后期没有运行而导致未完成安装。

在此情况下,Oracle Universal Installer没有将安装信息完全注册到注册表中,但文件可能已经被复制到Oracle目录中,因此可手工卸载这些文件并重新启动安装。如果不是因为这种不完全安装,一般不推荐手工卸载Oracle方式。

1.5.2 单独组件的卸载

这种卸载就是将系统中已经安装的个别组件卸掉。方法是:在程序组中的Oracle Installation Products中,启动Universal Installer并在启动的画面中选择“卸装产品”按钮,从中选择要卸载的产品组件,并删除即可。

1.5.3 安装后的完全卸载

Oracle Database 10g服务器的卸载分为三部分:Oracle集群同步服务(Cluster Synchronization Services)、Oracle HTML DB和Oracle数据库及其所有组件。

1.卸载Oracle集群同步服务

如果第一次安装Oracle Database 10g并选择自动存储管理(ASM)作为存储和恢复选项,Oracle Universal Installer则会配置创建并启动Oracle集群同步服务OracleCSService;若没有选择自动存储管理,则可删除OracleCSService服务。具体方法如下:

1)打开命令提示窗口。

2)设置环境变量Oracle_Home:set Oracle_Home=d:\oracle\product\10.2.0\db_1。

3)运行带有delete选项的批处理文件localconfig.bat,来删除OracleCSService服务,如:

d:\oracle\product\10.2.0\db_1\bin\localconfig delete。

注意 不能用oradim命令删除OracleCSService服务。

2.从数据库中卸载Oracle HTML DB

以下步骤仅从数据库中删除Oracle HTML DB模式、同义词和用户等。如果要卸载数据库,则不需要此步骤。

1)启动SQL*Plus并用sys或system用户连接到数据库:

·sqlplus sys/<SYSpassword>as sysdba

2)执行下列命令:

·SQL>alter session set current_schema=flows_010500;

·SQL>exec wwv_flow_upgrade.drop_public_synonyms;

·SQL>alter session set current_schema=system;

·SQL>drop user flows_010500 cascade;

·SQL>drop user flows_files cascade;

·SQL>drop user htmldb_public_user cascade;

3.卸载数据库所有组件

使用Oracle Universal Installer工具卸载Oracle组件后,还需要手工删除剩余的内容。在没有使用Oracle Universal Installer进行卸载之前不要直接删除Oracle主目录和文件,除非是在安装期间中止并退出安装。如果要手工删除Oracle主目录文件,并且在同一个主目录上再次安装Oracle,则所选择的组件就可能不能正确安装。因此,必须遵照以下步骤,如图1-7所示。

图1-7卸载数据库所有组件的流程

步骤1:停止Oracle服务

在卸载Oracle 组件之前,首先必须停止Oracle服务。具体方法:打开“管理工具”,选择“服务”,停止以Oracle或Ora开头的且处于“已启动”状态的每个Oracle服务,然后退出“服务”。

步骤2:用Database Configuration Assistant或DBCA卸载数据库

使用该方法可将数据库连同其物理文件和目录全部删除(可选)。

如果在卸载数据库过程中,由于意外或其他原因,没有成功卸载数据库,则没有删除数据库文件及其相应的OracleService<SID>对此采用手工命令方式删除OracleService<SID>,并在资源管理器中直接删除该数据库所在的目录删除OracleService<SID>的方法是:在使用Oracle Database Configuration Assistant或DBCA卸载完数据库之后,通过oradim工具删除数据库实例服务。注意,删除数据库之前不可先删除实例服务;否则,在使用Oracle Database Configuration Assistant或DBCA删除或卸载数据库时,会找不到所要卸载的数据库。

使用oradim命令删除实例服务的具体命令格式如下:

oradim-delete-sid<Servicename>

若无意中删除了OracleService<SID>且没有卸载数据库文件,则可重建OracleService<SID>。重建OracleService<SID>的具体方法是,通过指定以下参数创建例程:

oradim -new -sid sid|-srvc service[-intpwd password][-maxusers number]

[-startmode a|m][-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\pfile\init.ora.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/<sys_password>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 diskgroup<disk_group_name>including 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 Assistant和Oracle 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、 Orcl或EnumOra.开头的项,这些键值包括以下列开头的所有项:

  ·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。删除该分支下以Oracle或OraWeb开头的所有键值。

步骤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_Home、Oracle_Sid、Tns_Admin、JserV或Wv_gateway_cfg,亦删除。

步骤6:保存并退出控制面板,如图1-8和图1-9所示。

 

图1-8系统属性图                            1-9环境变量

(4)从“开始”菜单中删除Oracle

(5)删除Oracle目录

当删除了所有Oracle 注册信息并重新启动计算机后,就可删除任何已存在的Oracle目录和文件。使用Windows资源管理器删除下列目录:

  删除C:\Program Files\Oracle目录。

  删除主机上所安装的Oracle目录,如D:\oracle\product\10.2.0。

从C:\Documents and Settings\<user_name>\Local Settings\Temp删除任何Oracle临时目录。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值