没有跨不过的坎,没有过不去的河;没有必胜的秘籍,只有拼命的努力.

windows系统崩溃后恢复oracle9i数据库

上一篇 / 下一篇  2008-10-12 00:22:02 / 个人分类:ORACLE数据库

用户的系统崩溃,这次的环境是oracle9i,操作系统是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
Yw'rn9j.W e t0ERROR:
~y!BjHg$y0ORA-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:38
0r7Y XQ^l2Z,m Y0:04

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

欢迎来到LSNRCTL,请键入"help"以获得信息。

LSNRCTL> statusITPUB个人空间$lE)d+|] e#d*Wg
正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))ITPUB个人空间 ]5z j2N3}
TNS-12541: TNS:无监听器
!l[2mxC^(E2S0 TNS-12560: TNS: 协议适配器错误ITPUB个人空间{_H2E&_F:}~
  TNS-00511: 无监听器ITPUB个人空间 Y?-i\3p Ll
   32-bit Windows Error: 61: Unknown error
z)vt$LGj-X0K |0LSNRCTL> startITPUB个人空间5u]RP4x:_5F
启动tnslsnr:请稍候...

Failed to open service <OracleOraHome92TNSListener>, error 1060.ITPUB个人空间/f3@Lt5Z6U8Y2{r
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
k-{p ?7n#c.qU]$`V8Y0写入e:\oracle\ora92\network\log\listener.log的日志信息
&` {#P:V)J&Vdk'J0监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))

正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
#iQz+I1K5RG$R0LISTENER 的 STATUS
@{i;I/O1g0------------------------ITPUB个人空间OTF&?!c~D
别名                      LISTENERITPUB个人空间;QY F~4~
版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
#Faa/mb n%f0tion
)z#nYFvz0启动日期                  11-10月-2008 22:38:11
1X/SC(L$s)e)[0正常运行时间              0 天 0 小时 0 分 0 秒
:O6m,qv(lY9]5?@ e0跟踪级别                  off
|M/dR,j!@C,J$GJY0安全性                    OFFITPUB个人空间_@ yTB Ids
SNMP                      OFFITPUB个人空间^$p}-?9D!p6B/XH^
监听器日志文件          e:\oracle\ora92\network\log\listener.log
`;nS{V5]y}R0监听端点概要...ITPUB个人空间u;qELC_7c-l
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
^ k%xy |fmE8Bn0监听器不支持服务
'Vg`m"VD1J0命令执行成功

状态是不正确的,说明没有监听程序。拷贝监听的listen.ora后,

LSNRCTL> startITPUB个人空间8?W3|1Y&z{GE
启动tnslsnr:请稍候...

TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
0G0@]k{0系统参数文件为e:\oracle\ora92\network\admin\listener.oraITPUB个人空间FAIige7SF/Cz
写入e:\oracle\ora92\network\log\listener.log的日志信息ITPUB个人空间 wn SU5LLK*z-_
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
0hP@ eR(V,Mmt@1@0监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))

正在连接到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))ITPUB个人空间#cqZY\
LISTENER 的 STATUSITPUB个人空间 cPP1mf8c{D
------------------------ITPUB个人空间Dq&Or\]M
别名                      LISTENER
*m"Hi}:m0版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
8`1a o.nW t0tionITPUB个人空间jw&{ ez?3G7Qtq
启动日期                  11-10月-2008 22:40:52
K {eo M;v j0正常运行时间              0 天 0 小时 0 分 4 秒ITPUB个人空间j#Y2WVT|
跟踪级别                  off
-{0L#B _6g {9Kt.z0安全性                    OFFITPUB个人空间zhL.Xa*Y*}
SNMP                      OFFITPUB个人空间&}6k7N{BA8y%t
监听器参数文件          e:\oracle\ora92\network\admin\listener.oraITPUB个人空间*Gy4rqZ,uL
监听器日志文件          e:\oracle\ora92\network\log\listener.log
z/Z7hAw1} x?8Ye0监听端点概要...ITPUB个人空间Z~r R |V
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
+`[P*]&Ru!V0  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjserver31)(PORT=1521)))
2I8^"Cv/o0服务摘要..ITPUB个人空间}'aIo^cz C0x2{o
服务 "PLSExtProc" 包含 1 个例程。
(VR3x.i4U0  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...ITPUB个人空间6_pc5z1dA
服务 "orc1" 包含 1 个例程。
1V:U-i'p7T*S&Q3d0  例程 "orc1", 状态 UNKNOWN, 包含此服务的 1 个处理程序...ITPUB个人空间;?X-x s-hk5f~o-Bf%}
命令执行成功

6.启动数据库仍报错:

SQL> conn / as sysdbaITPUB个人空间@7Z(~H9sbB
ERROR:
G.uJl {%J0ORA-12560: TNS: 协议适配器错误

解决ORA-12560: TNS: 协议适配器错误,与大家共享

ITPUB个人空间 {/}2z6Q`
今天遭遇ORA-12560: TNS: 协议适配器错误的问题,经过一番努力问题已经解决,与大家共享。
,Z(Z |&` p7[3O0造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:ITPUB个人空间&F}auf
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,

启动oraclehome92TNSlistener服务。ITPUB个人空间 } W!p Uc
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务

面板,启动oracleserviceXXXX,XXXX就是你的database SID.
~H"SE.D6Y,Eg03.注册表问题。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.
*n5b E;WE6N0经过以上步骤,就可以解决问题。

最后发现是没有指定oracle_sid造成,指定后数据库正常启动。

7.本次恢复遇到3个不太顺利的事情:

1.没有指定ORACLE的ORACLE_SID,9I需要手工指定。

2.崩溃前数据库的安装文件是在E盘下,崩溃后重新安装的数据库在D盘(由于光驱的缘故),结果第一次安装不成功。这个问题的解决可以找到d:/oracle/ora92/db_1/network/admin/listener.ora 中察看具体的路径。

3.曾报“areasqueries”的错误,结果查明是数据库不支持中文路径。ORACLE 9I数据库也真够垃圾的!

8、后续的问题:

昨天用户停电,造成数据库重启数据库后,提示OUT OF MEMORY的报错,这个报错显然是SGA大于内存的容量。怀疑有可能是有人更改过SGA大小或者是系统引导的不是原始参数。

所以,建议以后修复过数据库后,保留一份PFILE文件,并且使用 create spfile from pfile;

 


TAG:

anycall2010的个人空间 引用 删除 anycall2010   /   2008-10-13 21:02:32
怎么效率低,谈谈看法?
引用 删除 哈哈   /   2008-10-13 17:17:05
效率太低
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-19  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 8275
  • 日志数: 154
  • 书签数: 13
  • 建立时间: 2008-06-24
  • 更新时间: 2008-11-16

RSS订阅

Open Toolbar