1、概述

作用:

用于检测,修复在表和索引上的损坏数据块

2、包的组成

1)、admin_tables
语法:
dbms_repair.admin_tables(table_name in varchar2,table_type in binary_integer,action in binary_integer,tablespace in varchar2 default null);
其中table_name用于指定要处理的表名,必须要指定前缀orphan或repair,table_type指定表类型(orphan或repair_table),
action指定要执行的管理操作(建立表create_action,删除所有行purge_action,删除表drop_action),tablespace用于指定表所在的表空间。
例子:
exec dbms_repair.admin_tables('repair_table',dbms_repair.repair_table,dbms_repair.create_action,'system');
exec dbms_repair.admin_tables('orphan_table',dbms_repair.orphan_table,dbms_repair.create_action,'system');
--上面例子执行第一条语句后,会建立修复表repair_table,并且该修复表用于存放损坏数据块的信息;执行第二条语句后,会建立孤表orphan_table,该表用于存放指向损坏数据块的索引入口信息。
2)、check_object
作用:

用于检查特定对象,并将损坏信息填写到修复表中。

语法:
dbms_repair.check_object(schema_name in varchar2,object_name in varchar2,partition_name in varchar2 default null,object_type in binary_integer default tables_object,
repair_table_name in varchar2 default 'repair_table',flags in binary_integer default null,relative_fno in binary_integer default null,
block_start in binary_integer default null,block_end in binary_integer default null,corrupt_count out binary_integer);
--其中schema_name指定要检查对象的方案名,object_name指定要检查的对象名,partition_name用于指定要检查的分区名,object_type指定要检查对象的类型(table_object或index_object),
--repair_table_name指定要被填写的修复表,flags为将来使用而保留,relative_fno指定相对文件号,block_start指定要检查的起始块号,block_end指定要检查的结束块号,
--corrupt_count用于返回损坏的块个数。
例子:
var corr_count number;
exec dbms_repair.check_object('scott','emp',corrupt_count=>:corr_count);
print corr_count
3)、dump_orphan_keys
作用:

用于报告指向损坏数据块行的索引入口,并且会将相应索引入口的信息插入到孤表中。

语法:
dbms_repair.dump_orphan_keys(schema_name in varchar2,object_name in varchar2,
partition_name in varchar2 default null,object_type in binary_integer default index_object,
repair_table_name in varchar2 default 'repair_table',orphan_table_name in varchar2 default 'orphan_keys_table',
flags in binary_integer default null,key_count out binary_integer);
--其中object_type指定对象类型(index_object),repair_table_name指定修复表名,orphan_table_name指定孤表名,key_count用于返回索引入口个数。
例子:
var key_count number
exec dbms_repair.dump_orphan_keys('scott','pk_emp',orphan_table_name=>'orphan_table',key_count=>:key_count);
print key_count
4)、fix_corrupt_blocks
作用:

修复被损坏的数据块,这些被损坏的数据块是在执行了check_object之后生成的。

语法:
dbms_repair.fix_corrupt_blocks(schema_name in varchar2,object_name in varchar2,partition_name in varchar2 default null,
object_type in binary_integer default table_object,repair_table_name in varchr2 default 'repair_table',
flags in binary_integer default null,fix_count out binary_integer);
--其中object_type指定对象类型(table_object),fix_count返回修复的数据块个数。
例子:
var fix_count number
exec dbms_repair.fix_corrup_block('scott','emp',fix_count=>:fix_count);
print fix_count
5)、rebuild_freelists
作用:

用于重建指定对象的空闲列表

语法:
dbms_repair.rebuild_freelists(schema_name in varchar2,object_name in varchar2,partition_name in varchar2 default null,
object_type in binary_integer default table_object);
--其中object_type指定对象类型(table_object)。
例子:
exec dbms_repair.rebuild_freelists('scott','emp');
6)、skip_corrupt_blocks
作用:

用于指定在扫描对象(表或索引)时跳过损坏块。

语法:
dbms_repair.skip_corrupt_blocks(schema_name in varchar2,object_name in varchar2,object_type in binary_integer default table_object,
flag in binary_integer default skip_flag);
其中object_type指定对象类型(table_object),flags指定是否要跳过损坏块(skip_flao跳过,no_skip_flag不跳过)
例子:
exec dbms_repair.skip_corrupt_blocks('scott','emp');
7)、segment_fix_status
作用:

用于修复位图入口的损坏

语法:
dbms_repair.segment_fix_status(segment_owner in varchar2,segment_name in varchar2,segment_type in binary_integer default table_object,
file_number in binary_integer default null,block_number in binary_integer default null,
status_value in binary_integer default null,partition_name in varchar2 default null);
--其中segment_owner指定段所有者,segment_name指定段名,segment_type指定段类型,file_number指定数据块所在的相对文件号,
--block_number指定数据块号,status_value指定块状态值(1:全块,2:0~25%,3:25%~50%,4:50%~75%,5:75%~100%)
--partition_name指定分区名。
例子:
exe dbms_repair.segment_fix_status('sys','mytab');

Oracle基础包之DBMS_REPAIR(十八)相关推荐

  1. Oracle基础包之DBMS_RLS(八)

    概述 本报只适用于Oracle Enterprise Edition,它用于实现精细访问控制,并且精细访问控制是通过在SQL语句中动态增加谓词(WHERE子句)来实现的. 通过使用ORACLE的精细访 ...

  2. Oracle基础包之DBMS_STATS(二十)

    1.概述 作用: 用于搜集,查看,修改数据库对象的优化统计信息 2.包的组成 (1).get_column_stats 作用: 用于取得列的统计信息 语法: dbms_stats.get_column ...

  3. 0基础lua学习(十八)C调用Lua----02Lua堆栈

    1. Lua与C通信,为什么使用虚拟的一个堆栈? 当在 Lua 和 C 之间交换数据有两个问题: 动态与静态类型系统的不匹配 自动与手动内存管理的不一致 Lua中a[k]=v,a和k可能的类型,有很多 ...

  4. 《零基础》MySQL 排序(十八)

    我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序 ...

  5. php点击标题进入_重新学习php基础之-E-mail(十八)

    php email PHP 发送电子邮件 PHP 允许您从脚本直接发送电子邮件. PHP mail() 函数 PHP mail() 函数用于从脚本中发送电子邮件. 语法 mail(to,subject ...

  6. python 基础列表解析(十八)

    # 列表解析:根据一个列表的解析快速生成另外一个列表 a = [1,2,3,4] # 新生成一个列表 b = [2,3,4,5] # 把元素从列表里面取出来,给b赋值 b = [item + 1 fo ...

  7. 可自定义匹配规则查找控件_懂Excel轻松入门Python数据分析包pandas(二十八):二分法查找...

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 > E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 ...

  8. Go入门系列(十八) 反射、包和测试工具

    本系列文章目录 展开/收起 Go入门系列(一) 初识Go语言 Go入门系列(二) 变量.指针.数据类型简介和作用域 Go入门系列(三) 基础类型--整型.浮点型.布尔类型和字符串 Go入门系列(四) ...

  9. 燕十八ajax笔记,燕十八php視频教程笔记(PHP基础部分).doc

    燕十八php視频教程笔记(PHP基础部分) 001-开学典礼 002-变量概念及命名规范 <?php //?$a?是钥匙[107房间],?房间里的内容是值, /* echo?$a,?什么过程? ...

最新文章

  1. js 中转换成list集合_java stream中Collectors的用法
  2. POJ 2778 DNA Sequence —— (AC自动机+矩阵快速幂)
  3. idea Empty git --version output:解决
  4. iOS 获取网络状态
  5. Python类中的self到底是干啥的
  6. QML模块定义qmldir文件
  7. 计算数字1至10的总和
  8. L1-034 点赞 (20 分)—团体程序设计天梯赛
  9. EXCEL同一个数据较多的表格里自己比较数据(分屏)
  10. java计算机毕业设计工会会员管理系统MyBatis+系统+LW文档+源码+调试部署
  11. 联想计算机睡眠如何唤醒,笔记本电脑休眠和睡眠如何唤醒
  12. 简单教会按关键字搜索商品
  13. Numpy库的三种矩阵乘法
  14. Error at hooking API “LoadStringA“ Dump first 32 bytes:
  15. Hadoop2.x和3.x版本区别
  16. 看顶级渣男如何邀约100个女朋友(二)
  17. mysql与oracle实现行转列并指定分隔符
  18. 阿里云 IoT 企业物联网平台 MQTT 通讯模式
  19. Java基础系列33-异常
  20. 2023年,大型数据中心PUE将降到1.3以下...

热门文章

  1. 关于居家隔离从而彻底远程工作一周的这点事
  2. 支持导出PDF文件并转换成图片格式的PDF查看控件Spire.PDFViewer
  3. 一建加试英语和计算机,一建和一造哪个考试难度大
  4. 从微信朋友圈卖“冰丝内裤”看:效果类广告投放哪家强?
  5. 广西北海中学2021年高考成绩查询,2021北海市地区高考成绩排名查询,北海市高考各高中成绩喜报榜单...
  6. 16级C++第三次上机解题报告
  7. 区块链惊现山寨万融链 怎样判断一个区块链项目的真假
  8. ImageMagick利用蒙版合成图片
  9. ExBPA工具的使用方法
  10. 学计算机20天培训心得体会学生,课件制作培训心得体会(精选11篇)