- 最后登录
- 2017-5-4
- 在线时间
- 81 小时
- 威望
- 999
- 金钱
- 2391
- 注册时间
- 2013-9-11
- 阅读权限
- 150
- 帖子
- 1124
- 精华
- 5
- 积分
- 999
- UID
- 1220
|
1#
发表于 2017-4-12 18:46:10
|
查看: 1533 |
回复: 0
问题描述:
在执行高级复制刷新时,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
[oracle@beian_demo jzg]$ 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已经把坏块标识出来,为何现在执行程序还是会报错,程序无法执行下去?有没什么办法解决?
谢谢! |
|