???? 1.故障现象
[oracle@rptdb1 ~]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Sat Mar 2 08:22:42 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-12001: could not open channel default
RMAN-10008: could not create channel context
RMAN-10024: error setting up for rpc polling
RMAN-10006: error running SQL statement: select action from gv$session where sid=:1 and serial#=:2 and inst_id=:3
RMAN-10002: Oracle error: ORA-00604: error occurred at recursive SQL level 2
ORA-01578: ORACLE data block corrupted (file # 1, block # 115747)
ORA-01110: data file 1: '+DATA/RPTDB/system01.dbf'
同时查询alert日志,报system表空间有坏快
2024-03-02T08:22:42.694285+08:00
Errors in file /u01/app/oracle/diag/rdbms/rptdb/rptdb1/trace/rptdb1_ora_32329.trc (incident=24462):
ORA-01578: ORACLE data block corrupted (file # 1, block # 115747)
ORA-01110: data file 1: '+DATA/RPTDB/system01.dbf'
???? 2.坏快校验
✨ 2.1 DBV工具
dbv file=+DATA/RPTDB/system01.dbf
DBVERIFY - Verification complete
Total Pages Examined : 116480
Total Pages Processed (Data) : 80901
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 13056
Total Pages Failing (Index): 0
Total Pages Processed (Other): 5087
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 16667
Total Pages Marked Corrupt : 769
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2742156 (0.2742156)
这里Total Pages Marked Corrupt:769 说明有了坏块
✨ 2.2 查询坏块对象
先查看损坏的是什么类型的数据库对象:
SELECT SEGMENT_TYPE, OWNER, SEGMENT_NAME FROM DBA_EXTENTS
WHERE FILE_ID = 1
AND 115760 BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS;
发现这是sys用户的一个簇
说明:cluster是簇,可以将两个或多个表捆绑在一起,
它是一种数据库结构,在这个结构中,
可以将两个或者多个表储存在相同的数据块或段中,
加入到cluster中的每个表行将物理地存储在相同的块中,
好像这些表在cluster key 处连接起来了一样
???? 3.故障处理
✨ 3.1 坏块验证
set linesize 200
select * from v$database_block_corruption;
rman target /
run{
allocate channel d1 type disk;
backup check logical validate datafile 1;
release channel d1;
};
select * from v$database_block_corruption;
### 3.2 recoverblock恢复
rman target /
RMAN> blockrecover datafile 1 block 115760;
???? 4.总结
>遇到ORA-01578后,第一步应首先确定rman备份情况,如果有可用备份,
一切都不太糟糕,几条rman命令就可以修复
如果没有再确定坏块对应的是什么对象,
如果是索引等非数据对象,可以考虑drop后再create一次;
如果坏块落在数据上,设置10231内部事件,
然后可以试一下用bbed或者其他工具直接对数据文件进行二进制编辑从而手动修复数据文件
突发,亲历数据仓库ORA-01578:ORACLE data block corrupted
来源:这里教程网
时间:2026-03-03 19:45:43
作者:
编辑推荐:
- 突发,亲历数据仓库ORA-01578:ORACLE data block corrupted03-03
- PLSQL工具获取AWR报告的方法03-03
- Oracle清理闪回日志03-03
- 电商搬家接口 一键复制商品信息Python php jason03-03
- 分页语句该怎么写?03-03
- 糟糕,归档满RMAN进不去,CPU98%了!03-03
- row_number 函数和关联更新03-03
- 数据库hang住分析处理03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 突发,亲历数据仓库ORA-01578:ORACLE data block corrupted
- 分页语句该怎么写?
分页语句该怎么写?
26-03-03 - 糟糕,归档满RMAN进不去,CPU98%了!
糟糕,归档满RMAN进不去,CPU98%了!
26-03-03 - row_number 函数和关联更新
row_number 函数和关联更新
26-03-03 - Temu,藏在拼多多财报里的中国制造红利
Temu,藏在拼多多财报里的中国制造红利
26-03-03 - 同城即配年度观察:顺丰同城率先全年盈利,行业破局迎参考
同城即配年度观察:顺丰同城率先全年盈利,行业破局迎参考
26-03-03 - 数据库管理-第160期 Oracle Vector DB & AI-11(20240312)
- ARCH进程和LGWR进程
ARCH进程和LGWR进程
26-03-03 - 分区表索引失效导致业务异常
分区表索引失效导致业务异常
26-03-03 - 数据库管理-第163期 19c重建ADG的两个方法(20240323
数据库管理-第163期 19c重建ADG的两个方法(20240323
26-03-03
