- 最后登录
- 2017-5-4
- 在线时间
- 81 小时
- 威望
- 999
- 金钱
- 2391
- 注册时间
- 2013-9-11
- 阅读权限
- 150
- 帖子
- 1124
- 精华
- 5
- 积分
- 999
- UID
- 1220
|
1#
发表于 2017-4-15 22:28:53
|
查看: 2247 |
回复: 0
alert.log日志发现坏块
ORA-01578: ORACLE data block corrupted (file # ORA-01578: ORACLE data block corrupted (file # 2, block # 196408)
ORA-01110: data file 2: '+DATA/RAC1/datafile/sysaux.257.776008443'
定位到这个坏块对应的是sysaux下的SYS_LOB0000006213C00038$$,这个是lob类型,请问大家如何处理?
OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME
SYS SYS_LOB0000006213C00038$$ LOBSEGMENT SYSAUX 61
Select owner,object_name,object_id,object_type From Dba_Objects t
Where object_name = 'SYS_LOB0000006213C00038$$';
OWNER OBJECT_NAME OBJECT_ID OBJECT_TYPE
SYS SYS_LOB0000006213C00038$$ 6214 LOB
奇怪的是,现在做全备份是成功的,不知道为什么有坏块还可以备份成功,备份脚本里没有使用跳过坏块.
数据库版本是11GR2
怎么解决呢?
Select owner,table_name From Dba_Lobs
Where Segment_Name = 'SYS_LOB0000006213C00038$$'
---------------------------------------------------------
OWNER TABLE_NAME
SYS WRH$_SQL_PLAN
奇怪了,既然这个表上有坏块,怎么我查询也不抱错误,以下两个语句都能正常返回结果.
Select/*+ full(t) */
Count(1) From sys.WRH$_SQL_PLAN t;
Select/*+ index(t) */
Count(1) From sys.WRH$_SQL_PLAN t
跳过坏块导出也不行.
ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
exp system/sys@DB01 file=C:\SQL_PLAN.dmp tables=sys.WRH$_SQL_PLAN
Export: Release 11.2.0.1.0 - Production on 星期一 8月 13 15:18:54 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径...
当前的用户已更改为 SYS
. . 正在导出表 WRH$_SQL_PLAN
EXP-00056: 遇到 ORACLE 错误 1578
ORA-01578: ORACLE 数据块损坏 (文件号 2, 块号 194362)
ORA-01110: 数据文件 2: '+DATA/data/datafile/sysaux01.dbf'
ORA-26040: 数据块是使用 NOLOGGING 选项加载的
导出成功终止, 但出现警告。
坏块是WRH$_SQL_PLAN这个表的other_xml clob类型对象,表已经重建了,但坏块依然存在呀,我觉得很奇怪为什么有坏块也能rman备份(全备份)?
|
|