用户的系统崩溃这次的环境是Oracle i操作系统是windows数据库的数据都存在需要恢复
具体做法和恢复G有些类似
将以前的目录改名重新按照以前的结构安装数据库软件
将以前数据文件中的 d:\oracle\oradata 和d:\oracle\admin 文件拷贝到对应新建的目录下
将参数文件listenerora密码文件拷贝到对应的目录下
启动数据库
C:\DocumentsandSettings\Administrator>sqlplus/nolog
SQL*Plus:ReleaseProductionon星期六月::
Copyright(c)OracleCorporationAllrightsreserved
SQL>conn/assysdba
ERROR:
ORA:TNS:协议适配器错误
配置察看监听
C:\DocumentsandSettings\Administrator>lsnrctl
LSNRCTLforbitWindows:VersionProductionon月:
:
Copyright(c)OracleCorporationAllrightsreserved
欢迎来到LSNRCTL请键入help以获得信息
LSNRCTL>status
正在连接到(ADDRESS=(PROTOCOL=tcp)(PORT=))
TNS:TNS无监听器
TNS:协议适配器错误
TNS:无监听器
bitWindowsError::UnknownerrorITPUB个人空间h)Im[u
LSNRCTL>start
启动tnslsnr请稍候
Failedtoopenserviceerror
TNSLSNRforbitWindows:VersionProduction
写入e:\oracle\ora\network\log\listenerlog的日志信息
监听(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver)(PORT=)))
正在连接到(ADDRESS=(PROTOCOL=tcp)(PORT=))
LISTENER的STATUS
别名LISTENER
版本TNSLSNRforbitWindows:VersionProducITPUB个人空间ibfkxpWD!t
tion
启动日期月::
正常运行时间天小时分秒
跟蹤级别off
安全性OFF
SNMPOFF
监听器日志文件 e:\oracle\ora\network\log\listenerlog
L)f\Af监听端点概要
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver)(PORT=)))
监听器不支持服务
命令执行成功
状态是不正确的说明没有监听程序拷贝监听的listenora后
LSNRCTL> start
启动tnslsnr请稍候
TNSLSNR for bit Windows: Version Production
系统参数文件为e:\oracle\ora\network\admin\listenerora
写入e:\oracle\ora\network\log\listenerlog的日志信息
监听(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\\pipe\EXTPROCipc)))
监听(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver)(PORT=)))
正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for bit Windows: Version Produc
tion
启动日期 月 ::
正常运行时间 天 小时 分 秒
跟蹤级别 off
安全性 OFF
SNMP OFF
监听器参数文件 e:\oracle\ora\network\admin\listenerora
监听器日志文件 e:\oracle\ora\network\log\listenerlog
监听端点概要
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\\pipe\EXTPROCipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver)(PORT=)))
服务摘要
服务 PLSExtProc 包含 个例程
例程 PLSExtProc 状态 UNKNOWN 包含此服务的 个处理程序
服务 orc 包含 个例程
例程 orc 状态 UNKNOWN 包含此服务的 个处理程序
命令执行成功
启动数据库仍报错
SQL> conn / as sysdba
ERROR:
TNS: 协议适配器错误
解决ORA: TNS: 协议适配器错误与大家共享
今天遭遇ORA: TNS: 协议适配器错误的问题经过一番努力问题已经解决与大家共享
造成ORA: TNS: 协议适配器错误的问题的原因有三个
监听服务没有起起来windows平台个一如下操作开始程序管理工具服务打开服务面板
启动oraclehomeTNSlistener服务
database instance没有起起来windows平台如下操作开始程序管理工具服务打开服务
面板启动oracleserviceXXXXXXXX就是你的database SID
注册表问题regedit然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME将该环境变量ORACLE_SI
D设置为XXXXXXXX就是你的database SID或者右几我的电脑属性高级环境变量系统变量新建
变量名=oracle_sid变量值=XXXXXXXX就是你的database SID或者进入sqlplus前在command line下
输set oracle_sid=XXXXXXXX就是你的database SID
经过以上步骤就可以解决问题
最后发现是没有指定oracle_sid造成指定后数据库正常启动
本次恢复遇到个不太顺利的事情
没有指定ORACLE的ORACLE_SIDI需要手工指定
崩溃前数据库的安装文件是在E盘下崩溃后重新安装的数据库在D盘(由于光驱的缘故)结果第一次安装不成功这个问题的解决可以找到d:/oracle/ora/db_/network/admin/listenerora 中察看具体的路径
曾报areasqueries的错误结果查明是数据库不支持中文路径