联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
有朋友找到我,反馈说数据库登录报ORA-600 6807错误,希望我们给予解决

对于该错误有过一定的了解,一般是seq问题,这里报错比较明显是由于audses$序列出现问题导致数据库无法正常登录(因为数据库启动了审计,在登录之时会触发insert aud$操作,这个操作包含了audses$这个序列的调用,在调用这个序列的时候出现问题从而引起该问题),对其system数据文件dbv检查

比较明显有一个block被标记为坏块,通过对该block进行分析,确认刚好是seq$对象
DUL> rdba 4195465
rdba : 0x00400489=4195465
rfile# : 1
block# : 1161
DUL> desc sys.seq$
Object ID:100
Storage(Obj#=100 DataObj#=100 TS#=0 File#=1 Block#=1160 Cluster=0)
NO. SEG INT Column Name Null? Type
--- --- --- ------------------------------ --------- ------------------------------
1 1 1 OBJ# NOT NULL NUMBER
2 2 2 INCREMENT$ NOT NULL NUMBER
3 3 3 MINVALUE NUMBER
4 4 4 MAXVALUE NUMBER
5 5 5 CYCLE# NOT NULL NUMBER
6 6 6 ORDER$ NOT NULL NUMBER
7 7 7 CACHE NOT NULL NUMBER
8 8 8 HIGHWATER NOT NULL NUMBER
9 9 9 AUDIT$ NOT NULL VARCHAR2(38)
10 10 10 FLAGS NUMBER
11 11 11 PARTCOUNT NUMBER
DUL> dump datafile 1 block 1160
Block Header:
block type=0x10 (data segment header block (unlimited extents))
block format=0xa2 (oracle 10+)
block rdba=0x00400488 (file#=1, block#=1160)
scn=0x0000.001a3fcd, seq=2, tail=0x3fcd1002
block checksum value=0xe280=57984, flag=4
Data Segment Header:
Extent Control Header
-------------------------------------------------------------
Extent Header:: extents: 1 blocks: 7
last map: 0x00000000 #maps: 0 offset: 4128
Highwater:: 0x0040048d (rfile#=1,block#=1165)
ext#: 0 blk#: 4 ext size:7
#blocks in seg. hdr's freelists: 1
#blocks below: 4
mapblk: 0x00000000 offset: 0
Map Header:: next: 0x00000000 #extents: 1 obj#: 100 flag: 0x40000000
Extent Control Header
-------------------------------------------------------------
0x00400489 length: 7
nfl = 1, nfb = 1, typ = 1, nxf = 0, ccnt = 4
SEG LST:: flg: USED lhd: 0x0040048c ltl: 0x0040048c
DUL> rdba 0x00400489
rdba : 0x00400489=4195465
rfile# : 1
block# : 1161
DUL>
通过修复使用我们的Oracle recovery tools小工具,或者参考:校验代码为 6054 坏块故障修复进行修复,然后数据库用户可以正常登录

