Windows重装系统后恢复oracle数据库

使用Windows系统做开发环境的同学应该都会遇到这样的问题:电脑配置不够好,越用越卡,或者由于在某个无良网站下了个全家桶,电脑广告弹窗各种飞,这时候你急需重装系统镇定的焦躁不安的心情。可是作为开发人员的我们,电脑开发环境非常重要,重装系统就意味着所有环境都必须重新配置,其中最难的莫过于oracle数据库了,不知要经历漫长的安装过程,还要重新配置还原各种数据,实在是麻烦。

现在这个方法就是为了解决这个问题而产生的,经过简单的操作就可以还原重装系统之前的数据库。

下面是教程:

配置环境变量 

(1)添加ORACLE_BASE 的系统变量
 变量名:ORACLE_BASE
 变量值:D:\app\kang 
(2)添加ORACLE_HOME 的系统变量
 变量名:ORACLE_HOME
 变量值:D:\app\kang\product\11.2.0\dbhome_1 
(3)添加NLS_LANG 的系统变量
 变量名:NLS_LANG
 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
(4)修改Path 添加%ORACLE_SID%;%NLS_LANG%;%ORACLE_HOME%\bin; 

配置监听服务 用管理员运行CMD C:\windows\system32>netca 重新配置监听和网络

再重新配置网络 检查listener.ora 

# listener.ora Network Configuration File: 
D:\app\kang\product\11.2.0\dbhome_1\network\admin\listener.ora 
# Generated by Oracle configuration tools. 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = (SID_NAME = orcl)
 (ORACLE_HOME = D:\app\kang\product\11.2.0\dbhome_1)
 (PROGRAM = extproc)
 (ENVS = "EXTPROC_DLLS=ONLY:D:\app\kang\product\11.2.0\dbhome_1\bin\oraclr11.dll")



LISTENER =
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = kang-PC)(PORT = 1521)) 



ADR_BASE_LISTENER = D:\app\kang 

检查tnsnames.ora 

# tnsnames.ora Network Configuration File: 
D:\app\kang\product\11.2.0\dbhome_1\network\admin\tnsnames.ora 
# Generated by Oracle configuration tools. 
ORACLR_CONNECTION_DATA = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 

(CONNECT_DATA = 
(SID = orcl) 
(PRESENTATION = RO) 


ORCL = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = kang-PC)(PORT = 1521)) ) 
(CONNECT_DATA = 
(SERVICE_NAME = orcl) 


这时候查看服务 只有OracleRemExecService 
 

启动监听 

C:\windows\system32>lsnrctl start

 LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-9 月 -2011 11:16:38
Copyright (c) 1991, 2010, Oracle. All rights reserved. 
启动tnslsnr: 请稍候... 
Failed to open service , error 1060. 
TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
系统参数文件为D:\app\kang\product\11.2.0\dbhome_1\network\admin\listener.ora 
写入d:\app\kang\diag\tnslsnr\kang-PC\listener\alert\log.xml 的日志信息 
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kang-PC)(PORT=1521))) 

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=kang-PC)(PORT=1521))) 
LISTENER 的 STATUS ------------------------ 
别名        LISTENER 
版本        TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
启动日期    15-9 月 -2011 11:16:42 
正常运行时间     0 天 0 小时 0 分 3 秒 
跟踪级别     off 
安全性         ON: Local OS Authentication 
SNMP        OFF 
监 听 程 序 参 数 文 件 
D:\app\kang\product\11.2.0\dbhome_1\network\admin\listener. 
监听程序日志文件 d:\app\kang\diag\tnslsnr\kang-PC\listener\alert\log.xml 
监听端点概要... 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kang-PC)(PORT=1521))) 
服务摘要.. 
服务 "orcl" 包含 1 个实例。
 实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 
命令执行成功 

这时候查看服务多出来 OracleTNSListener (这就是以后要用的监听服务)

配置oracle 实例服务 

运行oradim.exe -new -sid ORCL -startmode a 建立服务
 (注 后面一定要加startmode a,如果不加,oracle 的服务虽然起来了,但是实例启不来。) 
C:\windows\system32>oradim.exe -new -sid ORCL -startmode a 
实例已创建。 
DIM-00019: 创建服务时出错 
O/S-Error: (OS 2) 系统找不到指定的文件。 
这时候报“系统找不到指定的文件” 
后面要修改注册表 
查看服务 多出来两个服务 OracleServiceORCL、OracleJobSchedulerORCL

修改注册表

C:\windows\system32>regedit

找到 

查看OracleServiceORCL 显示的路径不对 
D:\app\kang\product\11.2.0\dbhome_1\BIN\ORACLE.EXE ORCL 

改为

 

启动服务

登录sqlplus 检查看能不能正常登录 

C:\windows\system32>sqlplus / as sysdba 
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9 月 15 11:31:57 2011 
Copyright (c) 1982, 2010, Oracle. All rights reserved. 
ERROR: 
ORA-01031: 权限不足 

请输入用户名: 
解决这个问题: 
在系统“本地用户和组”的用户下双击当前用户(这里是kang) 



添加ORA_DBA 组 

需要重启或注销用户重新登录 
注销用户重新登录 
检查sqlplus / as sysdba 能不能正常连接 
C:\Users\kang>sqlplus / as sysdba 
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9 月 15 11:40:26 2011 
Copyright (c) 1982, 2010, Oracle. All rights reserved. 
连接到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 

SQL>

转载于:https://my.oschina.net/papio/blog/1545266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重做操作系统oracle数据库恢复 文件夹中文件说明: ora.reg oracle主要注册项的恢复参考文件 oraodbc.reg odbc驱动项的恢复参考文件 oraole1~4.reg ole 驱动项的恢复参考文件 恢复中重要操作说明: 1、恢复前提,数据库系统文件(初始化配置文件、数据文件、重作日志文件、控制文件)没有遭到破坏。 2、注册表的恢复 3、监听程序重新恢复,注意监听配置、tns配置中机器名的核对 4、oracle实例服务的恢复 5、注册表中本地默认实例的恢复 6、计算机管理-用户组中ORA_DBA角色的恢复 操作步骤: 1、系统环境变量的恢复 在系统环境变量path项之前增加oracle系统可执行程序及动态链接库资源如"D:\oracle\ora90\bin;" 2、注册表的恢复 a、oracle数据库系统变量的恢复,ora.reg中饱含了oracle的主要系统参数,其中home项包含了不同的版本信息,导入注册表后可以根据情况修改、增加或者删除对应的home信息。 b、oracle odbc驱动参数的恢复,需要导入oraodbc.reg,此处以oracle90为例,针对不同的oracle版本需要修改相应的参数。导入后,除了检查版本及修改上述参数外还需要手工在注册表(regedit.exe)hkey_local_machine->software->odbc->odbcinst.ini->odbc drivers一项中参考其它字符串,增加一个oracle驱动程序名称(如Oracle in OraHome90)。恢复后可以通过系统odbc管理工具进行配置、测试。最后,如果不需要使用ODBC连接数据库,就不需要进行此处的恢复。 c、oracle oledb驱动参数的恢复,需要导入oraole1~4.reg,实际只需要导入1~2两个文件即可,其它两个属于注册表的副件。同样需要针对不同版本修改相应的参数。恢复后,可以通过配置一个 oledb测试,最快捷的方法为,新建一个文本文件,然后将后缀改为".udl"然后就可以继续操作了。最后,同ODBC一样,如果确定不需要使用ole驱动访问数据库,也可以不进行这部分的恢复操作。 ******此处的操作需要对windows操作系统注册表非常熟悉,对于linux平台,恢复操作类似,只不过需要对环境变量的操作熟悉。 3、监听程序的恢复 a、配置参数的恢复oracle_home\network\admin\listener.ora,检查本地机器名是否有变化,以确定监听参数中监听地址项是否需要修伽。 b、本地访问服务名tnsnames.ora的配置,同样需要检查机器名或ip地址是否有变化。此步骤可以省略 c、监听服务的恢复,运行 lsnrctl,执行start,会自动向系统服务中增加并启动监听服务。可以通过启动时的提示确定服务是否启动成功。确认服务启动成功后,在系统服务管理台里将服务启动属性从“手动”改为“自动”。 ******此处操作需要对lsnrctl工具熟悉。 4、本地默认实例的恢复 在注册表hkey_local_machine->software->oracle->home0->oracle_sid项,确认内容和你要恢复的实例名一致。进行这个操作,主要方便在本地sqlplus或其它客户端登录时不用指定数据库本地网络服务名。 5、系统ORA_DBA组的恢复 在"计算机管理"控制台中->系统工具->本地用户和组->组中,增加名称为"ORA_DBA",描述为"Members can connect to the Oracle database as a DBA without a password"的组,并将系统管理员用户如"Administrator"添加到组中。执行这样的操作,是为了能够在本机上不输入数据库用户名/密码,直接以dba角色登录数据库进行管理。 6、实例的恢复 a、确认数据库的初始化配置文件、数据文件、重作日志文件、控制文件等没有被损坏或缺失。 b、使用oradim工具重建实例服务。如oradim -new -sid test -startmode m -pfile d:\oracle\admin\test\pfile\init.ora oradim是oracle实例管理工具,具体参数说明,可以在命令行中直接输入oradim查看帮助提示。使用它能够创建、修改、删除,启动、停止本机上的oracle实例服务,有兴趣的,可以使用它实现一个单数据库多实例的案例。 c、使用sqlplus以dba身份登录确认数据库是否正常启动。 ******此处操作需要对oradim工具、oracle实例的概念熟悉。 7、恢复完成。可以打开其它应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值