暂无图片
Oracle 19c如何准确查出所有坏块是哪些对象
我来答
分享
天道酬勤
2022-09-02
Oracle 19c如何准确查出所有坏块是哪些对象

请问windows环境下,如何检查出所有坏块对应的是哪些对象呢?

已经执行如下命令:

backup validate check logical database


查这个视图出现了几十行的信息

select * from V$DATABASE_BLOCK_CORRUPTION;


这么多坏块  请问我该如何查出来哪些坏块对应哪些对象呢?

没有任何备份的情况

我现在打算通过expdp把数据部分出来,但是又担心其中有坏块无法正常导出,所以想提前查出来,然后排除掉这类对象

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾

你看看这个能否帮到你,

确定坏块影响的数据库对象

https://www.cnblogs.com/xibuhaohao/p/15132466.html

暂无图片 评论
暂无图片 有用 0
打赏 0
张sir

1、根据V$DATABASE_BLOCK_CORRUPTION中的信息确定坏块类型

SELECT tablespace_name, segment_type, owner, segment_name, partition_name  FROM dba_extents WHERE file_id =  and  between block_id AND block_id + blocks
复制

2、如果是索引,恭喜你,直接rebuild索引就ok,不会丢失数据

3、如果是数据块,用DBMS_REPAIR.SKIP_CORRUPT_BLOCKS或者10231 event跳过坏块,然后用expdp导出。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏