Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2017-4-13 11:18:48 | 查看: 1420| 回复: 1
在oracle9.2中﹐打开数据库的时候遇到oral-00600错误﹕
Errors in file d:\oracle\admin\test9i\udump\test9i_ora_2744.trc:
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []

Thu Aug 17 10:59:16 2006
Recovery of Online Redo Log: Thread 1 Group 5 Seq 3 Reading mem 0
  Mem# 0 errs 0: D:\ORACLE\ORADATA\TEST9I\REDE05.LOG
Recovery of Online Redo Log: Thread 1 Group 5 Seq 3 Reading mem 0
  Mem# 0 errs 0: D:\ORACLE\ORADATA\TEST9I\REDE05.LOG
Thu Aug 17 10:59:17 2006
Errors in file d:\oracle\admin\test9i\udump\test9i_ora_2744.trc:
ORA-00604: 递迴的 SQL 级次 1 发生错误
ORA-00607: 变更资料区块时发生内部错误
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []

在test9i_ora_2744.trc文件中的信息为﹕
*** 2006-08-17 12:02:55.000
ksedmp: internal or fatal error
ORA-00600: ??????, ??: [4194], [36], [36], [], [], [], [], []
Current SQL statement for this session:
update undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undosqn=:7,xactsqn=:8,scnbas=:9,scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1

在init.ora中加入如下三个参数﹐得到的还是上面的错误﹐感觉根本没起作用。

*._allow_resetlogs_corruption=true
*.rollback_segments=(system)
*._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$)

不知道有没有什么办法可解决?


数据库要在open之后才能新建UNDO吧
现在的问题是无法打开数据库


老大﹐我有看你的桉例。
在设置了_corrupted_rollback_segments参数之后还是无法打开数据库﹐所以根本没办法去重建UNDO表空间。


用dbv工具对system表空间做检查﹐没看到有任何错误﹕

C:\Documents and Settings\Administrator>dbv file=E:\oracle\product\9.2.0\test9i\
oradata\SYSTEM01.DBF blocksize=8192

DBVERIFY: Release 9.2.0.1.0 - Production on 星期三 8月 23 10:58:43 2006

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

DBVERIFY - 验证开始 : FILE = E:\oracle\product\9.2.0\test9i\oradata\SYSTEM01.DBF



DBVERIFY - 验证结束

检查总页数                    : 51200
处理总页数             (资料) : 35774
失败总页数             (资料) : 0
处理总页数             (索引) : 4181
失败总页数             (索引) : 0
已处理过的总页数 (其他): 2517
总共处理的页数 (区段)  : 0
总共失败的页数   (区段)  : 0
空的总页数                    : 8728
标记为损毁的总页数            : 0
汇集总页数                    : 0

C:\Documents and Settings\Administrator>


你是指数据库在open的时候的错误吗﹖

SQL> recover database;
媒体恢复执行完成.
SQL> alter database open;
alter database open
*
ERROR 在行 1:
ORA-01092: ORACLE 执行处理已终止. 强制切断连线


SQL>

去查看alert.log﹐发现﹕[/COLOR]

ALTER DATABASE RECOVER  database  
Media Recovery Start
Starting datafile 1 recovery in thread 1 sequence 4
Datafile 1: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\SYSTEM01.DBF'
Starting datafile 2 recovery in thread 1 sequence 4
Datafile 2: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\UNDOTBS01.DBF'
Starting datafile 3 recovery in thread 1 sequence 4
Datafile 3: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\CWMLITE01.DBF'
Starting datafile 4 recovery in thread 1 sequence 4
Datafile 4: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\DRSYS01.DBF'
Starting datafile 5 recovery in thread 1 sequence 4
Datafile 5: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\EXAMPLE01.DBF'
Starting datafile 6 recovery in thread 1 sequence 4
Datafile 6: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\DEMO1.DBF'
Starting datafile 7 recovery in thread 1 sequence 4
Datafile 7: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\USERS02.DBF'
Starting datafile 8 recovery in thread 1 sequence 4
Datafile 8: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\USERS01.DBF'
Starting datafile 9 recovery in thread 1 sequence 4
Datafile 9: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\XDB01.DBF'
Starting datafile 10 recovery in thread 1 sequence 4
Datafile 10: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\DEMO2.DBF'
Starting datafile 11 recovery in thread 1 sequence 4
Datafile 11: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\UNDO2.DBF'
Starting datafile 12 recovery in thread 1 sequence 4
Datafile 12: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\INDX1.DBF'
Starting datafile 13 recovery in thread 1 sequence 4
Datafile 13: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\TEST1.DBF'
Starting datafile 14 recovery in thread 1 sequence 4
Datafile 14: 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\DEMO.DBF'
Media Recovery Log
Recovery of Online Redo Log: Thread 1 Group 1 Seq 4 Reading mem 0
  Mem# 0 errs 0: E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\REDE01.LOG
Media Recovery Complete
Completed: ALTER DATABASE RECOVER  database  
Wed Aug 23 11:07:59 2006
alter database open
Wed Aug 23 11:07:59 2006
Beginning crash recovery of 1 threads
Wed Aug 23 11:07:59 2006
Started first pass scan
Wed Aug 23 11:07:59 2006
Completed first pass scan
2 redo blocks read, 0 data blocks need recovery
Wed Aug 23 11:08:00 2006
Started recovery at
Thread 1: logseq 4, block 3, scn 2159.3371637739
Recovery of Online Redo Log: Thread 1 Group 1 Seq 4 Reading mem 0
  Mem# 0 errs 0: E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\REDE01.LOG
Wed Aug 23 11:08:00 2006
Ended recovery at
Thread 1: logseq 4, block 5, scn 2159.3371657741
0 data blocks read, 0 data blocks written, 2 redo blocks read
Crash recovery completed successfully
Wed Aug 23 11:08:00 2006
LGWR: Primary database is in CLUSTER CONSISTENT mode
Thread 1 advanced to log sequence 5
Thread 1 opened at log sequence 5
  Current log# 3 seq# 5 mem# 0: E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\REDE03.LOG
Successful open of redo thread 1.
Wed Aug 23 11:08:02 2006
SMON: enabling cache recovery
Wed Aug 23 11:08:02 2006
Errors in file e:\oracle\product\9.2.0\admin\test9i\udump\test9i_ora_3388.trc:
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
2#
发表于 2017-4-13 11:19:06

Wed Aug 23 11:08:07 2006
Recovery of Online Redo Log: Thread 1 Group 3 Seq 5 Reading mem 0
  Mem# 0 errs 0: E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\REDE03.LOG
Recovery of Online Redo Log: Thread 1 Group 3 Seq 5 Reading mem 0
  Mem# 0 errs 0: E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\REDE03.LOG
Wed Aug 23 11:08:08 2006
Errors in file e:\oracle\product\9.2.0\admin\test9i\udump\test9i_ora_3388.trc:
ORA-00604: 递迴的 SQL 级次 1 发生错误
ORA-00607: 变更资料区块时发生内部错误
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []

Error 604 happened during db open, shutting down database
USER: terminating instance due to error 604
Instance terminated by USER, pid = 3388
ORA-1092 signalled during: alter database open...

test9i_ora_3388.trc文件中的内容是﹕[/COLOR]

Windows thread id: 3388, image: ORACLE.EXE


*** SESSION ID9.3) 2006-08-23 11:05:50.000
ORA-00313: 开启日志群体 1 (繫线 1 的) 的成员失败
ORA-00312: 线上日志 1 繫线 1: 'D:\ORACLE\ORADATA\TEST9I\REDE01.LOG'
ORA-27041: 无法开启档桉
OSD-04002: 无法开启档桉
O/S-Error: (OS 3) 系统找不到指定的路径。
----- Redo read statistics for thread 1 -----
Read rate (ASYNC) = 1Kb/sec => 3 blocks in 1s
Read buffer = 8192Kb (16384 blocks)
Longest record = 0Kb
Record moves = 0/1 (0%)
----------------------------------------------
Thread checkpoint rba:0x000004.00000002.0010 scn:0x086f.c8f71bea
Cache low rba is 0x000004.00000003.0000
Use incremental checkpoint on-disk rba
Thread 1 recovery from rba:0x000004.00000003.0000 scn:0x086f.c8f71beb
*** 2006-08-23 11:08:00.000
KCRA: start recovery claims for 0 data blocks
*** 2006-08-23 11:08:00.000
KCRA: buffers claimed = 0/0, eliminated = 0
*** 2006-08-23 11:08:02.000
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []
Current SQL statement for this session:
update undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undosqn=:7,xactsqn=:8,scnbas=:9,scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------



我记得除了dbv﹐用rman的backup validate datafile也可以检查数据文件。
用它检查了一下﹐也没发现什么错误﹕
C:\Documents and Settings\Administrator>rman target / nocatalog

Recovery Manager: 版本 9.2.0.1.0 - Production

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

已连线到目标资料库: ZYONG (DBID=956432938)
使用目标资料库控制档桉替代复原目录

RMAN> backup validate datafile 'E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\SYSTEM01.
DBF';

开始 backup, 于 23-8月 -06
已配置通道: ORA_DISK_1
通道 ORA_DISK_1: sid=11 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 资料档备份集
通道 ORA_DISK_1: 正在设定备份集中的资料档
输入资料档 fno=00001 name=E:\ORACLE\PRODUCT\9.2.0\TEST9I\ORADATA\SYSTEM01.DBF
通道 ORA_DISK_1: 备份集完成, 经历时间: 00:00:25
完成 backup, 于 23-8月 -06

RMAN>
使用道具 举报


其实我就一直怀拟
*._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$,_SYSSMU12$,_SYSSMU13$,_SYSSMU14$,_SYSSMU15$,_SYSSMU16$,_SYSSMU17$,_SYSSMU18$,_SYSSMU19$,_SYSSMU20$)
是否添加正确。
但我始终无法在mount状态下查找当前数据库使用的undo段的名称。

只能通过alert.log中的﹕
SMON: enabling cache recovery
Mon May 15 15:17:56 2006
Undo Segment 1 Onlined
Undo Segment 2 Onlined
Undo Segment 3 Onlined
Undo Segment 4 Onlined
Undo Segment 5 Onlined
Successfully onlined Undo Tablespace 1.
得到。


我做了个10046事件的跟踪﹐发现引起ora-00600错误的update undo$语句是针对"_SYSSMU1$"的

并且,where us#=:1﹐这个绑定1怎么会是value="_SYSSMU1$"呢﹖[/COLOR]

PARSING IN CURSOR #11 len=148 dep=1 uid=0 oct=6 lid=0 tim=76330985238 hv=1608031631 ad='7d2ec040'
update undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undosqn=:7,xactsqn=:8,scnbas=:9,scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1
END OF STMT
PARSE #11:c=62500,e=191166,p=9,cr=83,cu=0,mis=1,r=0,dep=1,og=0,tim=76330985228
BINDS #11:
bind 0: dty=1 mxl=32(09) mal=00 scl=00 pre=00 oacflg=18 oacfl2=1 size=32 offset=0
   bfp=7d2f5f96 bln=32 avl=09 flg=09
   value="_SYSSMU1$"
bind 1: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb5ac bln=24 avl=02 flg=05
   value=2
bind 2: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb588 bln=24 avl=02 flg=05
   value=9
bind 3: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb564 bln=24 avl=02 flg=05
   value=5
bind 4: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb540 bln=24 avl=02 flg=05
   value=1
bind 5: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb51c bln=24 avl=03 flg=05
   value=2034
bind 6: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb4f8 bln=24 avl=04 flg=05
   value=56963
bind 7: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb4d4 bln=24 avl=06 flg=05
   value=3371557539
bind 8: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb4b0 bln=24 avl=03 flg=05
   value=2159
bind 9: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb48c bln=24 avl=01 flg=05
   value=0
bind 10: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb468 bln=24 avl=02 flg=05
   value=1
bind 11: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030fb444 bln=24 avl=02 flg=05
   value=1
bind 12: dty=2 mxl=22(22) mal=00 scl=00 pre=00 oacflg=08 oacfl2=1 size=24 offset=0
   bfp=030f612c bln=22 avl=02 flg=05
   value=1
WAIT #11: nam='db file sequential read' ela= 8004 p1=1 p2=22 p3=1
*** 2006-08-23 15:26:53.000
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [4194], [36], [36], [], [], [], [], []
Current SQL statement for this session:
update undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undosqn=:7,xactsqn=:8,scnbas=:9,scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-20 19:50 , Processed in 0.050062 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569