当前位置:网站首页>关于oracle表空间在线碎片整理
关于oracle表空间在线碎片整理
2022-08-03 16:28:00 【企系山顶上噶雪梨】
关于oracle表空间在线碎片整理
使用命令:
--启用行移动功能alter table <TABLE_NAME> enable row movement;--收缩表alter table <TABLE_NAME> shrink space cascade ;--cascade 可以收缩与索引段相关的空间--禁用行移动功能alter table <TABLE_NAME> disable row movement;
表大小在60G,对表进行收缩碎片整理,是否会阻塞DML,是否会对ADG产生影响呢?
采纳答案1:
oracle10g开始提供shrink的命令,要求表空间是自动段空间管理(ASSM),降低HWM。
segment shrink 分为两个阶段:
1、数据重组(compact):通过一系列insert、delete操作,将数据尽量排在段的前面,这个过程中需要在表上加RX锁,及只需要移动的行上加锁。由于涉及到rowid的改变,需要enable row movement。同时要distable基于rowid的triggers,这个过程对业务影响比较小(–由于采用compact,只有涉及移动的行才加锁,所以不会锁定整个表,其他的DML操作有部分可以进行,进而减小系统高峰期的性能开销)
2、HWM调整:第二阶段是调整HWM位置,释放空闲数据块,此过程需要在表上加X锁(独享锁,因此这个表都被锁定,如果系统处在高峰期的时候,其他在此表的DML被挂起,会产生严重阻塞),会造成表上所有DML语句阻塞,系统忙时影响较大,
以上信息来处:
https://www.cnblogs.com/klb561/p/10995016.html
回答问题:
1、在操作shrink space 降低高水位时会有排它锁(需要谨慎操作)。
2、对ADG没有任务影响。
我在生产上整理碎片是通过在线重定义,索引的话直接用rebuild online 回收空间。
希望对你有所帮助,如果感觉答案满意的话,请点击采纳
其他答案1:
oracle10g开始提供shrink的命令,要求表空间是自动段空间管理(ASSM),降低HWM。
segment shrink 分为两个阶段:
1、数据重组(compact):通过一系列insert、delete操作,将数据尽量排在段的前面,这个过程中需要在表上加RX锁,及只需要移动的行上加锁。由于涉及到rowid的改变,需要enable row movement。同时要distable基于rowid的triggers,这个过程对业务影响比较小(–由于采用compact,只有涉及移动的行才加锁,所以不会锁定整个表,其他的DML操作有部分可以进行,进而减小系统高峰期的性能开销)
2、HWM调整:第二阶段是调整HWM位置,释放空闲数据块,此过程需要在表上加X锁(独享锁,因此这个表都被锁定,如果系统处在高峰期的时候,其他在此表的DML被挂起,会产生严重阻塞),会造成表上所有DML语句阻塞,系统忙时影响较大,
以上信息来处:
https://www.cnblogs.com/klb561/p/10995016.html
回答问题:
1、在操作shrink space 降低高水位时会有排它锁(需要谨慎操作)。
2、对ADG没有任务影响。
我在生产上整理碎片是通过在线重定义,索引的话直接用rebuild online 回收空间。
希望对你有所帮助,如果感觉答案满意的话,请点击采纳
其他答案2:
shrink的一个优点是能在线进行,不影响表上的DML操作,并发的DML操作在shrink结束的时刻会出现短暂的block。
shrink的另外一个优点是在碎片整理结束后,表上相关的index仍然enable。
其他答案3:
我没有单独测试过,如果有条件的话,你可以做个备份恢复到别的机器上实际操作一把。这样比较贴合生产时间。
其他答案4:
我在生产上一般都是等有停业窗口的时候做,这种操作基本都会锁表,也可以考虑用导入导出的方式做整理碎片。
边栏推荐
- 虹科分享 | 如何测试与验证复杂的FPGA设计(3)——硬件测试
- 高薪程序员&面试题精讲系列132之微服务之间如何进行通信?服务熔断是怎么回事?你熟悉Hystrix吗?
- 【系统学习编程-编程入门-全民编程 视频教程】
- C专家编程 第1章 C:穿越时空的迷雾 1.7 编译限制
- leetcode-268.丢失的数字
- 请问下这个hologres维表是被缓存了么?怎么直接Finished了
- CopyOnWriteArrayList details
- leetcode:187. 重复的DNA序列
- C专家编程 第3章 分析C语言的声明 3.5 typedef可以成为你的朋友
- C专家编程 第3章 分析C语言的声明 3.6 typedef int x[10]和#define x int[10]的区别
猜你喜欢
随机推荐
带你了解什么是 Web3.0
C专家编程 第2章 这不是Bug,而是语言特性 2.3 误做之过
SwinIR实战:如何使用SwinIR和预训练模型实现图片的超分
罗克韦尔AB PLC RSLogix5000中创建新项目、任务、程序和例程的具体方法和步骤
正向代理与反向代理
protobuf 反射使用总结
Windows 事件转发到 SQL 数据库
leetcode:202. 快乐数
2021年数据泄露成本报告解读
I am doing open source in Didi
AI+BI+Visualization, Deep Analysis of Sugar BI Architecture
node连接mongoose数据库流程
C专家编程 第3章 分析C语言的声明 3.4 通过图标分析C语言的声明
uniapp的webview滑动缩放
面了个腾讯35k出来的,他让我见识到什么叫精通MySQL调优
新版本 MaxCompute 的SQL 中支持的 EXTRACT 函数有什么作用?
华为、联想、北汽等入选工信部“企业数字化转型和安全能力提升”首批实训基地
大佬们。使用flink-cdc-sqlserver 2.2.0 版本读取sqlserver2008R
window.open不显示favicon.icon
C专家编程 第3章 分析C语言的声明 3.3 优先级规则