在Oracle中,如何确定坏块的对象名?
根据绝对文件号和块号确定数据块对象的SQL语句如下:
1SELECT TABLESPACE_NAME,
2 SEGMENT_TYPE,
3 OWNER,
4 SEGMENT_NAME,
5 PARTITION_NAME
6FROM DBA_EXTENTS
7WHERE FILE_ID = &FILE_ID
8AND &BLOCK_ID BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS - 1
9;复制
如下的SQL可以确定段占用的数据块:
1SELECT DBMS_ROWID.ROWID_OBJECT(ROWID) OBJECT_ID,
2 DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) FILE_ID,
3 DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK_ID,
4 COUNT(1) COUNTS
5 FROM LHR.T_BC_LHR D
6 GROUP BY DBMS_ROWID.ROWID_OBJECT(ROWID),
7 DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID),
8 DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
9 ORDER BY DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID);复制
关于坏块需要注意以下几点:
① 对于受损的数据块,仅仅坏块上的数据无法被查询或读取,其余正常块的数据依旧可以使用。
② 对于受损的表对象进行聚合等相关运算时会收到错误提示,因为坏块上的数据无法被统计。
③ 可以基于RMAN的备份文件实现块介质恢复,其数据文件无需OFFLINE,开销最小,影响最小。
④ 对于多个数据块的损坏,先执行BACKUP VALIDATE校验数据库或相应的数据文件以便标记受损的坏块后,填充V$DATABASE_BLOCK_CORRUPTION后再使用命令“BLOCKRECOVER CORRUPTION LIST;”一次性恢复所有的坏块。
⑤ 在缺省情况下,存在坏块的数据文件无法成功备份,也会导致自动备份脚本失败。
& 说明:
有关数据块的恢复的内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2139709/
有关NOLOGGING引起的坏块的内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2152783/、http://blog.itpub.net/26736162/viewspace-2158170/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
==================================================================================================================
【干货来了|小麦苗IT资料分享】
★小麦苗DB职场干货:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
★小麦苗数据库健康检查:https://share.weiyun.com/5lb2U2M
★小麦苗微店:https://weidian.com/?userid=793741433
★各种操作系统下的数据库安装文件(Linux、Windows、AIX等):https://pan.baidu.com/s/1hqff3Evv6oj2-Tn87MpFkQ
★小麦苗分享的资料:https://share.weiyun.com/57HUxNi
★小麦苗课堂资料:https://share.weiyun.com/5fAdN5m
★小麦苗课堂试听资料:https://share.weiyun.com/5HnQEuL
★小麦苗出版的相关书籍:https://share.weiyun.com/5sQBQpY
★小麦苗博客文章:https://share.weiyun.com/5ufi4Dx
★数据库系列(Oracle、MySQL、NoSQL):https://share.weiyun.com/5n1u8gv
★公开课录像文件:https://share.weiyun.com/5yd7ukG
★其它常用软件分享:https://share.weiyun.com/53BlaHX
★其它IT资料(OS、网络、存储等):https://share.weiyun.com/5Mn6ESi
★Python资料:https://share.weiyun.com/5iuQ2Fn
★已安装配置好的虚拟机:https://share.weiyun.com/5E8pxvT
★小麦苗腾讯课堂:https://lhr.ke.qq.com/
★小麦苗博客:http://blog.itpub.net/26736162/
★OCP培训:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
★12c的OCP培训:https://mp.weixin.qq.com/s/hMLHlyjMHhLmA0xN4hLvfw
★OCM培训:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
★高可用(RAC+DG+OGG)培训:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw
★小麦苗课堂腾讯视频:http://v.qq.com/vplus/71f69a319a24c6808cd6e6189ae90664
==================================================================================================================
复制
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599、618766405
● 微信:lhrbestxh
● 微信公众号:DB宝
● 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。