ORA-12560: TNS: 协议适配器错误 sql
后来参考下面的文档,问题解决啦。数据库
具体作法和恢复10G有些相似: windows
1.将之前的目录更名,从新按照之前的结构安装数据库软件。 安全
2.将之前数据文件中的 d:“oracle“oradata 和d:“oracle“admin 文件拷贝到对应新建的目录下。 服务器
3.将参数文件,listener.ora,密码文件拷贝到对应的目录下。 oracle
4.启动数据库: tcp
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 b f5k x p W 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.
通过以上步骤,就能够解决问题。