数据库崩溃时事务的恢复机制 Windows系统崩溃后恢复Oracle9i数据库
Windows系统崩溃后恢复Oracle9i数据库
用户的系统崩溃 这次的环境是Oracle i 操作系统是windows 数据库的数据都存在 需要恢复
具体做法和恢复 G有些类似
将以前的目录改名 重新按照以前的结构安装数据库软件
将以前数据文件中的 d:oracleoradata 和d:oracleadmin 文件拷贝到对应新建的目录下
将参数文件 listener ora 密码文件拷贝到对应的目录下
启动数据库
C:Documents and SettingsAdministrator>sqlplus /nolog SQL*Plus: Release Production on 星期六 月 : : Copyright (c) Oracle Corporation All rights reserved SQL> conn / as sysdba ERROR: ORA : TNS: 协议适配器错误
配置察看监听
C:Documents and SettingsAdministrator>lsnrctl LSNRCTL for bit Windows: Version Production on 月 : : Copyright (c) Oracle Corporation All rights reserved 欢迎来到LSNRCTL 请键入 help 以获得信息 LSNRCTL> status 正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT= )) TNS : TNS 无监听器 TNS: 协议适配器错误 TNS : 无监听器 bit Windows Error: : Unknown errorITPUB个人空间h)Im[u LSNRCTL> start 启动tnslsnr 请稍候 Failed to open service error TNSLSNR for bit Windows: Version Production 写入e:oracleora neorkloglistener log的日志信息 监听 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver )(PORT= ))) 正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT= )) LISTENER 的 STATUS 别名 LISTENER 版本 TNSLSNR for bit Windows: Version ProducITPUB个人空间i bf kxpW D!t tion 启动日期 月 : : 正常运行时间 天 小时 分 秒 跟踪级别 off 安全性 OFF SNMP OFF
监听器日志文件 e:oracleora neorkloglistener log
L)f A f 监听端点概要
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver )(PORT= )))
监听器不支持服务
命令执行成功
状态是不正确的 说明没有监听程序 拷贝监听的listen ora后
LSNRCTL> start
启动tnslsnr 请稍候
TNSLSNR for bit Windows: Version Production
系统参数文件为e:oracleora neorkadminlistener ora
写入e:oracleora neorkloglistener log的日志信息
监听 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\ pipeEXTPROC ipc)))
监听 (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:oracleora neorkadminlistener ora
监听器日志文件 e:oracleora neorkloglistener log
监听端点概要
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\ pipeEXTPROC ipc)))
(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平台个一如下操作 开始 程序 管理工具 服务 打开服务面板
启动oraclehome TNSlistener服务
database instance没有起起来 windows平台如下操作 开始 程序 管理工具 服务 打开服务
面板 启动oracleserviceXXXX XXXX就是你的database SID
注册表问题 regedit 然后进入HKEY_LOCAL_MACHINESOFAREORACLEHOME 将该环境变量ORACLE_SI
D设置为XXXX XXXX就是你的database SID 或者右几我的电脑 属性 高级 环境变量 系统变量 新建
变量名=oracle_sid 变量值=XXXX XXXX就是你的database SID 或者进入sqlplus前 在mand line下
输set oracle_sid=XXXX XXXX就是你的database SID
经过以上步骤 就可以解决问题
最后发现是没有指定oracle_sid造成 指定后数据库正常启动
本次恢复遇到 个不太顺利的事情
没有指定ORACLE的ORACLE_SID I需要手工指定
崩溃前数据库的安装文件是在E盘下 崩溃后重新安装的数据库在D盘(由于光驱的缘故) 结果第一次安装不成功 这个问题的解决可以找到d:/oracle/ora /db_ /neork/admin/listener ora 中察看具体的路径
lishixinzhi/Article/program/Oracle/201311/18799