ALLSTARS_ORACLE 发表于 2017-4-12 18:46:10

ora-01578 system dbf 出错(急)

问题描述:
在执行高级复制刷新时,ORACLE报错:ORA-01578: ORACLE data block corrupted 。job 无法执行。

1。检查ALERT LOG.如下:(截取了一段)
Wed May 25 17:17:14 2005
Thread 1 advanced to log sequence 21582
  Current log# 1 seq# 21582 mem# 0: /oradata/hzfctest/redo01.log
Wed May 25 17:19:16 2005
Thread 1 advanced to log sequence 21583
  Current log# 2 seq# 21583 mem# 0: /oradata/hzfctest/redo02.log
Wed May 25 17:20:18 2005
Errors in file /home/oracle/app/oracle/admin/hzfctest/bdump/snp4_7244.trc:
ORA-12012: error on auto execute of job 7
ORA-12008: error in snapshot refresh path
ORA-01578: ORACLE data block corrupted (file # 1, block # 43473)
ORA-01110: data file 1: '/oradata/hzfctest/system01.dbf'
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
ORA-06512: at "SYS.DBMS_IREFRESH", line 577
ORA-06512: at "SYS.DBMS_REFRESH", line 211
ORA-06512: at line 1
Wed May 25 17:21:23 2005
Thread 1 advanced to log sequence 21584

2。继续检查相应的snap4_72tt.trc文件:
/home/oracle/app/oracle/admin/hzfctest/bdump/snp4_7244.trc
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
JServer Release 8.1.7.4.0 - Production
ORACLE_HOME = /home/oracle/app/oracle/product/8.1.7
System name:        Linux
Node name:        beian_demo
Release:        2.4.21-4.ELsmp
Version:        #1 SMP Fri Oct 3 17:52:56 EDT 2003
Machine:        i686
Instance name: hzfctest
Redo thread mounted by this instance: 1
Oracle process number: 12
Unix process pid: 7244, image: oracle@beian_demo (SNP4)

*** SESSION ID9.874) 2005-05-25 17:20:18.424
*** 2005-05-25 17:20:18.424
ORA-12012: error on auto execute of job 7
ORA-12008: error in snapshot refresh path
ORA-01578: ORACLE data block corrupted (file # 1, block # 43473)
ORA-01110: data file 1: '/oradata/hzfctest/system01.dbf'
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
ORA-06512: at "SYS.DBMS_IREFRESH", line 577
ORA-06512: at "SYS.DBMS_REFRESH", line 211
ORA-06512: at line 1
*** SESSION ID8.687) 2005-05-25 18:14:17.122
*** 2005-05-25 18:14:17.122
ORA-12012: error on auto execute of job 7
ORA-12008: error in snapshot refresh path
ORA-01578: ORACLE data block corrupted (file # 1, block # 43473)
ORA-01110: data file 1: '/oradata/hzfctest/system01.dbf'
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
ORA-06512: at "SYS.DBMS_IREFRESH", line 577
ORA-06512: at "SYS.DBMS_REFRESH", line 211
ORA-06512: at line 1


3。检查system01.dbf参数,并用dbverify校验坏块。
SVRMGR> connect internal
连接成功。
SVRMGR> show parameter db_block_size
NAME                                TYPE    VALUE
----------------------------------- ------- ------------------------------
db_block_size                       整数    8192                          
SVRMGR> select file#,name,bytes/8192 from v$datafile;
FILE#      NAME                                                                             BYTES/8192
---------- -------------------------------------------------------------------------------- ----------
         1 /oradata/hzfctest/system01.dbf                                                        57600
         2 /oradata/hzfctest/tools01.dbf                                                          1024
         3 /oradata/hzfctest/rbs01.dbf                                                          261888
         4 /oradata/hzfctest/temp01.dbf                                                          24304
         5 /oradata/hzfctest/users01.dbf                                                         13312
         6 /oradata/hzfctest/indx01.dbf                                                           6912
         7 /oradata/hzfctest/drsys01.dbf                                                         10752
         8 /oradata/hzfctest/WEBDBSPACE.dbf                                                     262016
         9 /oradata/hzfctest/WEBDBSPACE1.dbf                                                    262016
        10 /oradata/hzfctest/rbs02.dbf                                                          131072
已选择10行。
SVRMGR> host

$ dbv file=/oradata/hzfctest/system01.dbf blocksize=8192

DBVERIFY: Release 8.1.7.4.0 - Production on 星期四 5月 26 14:28:52 2005

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

DBVERIFY - 检验开始:FILE = /oradata/hzfctest/system01.dbf
Block Checking: DBA = 4237777, Block Type = KTB-managed data block
Found block already marked corrupted


DBVERIFY - 完成检验

检查的页面总数         :57600
处理的页面总数(数据):28140
失败的页面总数(数据):0
处理的页面总数(索引):11082
失败的页面总数(索引):0
处理的页面总数(其它):15147
空的页面总数            :3231
标记损坏的页面总数:0
汇集的页面总数           :0

4。窝想问的是,既然ORACLE已经把坏块标识出来,为何现在执行程序还是会报错,程序无法执行下去?有没什么办法解决?
谢谢!
页: [1]
查看完整版本: ora-01578 system dbf 出错(急)