问题描述
问题陈述: 使用Oracle db(11g) 中的分区技术删除40% (10TB中的4tb) 不需要的数据,并回收空间。
详细信息:
我的应用程序DB架构大小10 TBOracle 11g,该架构与许多其他架构位于同一位置,因此允许使用DB关闭时间的任何选项。
• 基于大小的顶部表将从3 TB (Table_1),2 TB(Table_2) 开始,依此类推。
• 计划从每个表中删除40% 不需要的数据 (带有where标准)。
• 删除脚本实际上是不可能在巨大的表数据,因为它导致数据库服务器挂起并影响其他架构服务。
以下不是由于停机时间限制而导致的选项,并且没有FS来创建临时表并切换回。
• 通过创建表删除数据
切换表格 (cta)
提议的删除策略:
根据数据模式 (where子句) 对这些表进行分区 (split partition/sub-portiing) 来分离。
分离清除合格数据后,将其截断 (在业务中断期间)。-> 删除/截断不需要的分区。
Trunc截断分区后,使表非分区回原始。
回收空间: 最佳选择?
1.更改数据库数据文件xxx.dbf调整大小
2. alter表空间xxx合并
3.进出口
4. dbms_redefinition
5.改变表xxx收缩
关于拟议解决方案的任何指导吗 ???-
有join/where子句包含3到4个表的模式要使用哪些分区?
基于模式的分区示例,在11g中支持吗?
如何在截断不需要的分区后将主表重新分区回原始表?
详细信息:
我的应用程序DB架构大小10 TBOracle 11g,该架构与许多其他架构位于同一位置,因此允许使用DB关闭时间的任何选项。
• 基于大小的顶部表将从3 TB (Table_1),2 TB(Table_2) 开始,依此类推。
• 计划从每个表中删除40% 不需要的数据 (带有where标准)。
• 删除脚本实际上是不可能在巨大的表数据,因为它导致数据库服务器挂起并影响其他架构服务。
以下不是由于停机时间限制而导致的选项,并且没有FS来创建临时表并切换回。
• 通过创建表删除数据
切换表格 (cta)
提议的删除策略:
根据数据模式 (where子句) 对这些表进行分区 (split partition/sub-portiing) 来分离。
分离清除合格数据后,将其截断 (在业务中断期间)。-> 删除/截断不需要的分区。
Trunc截断分区后,使表非分区回原始。
回收空间: 最佳选择?
1.更改数据库数据文件xxx.dbf调整大小
2. alter表空间xxx合并
3.进出口
4. dbms_redefinition
5.改变表xxx收缩
关于拟议解决方案的任何指导吗 ???-
有join/where子句包含3到4个表的模式要使用哪些分区?
基于模式的分区示例,在11g中支持吗?
如何在截断不需要的分区后将主表重新分区回原始表?
专家解答
你还没有告诉我们你目前对这些表有什么分区。但是从我读到的-可能没有?
但是,这是一个很大的选择-如果您 * 确实 * 没有空间容纳临时数据 (即数据的辅助副本),那么您的选择将受到极大的限制,因为
-您不能使用DataPump (无法将文件转储到何处)
-您无法使用cta (相同的原因-您暂时需要新旧空间)
-您不能使用DBMS_REDEFINITION (相同的原因)
-您无法从未分区转换为分区 (原因相同)
因此,如果您 * 真的 * 说您没有可用空间... 那么您将返回删除。
多年来,我的经验是,当管理层告诉我 “你不能有空间” 时,这实际上是 “我们宁愿不再使用任何空间” 的情况。
我将向他们提供一些基准:
-运行4TB的删除需要多长时间
-结果您可能会产生多少存档重做
-它将对服务器产生多大影响
他们可能会更慷慨 :-) 你只需要暂时的空间,如果有 * 真的 * 没有剩余的空闲空间,那么我会想象你的整个数据库基础设施将很快陷入停顿,因为肯定其他模式/数据库仍在增长?
但是,这是一个很大的选择-如果您 * 确实 * 没有空间容纳临时数据 (即数据的辅助副本),那么您的选择将受到极大的限制,因为
-您不能使用DataPump (无法将文件转储到何处)
-您无法使用cta (相同的原因-您暂时需要新旧空间)
-您不能使用DBMS_REDEFINITION (相同的原因)
-您无法从未分区转换为分区 (原因相同)
因此,如果您 * 真的 * 说您没有可用空间... 那么您将返回删除。
多年来,我的经验是,当管理层告诉我 “你不能有空间” 时,这实际上是 “我们宁愿不再使用任何空间” 的情况。
我将向他们提供一些基准:
-运行4TB的删除需要多长时间
-结果您可能会产生多少存档重做
-它将对服务器产生多大影响
他们可能会更慷慨 :-) 你只需要暂时的空间,如果有 * 真的 * 没有剩余的空闲空间,那么我会想象你的整个数据库基础设施将很快陷入停顿,因为肯定其他模式/数据库仍在增长?
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1321次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
790次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
722次阅读
2025-03-06 09:41:49
Oracle避坑指南|同名表导出难题:如何精准排除指定用户下的表?
szrsu
557次阅读
2025-03-05 00:42:34
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
463次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
352次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
314次阅读
2025-03-26 23:27:33
Oracle分区和执行计划相关的几个问题
听见风的声音
307次阅读
2025-03-07 08:51:42
数据库管理-第299期 数据库是否需要定期重启(20250306)
胖头鱼的鱼缸
250次阅读
2025-03-06 09:09:35
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
246次阅读
2025-03-19 14:41:51