当前位置: 首页 > news >正文

oracle数据坏块处理(三)-数据抽取插入到新表中

通过rman做check数据文件后,查询出对象及类型:

SELECT e.owner,e.segment_type,e.segment_name,e.partition_name,c.file#,greatest(e.block_id, c.block#) corr_start_block#,least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) -greatest(e.block_id, c.block#) + 1 blocks_corrupted,null descriptionFROM dba_extents e, v$database_block_corruption cWHERE e.file_id = c.file#AND e.block_id <= c.block# + c.blocks - 1AND e.block_id + e.blocks - 1 >= c.block#
UNION
SELECT s.owner,s.segment_type,s.segment_name,s.partition_name,c.file#,header_block corr_start_block#,header_block corr_end_block#,1 blocks_corrupted,'Segment Header' descriptionFROM dba_segments s, v$database_block_corruption cWHERE s.header_file = c.file#AND s.header_block between c.block# and c.block# + c.blocks - 1
UNION
SELECT null owner,null segment_type,null segment_name,null partition_name,c.file#,greatest(f.block_id, c.block#) corr_start_block#,least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) -greatest(f.block_id, c.block#) + 1 blocks_corrupted,'Free Block' descriptionFROM dba_free_space f, v$database_block_corruption cWHERE f.file_id = c.file#AND f.block_id <= c.block# + c.blocks - 1AND f.block_id + f.blocks - 1 >= c.block#order by file#, corr_start_block#;

查出结果

如果是表损坏,在添加event 10231跳过也不能导出的情况下,生成新表,根据rowid生成insert语句,正常数据插入到新表

create table test as seelct * from BL_SHUJUBD t where 1=2;
select 'insert into test select * from BL_SHUJUBD t where rowid between '||''''||dbms_rowid.rowid_create(1,o.data_object_id,e.RELATIVE_FNO,e.BLOCK_ID,0)||''''||' and '||''''||DBMS_ROWID.ROWID_CREATE(1,o.data_object_id,e.RELATIVE_FNO,e.BLOCK_ID+e.BLOCKS-1,10000)||''''||';'||CHR(10)||'commit;' from dba_extents e,dba_objects o
  where e.segment_name='BL_SHUJUBD'
  and e.owner='HIS4'
  AND o.object_name = 'BL_SHUJUBD'
  AND o.owner='HIS4';

然后重命名表


http://www.mrgr.cn/news/68555.html

相关文章:

  • 夜天之书 #103 开源嘉年华纪实
  • Linux和,FreeRTOS 任务调度原理,r0-r15寄存器,以及移植freertos(一)
  • SpringBoot基础系列学习(五):JdbcTemplate 访问数据库
  • Linux grep 使用正则表达式说明
  • 什么是ASO优化?
  • 996引擎 - 活捉NPC
  • RHCE—web服务器
  • VR的左右眼渲染方法
  • 08 反射与注解
  • 【Linux】解锁操作系统潜能,高效线程管理的实战技巧
  • vue3使用easy-player播放hls监控流
  • AIGC--如何在内容创作中合理使用AI生成工具?
  • 1 天通关 AWS AI 认证,AWS AI 从业者证书最强考试指南
  • LangChain 快速入门
  • 信息安全工程师(83)Windows操作系统安全分析与防护
  • 淘宝商品详情API大揭秘:用Python开启探险之旅
  • 自动驾驶中,2d图像目标检测(分割),融合激光雷达点云信息
  • ChatGLM2-6B微调记录【1】
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(2)
  • ​解决‌win11无法打开msi安装程序包的方法‌
  • AI预测体彩排3采取888=3策略+和值012路+胆码+通杀1码测试11月8日升级新模型预测第128弹
  • 虚假新闻检测:CSV格式数据集的预处理与模型选择
  • 改变财务规划思维方式,迎接创新技术新时代
  • 数据分析的力量如何驱动商业决策和创新发展
  • 文件系统和日志管理 附实验:远程访问第一台虚拟机日志
  • 基于Springboot+Vue的网上拍卖系统 (含源码数据库)