系统崩溃后恢复Oracle 9i数据库

用户的系统崩溃,这次的环境是Oracle 9i,操作系统是windows2003。数据库的数据都存在,需要恢复。

  具体做法和恢复10G有些类似:

  1.将以前的目录改名,重新按照以前的结构安装数据库软件。

  2.将以前数据文件中的 d:/oracle/oradata 和d:/oracle/admin 文件拷贝到对应新建的目录下。

  3.将参数文件,listener.ora,密码文件拷贝到对应的目录下。

  4.启动数据库:


  C:/Documents and Settings/Administrator>sqlplus /nolog
  SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 10月 11 22:36:27 2008
  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
  SQL> conn / as sysdba
  ERROR:
  ORA-12560: TNS: 协议适配器错误

  5。配置察看监听:


  C:/Documents and Settings/Administrator>lsnrctl
  LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 11-10月-2008 22:
  :04
  Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
  欢迎来到LSNRCTL,请键入"help"以获得信息。
  LSNRCTL> status
  正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
  TNS-12541: TNS:无监听器
  TNS: 协议适配器错误
  TNS-00511: 无监听器
  32-bit Windows Error: 61: Unknown errorITPUB个人空间h)Im[u
  LSNRCTL> start
  启动tnslsnr:请稍候...
  Failed to open service , error 1060.
  TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
  写入e:/oracle/ora92/network/log/listener.log的日志信息
  监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
  正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
  LISTENER 的 STATUS
  ------------------------
  别名 LISTENER
  版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - ProducITPUB个人空间i bf5kxpW D!t
  tion
  启动日期 11-10月-2008 22:38:11
  正常运行时间 0 天 0 小时 0 分 0 秒
  跟踪级别 off
  安全性 OFF
  SNMP OFF

 

监听器日志文件 e:/oracle/ora92/network/log/listener.log

  8L)f,/3A.f0监听端点概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))

  监听器不支持服务

  命令执行成功

  状态是不正确的,说明没有监听程序。拷贝监听的listen.ora后,

  LSNRCTL> start

  启动tnslsnr:请稍候...

  TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production

  系统参数文件为e:/oracle/ora92/network/admin/listener.ora

  写入e:/oracle/ora92/network/log/listener.log的日志信息

  监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))

  监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))

  正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

  LISTENER 的 STATUS

  别名 LISTENER

  版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

  tion

  启动日期 11-10月-2008 22:40:52

  正常运行时间 0 天 0 小时 0 分 4 秒

  跟踪级别 off

  安全性 OFF

  SNMP OFF

  监听器参数文件 e:/oracle/ora92/network/admin/listener.ora

  监听器日志文件 e:/oracle/ora92/network/log/listener.log

 

监听端点概要

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))

  服务摘要

  服务 "PLSExtProc" 包含 1 个例程。

  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

  服务 "orc1" 包含 1 个例程。

  例程 "orc1", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

  命令执行成功

  6.启动数据库仍报错:

  SQL> conn / as sysdba

  ERROR:

  TNS: 协议适配器错误

  解决ORA-12560: TNS: 协议适配器错误,与大家共享

  今天遭遇ORA-12560: TNS: 协议适配器错误的问题,经过一番努力问题已经解决,与大家共享。

  造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:

  1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,

  启动oraclehome92TNSlistener服务。

  2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务

  面板,启动oracleserviceXXXX,XXXX就是你的database SID.

  3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0将该环境变量ORACLE_SI

  D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建

  ,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下

  输set oracle_sid=XXXX,XXXX就是你的database SID.

  经过以上步骤,就可以解决问题。

  最后发现是没有指定oracle_sid造成,指定后数据库正常启动。

  7.本次恢复遇到3个不太顺利的事情:

  1.没有指定ORACLE的ORACLE_SID,9I需要手工指定。

  2.崩溃前数据库的安装文件是在E盘下,崩溃后重新安装的数据库在D盘(由于光驱的缘故),结果第一次安装不成功。这个问题的解决可以找到d:/oracle/ora92/db_1/network/admin/listener.ora 中察看具体的路径。

  3.曾报“areasqueries”的错误,结果查明是数据库不支持中文路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值