今天在恢复一套测试库的时候遇到了ora-600(3020)错误sqlgt; recover datafile 6;ora-00279: change 1981277 generated at 01/03
今天在恢复一套测试库的时候遇到了ora-600(3020)错误
sql> recover datafile 6;
ora-00279: change 1981277 generated at 01/03/2014 14:24:15 needed for thread 1
ora-00289: suggestion : /opt/arch/archive_1_45_834576965.arc
ora-00280: change 1981277 for thread 1 is in sequence #45
specify log: {=suggested | filename | auto | cancel}
auto
。。。
。。。
ora-00283: recovery session canceled due to errors
ora-00600: internal error code, arguments: [3020], [6], [59], [25165883], [],[], [], [], [], [], [], []
ora-10567: redo is inconsistent with data block (file# 6, block# 59, file
offset is 483328 bytes)
ora-10564: tablespace goolen
ora-01110: data file 6: '/opt/app/oracle/oradata/goolen/goolen01.dbf'
ora-10561: block type 'transaction managed data block', data object# 74195
ora-01112: media recovery not started
alter日志报错:
fri jan 03 17:21:06 2014
alter database recover datafile 6
media recovery start
serial media recovery started
ora-279 signalled during: alter database recover datafile 6 ...
alter database recover continue default
media recovery log /opt/arch/archive_1_45_834576965.arc
errors in file /opt/app/oracle/diag/rdbms/goolen/goolen/trace/goolen_ora_11763.trc:
ora-00308: cannot open archived log '/opt/arch/archive_1_44_834576965.arc'
ora-27037: unable to obtain file status
linux-x86_64 error: 2: no such file or directory
additional information: 3
ora-10567: redo is inconsistent with data block (file# 6, block# 59, file offset is 483328 bytes)
ora-10564: tablespace goolen
ora-01110: data file 6: '/opt/app/oracle/oradata/goolen/goolen01.dbf'
ora-10561: block type 'transaction managed data block', data object# 74195
errors in file /opt/app/oracle/diag/rdbms/goolen/goolen/trace/goolen_ora_11763.trc (incident=15025):
ora-00600: internal error code, arguments: [3020], [6], [59], [25165883], [], [], [], [], [], [], [], []
ora-10567: redo is inconsistent with data block (file# 6, block# 59, file offset is 483328 bytes)
ora-10564: tablespace goolen
ora-01110: data file 6: '/opt/app/oracle/oradata/goolen/goolen01.dbf'
ora-10561: block type 'transaction managed data block', data object# 74195
incident details in: /opt/app/oracle/diag/rdbms/goolen/goolen/incident/incdir_15025/goolen_ora_11763_i15025.trc
media recovery failed with error 600
trace文件内容:
buffer tsn: 6 rdba: 0x0180003b (6/59)
scn: 0x0000.00158d60 seq: 0x01 flg: 0x04 tail: 0x8d600601
frmt: 0x02 chkval: 0xf96d type: 0x06=trans data
on-disk scn: 0x0.158d60
dump redo
opcodes *.*
dbas (file#, block#):
(6, 59) .
scns: scn: 0x0000.00158d60 (1412448) thru scn: 0x0000.001e3b9c (1981340)
times: creation thru eternity
*error 308 when opening archive log -
/opt/arch/archive_1_44_834576965.arc
*error is non fatal for dump - dump will continue
*error 308 when opening archive log -
/opt/arch/archive_1_44_834576965.arc
*error is non fatal for dump - dump will continue
*error 308 when opening archive log -
/opt/arch/archive_1_39_834576965.arc
*error is non fatal for dump - dump will continue
*error 308 when opening archive log -
/opt/arch/archive_1_39_834576965.arc
sql> select segment_name, segment_type, owner
2 from dba_extents
3 where file_id = &file_id
4 and &block_id between block_id and block_id + blocks - 1;
enter value for file_id: 6
old 3: where file_id = &file_id
new 3: where file_id = 6
enter value for block_id: 59
old 4: and &block_id between block_id and block_id + blocks - 1
new 4: and 59 between block_id and block_id + blocks - 1
no rows selected
sql> select *
2 from dba_free_space
3 where file_id = &file_id
4 and &block_id between block_id and block_id + blocks - 1;
enter value for file_id: 6
old 3: where file_id = &file_id
new 3: where file_id = 6
enter value for block_id: 59
old 4: and &block_id between block_id and block_id + blocks - 1
new 4: and 59 between block_id and block_id + blocks - 1
no rows selected
sql> select owner, segment_name, segment_type, partition_name
2 from dba_segments
3 where header_file =&file_id
4 and header_block=&block_id;
enter value for file_id: 6
old 3: where header_file =&file_id
new 3: where header_file =6
enter value for block_id: 59
old 4: and header_block=&block_id
new 4: and header_block=59
no rows selected