用户的系统崩溃,这次的环境是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”的错误,结果查明是数据库不支持中文路径