卸载oracle数据库的完整步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤1:停止Oracle服务
在卸载Oracle 组件之前,首先必须停止Oracle服务。
具体方法:打开“管理工具”,选择“服务”,停止以Oracle或Ora开头的且处于“已启动”状态的每个Oracle服务,然后退出“服务”。
步骤2:用Database Configuration Assistant或DBCA卸载数据库
使用该方法可将数据库连同其物理文件和目录全部删除(可选)。
如果在卸载数据库过程中,由于意外或其他原因,没有成功卸载数据库,则没有删除数据库文件及其相应的OracleService对此采用手工命令方式删除OracleService,并在资源管理器中直接删除该数据库所在的目录删除OracleService的方法是:在使用Oracle Database Configuration Assistant或DBCA卸载完数据库之后,通过oradim工具删除数据库实例服务。
注意,删除数据库之前不可先删除实例服务;否则,在使用Oracle Database Configuration Assistant或DBCA删除或卸载数据库时,会找不到所要卸载的数据库。
使用oradim命令删除实例服务的具体命令格式如下:
oradim-delete-sid
若无意中删除了OracleService且没有卸载数据库文件,则可重建OracleService。
重建OracleService的具体方法是,通过指定以下参数创建例程:
oradim -new -sid sid|-srvc service[-intpwd password][-maxusers number]
[-startmode a|m][-pfile file][-timeout secs]
其中参数说明如下:
•new:建立新实例服务。
•si d:定义实例标识。
•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/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 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项:
(4
(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临时目录。