oracle 数据块 修复,案例:Oracle坏块 使用RMAN工具的命令clear标记数据块为corrupt 修复坏块...
天萃荷净
运维DBA巡检发现数据文件中存在坏块,使用RMAN工具的命令clear标记数据坏块,使用bbed修复坏块
在rman中有隐藏的命令clear,可以标记数据块为corrupt,从而实现数据库坏块试验,本篇blog通过dbv,bbed,table select来验证坏块的出现和修复
创建测试表
SQL> create table t_oracleplus as
2 select object_id,object_name from dba_objects where rownum<10;
Table created.
SQL> select rowid,
2 dbms_rowid.rowid_relative_fno(rowid) rel_fno,
3 dbms_rowid.rowid_block_number(rowid) block
4 from chf.t_oracleplus;
ROWID REL_FNO BLOCK
------------------ ---------- ----------
AAAStAAAEAAAACrAAA 4 171
AAAStAAAEAAAACrAAB 4 171
AAAStAAAEAAAACrAAC 4 171
AAAStAAAEAAAACrAAD 4 171
AAAStAAAEAAAACrAAE 4 171
AAAStAAAEAAAACrAAF 4 171
AAAStAAAEAAAACrAAG 4 171
AAAStAAAEAAAACrAAH 4 171
AAAStAAAEAAAACrAAI 4 171
9 rows selected.
SQL> alter system checkpoint;
System altered.
1.dbv验证坏块
[oracle@oracleplus ~]$ dbv file=/u01/oracle/oradata/ora11g/users01.dbf
DBVERIFY: Release 11.2.0.3.0 - Production on Sun Jan 20 09:12:16 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oracle/oradata/ora11g/users01.dbf
DBVERIFY - Verification complete
Total Pages Examined : 7680
Total Pages Processed (Data) : 3776
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 167
Total Pages Failing (Index): 0
Total Pages Processed (Other): 744
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 2993
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 1006717955 (2956.1006717955)
这里创建了t_oracleplus表,数据存储在file 4 block 171中,现在该block一切正常,本试验就是要通过rman来使得该block corrupt,然后通过bbed来修复
bbed查看kcbh
BBED> set block 171
BLOCK# 171
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x010000ab
ub4 bas_kcbh @8 0x3c014bfe
ub2 wrp_kcbh @12 0x0b8c
ub1 seq_kcbh @14 0x02
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0x6e0c
ub2 spare3_kcbh @18 0x0000
2.rman标记坏块
RMAN> BLOCKRECOVER DATAFILE 4 block 171 clear;
Starting recover at 20-JAN-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
Finished recover at 20-JAN-13
dbv再次检查坏块
[oracle@oracleplus ~]$ dbv file=/u01/oracle/oradata/ora11g/users01.dbf
DBVERIFY: Release 11.2.0.3.0 - Production on Sun Jan 20 09:53:16 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oracle/oradata/ora11g/users01.dbf
Page 171 is marked corrupt
Corrupt block relative dba: 0x010000ab (file 4, block 171)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x010000ab
last change scn: 0x0b8c.3c014bfe seq: 0x2 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x4bfe0602
check value in block header: 0x6e0c
computed block checksum: 0xb5bc
DBVERIFY - Verification complete
Total Pages Examined : 7680
Total Pages Processed (Data) : 3775
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 167
Total Pages Failing (Index): 0
Total Pages Processed (Other): 744
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 2993
Total Pages Marked Corrupt : 1
Total Pages Influx : 1
Total Pages Encrypted : 0
Highest block SCN : 1006717955 (2956.1006717955)
尝试查询数据
SQL> select count(*) from t_oracleplus;
select count(*) from t_oracleplus
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 4, block # 171)
ORA-01110: data file 4: '/u01/oracle/oradata/ora11g/users01.dbf'
bbed验证坏块
BBED> set block 171
BLOCK# 171
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x010000ab
ub4 bas_kcbh @8 0x3c014bfe
ub2 wrp_kcbh @12 0x0b8c
ub1 seq_kcbh @14 0x02
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0x6e0c
ub2 spare3_kcbh @18 0x0000
BBED> verify
DBVERIFY - Verification starting
FILE = /u01/oracle/oradata/ora11g/users01.dbf
BLOCK = 171
Block 171 is corrupt
Corrupt block relative dba: 0x010000ab (file 0, block 171)
Bad check value found during verification
Data in bad block:
type: 6 format: 2 rdba: 0x010000ab
last change scn: 0x0b8c.3c014bfe seq: 0x2 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x4bfe0602
check value in block header: 0x6e0c
computed block checksum: 0xb5bc
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 0
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 1
Total Blocks Influx : 0
Message 531 not found; product=RDBMS; facility=BBED
这里通过dbv,bbed,select table都证明rman能够标记block为Corrupt.
这里需要分析:block已经被标记,那证明该块肯定有修改,也就是说chkval_kcbh一定要变化,但是这里没有变化,证明该处异常
3.bbed修复rman生成坏块
BBED> sum apply
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
Check value for File 0, Block 171:
current = 0xdbb0, required = 0xdbb0
BBED> verify
DBVERIFY - Verification starting
FILE = /u01/oracle/oradata/ora11g/users01.dbf
BLOCK = 171
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 1
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 0
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
Message 531 not found; product=RDBMS; facility=BBED
bbed测试坏块已经修复
dbv验证坏块
[oracle@oracleplus ~]$ dbv file=/u01/oracle/oradata/ora11g/users01.dbf
DBVERIFY: Release 11.2.0.3.0 - Production on Sun Jan 20 10:01:46 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oracle/oradata/ora11g/users01.dbf
DBVERIFY - Verification complete
Total Pages Examined : 7680
Total Pages Processed (Data) : 3776
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 167
Total Pages Failing (Index): 0
Total Pages Processed (Other): 744
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 2993
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 1006717955 (2956.1006717955)
dbv测试坏块也被修复
查询表验证
SQL> select count(*) from t_oracleplus;
COUNT(*)
----------
9
数据也可以正常查询,证明rman的坏块问题通过bbed解决
总结说明
1.我们可以通过rman的clear命令来标记坏块(BLOCKRECOVER DATAFILE file# BLOCK block1#, block2#, block3#… CLEAR ;)
2.我们可以通过bbed的sum apply命令来修复该类型坏块
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之案例:Oracle坏块 使用RMAN工具的命令clear标记数据块为corrupt 修复坏块
oracle 数据块 修复,案例:Oracle坏块 使用RMAN工具的命令clear标记数据块为corrupt 修复坏块...相关推荐
- oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...
天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...
- oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件
天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...
- oracle没用过元数据,案例:Oracle RAC asm备份元数据之md_backup和md_restore 好处与
天萃荷净 Oracle rAC asm备份元数据之md_backup和md_restore好处与坏处 在11g的asm中增加了md_backup和md_restore命令,用来备份和还原asm的元数据 ...
- oracle 10035 err 942,案例:Oracle日志报错 Fatal NI connect error 12170 TNS-12535 TNS-00505
天萃荷净 Oracle数据库alert日志文件报错Fatal NI connect error 12170,通过查看mos相关文章找到解决办法 今天在一台服务器的日志文件中,发现如下信息: Fatal ...
- oracle goldengate 数据库实例,案例:Oracle goldengate报错ggsci: error while loading shared libraries:...
天萃荷净 Oracle goldengate配置时报错ggsci: error while loading shared libraries 在部署goldengate过程中发现如下错误: [orac ...
- oracle 提示存在lob,案例:Oracle数据库临时文件特别大 commit后lob字段使用临时表空...
测试结果$ ./test1.sh SQL*Plus: Release 10.2.0.5.0 - Production on Fri Oct 12 10:04:39 2012 Copyright (c) ...
- 让数据填报、收集效率提升80%!这个报表工具真的太强大了
需要做数据汇报,有什么好的数据填报工具推荐? 选择填报工具最主要还是要看你实际的数据量 1.对于小企业来说,简单的数据填报收集工具用石墨文档/腾讯文档足矣 2.对于中大型企业复杂数据填报场景来说,用F ...
- AI人工智能标记数据的技术:类型、方法、质量控制、应用
AI人工智能 标记数据 在人工智能(Artificial Intelligence,简称AI)领域中,标记数据是非常重要的一环.它是指对原始数据进行标记和注释,以便机器学习算法可以理解和利用这些数据. ...
- oracle坏块 戴明明,Oracle数据库问题解决方案和故障排除手册
第1 章 LOB 段性能的诊断与调优 1 1.1 LOB 数据类型的介绍 1 1.1.1 解决LOB 问题:一个真实的案例 2 1.1.2 另一个真实案例:HW 分析 4 1.1.3 BASICFIL ...
最新文章
- 藤摇椅游戏道具制作全流程讲解视频教程
- 请大佬们多给运维人员思考和决策的权利
- CDO/CDS与次贷危机
- 深入理解 C 指针阅读笔记 -- 第四章
- 机器学习常见算法汇总
- mysql嵌入式语句_MySQL/MariaDB 语句速查笔记
- 函数计算帮助石墨文档突破性能瓶颈,有效节省服务器成本
- C++描述杭电OJ 2017.字符串统计||
- iosession在linux下拒绝链接,iosession 关闭
- python编程入门与案例详解-干货|| 清华大佬推荐的python400集入门资料
- jQuery 选择器 (基础恶补之二)
- Linux find并移动mv 14天前的文件
- (最小割求最小割集)poweroj2883病毒侵染
- python 手机号码_Python手机号码归属地查询代码
- C语言程序设计精髓 第14周——结构设计的艺术 练兵区——编程题
- 腾讯云Ubuntu18.04.4上安装brat文本标注工具(2020年9月)
- ESP8266开发板+mysql数据库+DHT11
- seetaface6 GPU版本windows编译
- 张生情迷崔莺莺,襄王意欲会神女——新说莺莺传之二
- SQL查询语句分步详解——SELECT...FROM...WHERE...GROUP BY...
热门文章
- 著名物理学家张首晟2018年12月1日去世,享年 55 岁。此事件被美国当地警方认为是自杀,目前已经结案。
- Android开发之将Edittext输入弹出的软键盘设置搜索确定键。详细代码,已验证可用。...
- 王老吉三亿元投资雅安被质疑作秀九
- java制造业MES企业生产管理系统,ERP系统源码 MES制造执行系统
- 冒泡排序zzzzzzz
- 2022-2028年中国氦质谱检漏仪行业竞争策略研究及未来前景展望报告
- Timer TimerTask
- 《Openwrt开发》第一章:newifi3 刷自己编译的Openwrt固件
- Wonderware MES—施耐德MES/MOM平台解读
- SCons简单入门(一)