数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Windows系统崩溃后恢复Oracle9i数据库


发布日期:2019年11月04日
 
Windows系统崩溃后恢复Oracle9i数据库

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

               

上一篇:在sqlplus中操作blob和clob

下一篇:详细讲解Oracle数据库的“周数计算”