暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
ORA-08103 脚本捞出原表数据,并标记异常数据块.docx
178
7页
0次
2023-06-10
100墨值下载
ORA-08103
脚本捞出原表数据,并标记
异常数据块
脚本功能
脚本使用示例
脚本功能
坏块导致重建索引时出现
ORA-8103
,进行表数抽取;
注意
1
:当前脚本,仅限于在普通堆表上使用
(
无分区,无
LOB)
注意
2
:脚本中加速了查询
ext#map,
仅适用于
ASSM
管理的表空间
脚本使用示例
数据库掉电重启,存储存在问题,恢复之后发现索引坏块,在索引
重建的时候报错
ORA-8103
,表记录的
ext#map
中的
data_obj#
经和数据字典中的不一致;
通过脚本捞取正常块的数据,并标记
8103
的坏块
注意:
rowid
L1 BMB
L2 BMB
也会报
8103
--
如果查询时报错
ORA-08103
就可以使用脚本进行数据抽取
-- 1
先在相同用户下创建结构一样的表
(
最好是在不同的表空间
SYS@DB(db): 1> create table cog.t1_recover tablespace USERS as
select * from dba_objects where 1=2;
Table created.
-- 2
运行脚本进行抽取
--
脚本
3
个参数:用户名 表名 恢复的表名
SYS@DB(db): 1> @tablescan cog t1 t1_recover
-- Check programming
大表的话可以使用下面
SQL
查看进度
-- select client_info from v$session where client_info is not null
=========================================
-- Scaned blocks::384/384 rows_recover:25000
PL/SQL procedure successfully completed.
-- validate data
-- select count(1) from cog.t1_recover
-- Ext#map table
-- select * from system.TAB_EXT_MAP
-- Err block
-- select * from system.TAB_SCAN_ERR
select count(1) from cog.t1;
COUNT(1)
--------
of 7
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论