问题描述
嗨,克里斯,康纳
作为日常档案过程的一部分,我们:
1.从APP_SCHEMA1到ARCHIVAL_SCHEMA中插入约4.5百万条记录
2.一步 #1完成,从APP_SCHEMA1中删除相应的记录
这项活动需要几个小时才能完成。
由于T1每天在APP_SCHEMA1和ARCHIVAL_SCHEMA中进行分区,我尝试在较低的环境中使用exchange分区技术,其中没有行限制,以摆脱本机插入,然后删除方法-> 这工作得很好,但我很少有查询
1.exchange分区在Oracle体系结构中的确切工作方式-如果您可以共享任何链接,则博客
2.考虑到生产中每天大约450万行,这会影响任何内存使用吗?
3.有没有什么我可以看一下内存消耗。
作为日常档案过程的一部分,我们:
1.从APP_SCHEMA1到ARCHIVAL_SCHEMA中插入约4.5百万条记录
2.一步 #1完成,从APP_SCHEMA1中删除相应的记录
这项活动需要几个小时才能完成。
由于T1每天在APP_SCHEMA1和ARCHIVAL_SCHEMA中进行分区,我尝试在较低的环境中使用exchange分区技术,其中没有行限制,以摆脱本机插入,然后删除方法-> 这工作得很好,但我很少有查询
1.exchange分区在Oracle体系结构中的确切工作方式-如果您可以共享任何链接,则博客
2.考虑到生产中每天大约450万行,这会影响任何内存使用吗?
3.有没有什么我可以看一下内存消耗。
专家解答
您可以通过性能统计来监控PGA,例如
但是交换可能是一个非常有效的过程,因为我们只是在操纵字典以指向不同的数据库段。
交换 * 可以 * 变得昂贵的地方是,我们验证进入的数据,以确保它与适当的分区定义匹配。如果您保证数据是正确的,则使用无验证子句来避免这种情况。
文档中的更多详细信息
https://docs.oracle.com/database/121/VLDBG/GUID-E08650B4-06B1-43F9-91B0-FBF685A3B848.htm#VLDBG1156
select st.sid, s.name, st.value from v$statname s, v$sesstat st where st.STATISTIC# = s.STATISTIC# and s.name like 'session pga memory%'
但是交换可能是一个非常有效的过程,因为我们只是在操纵字典以指向不同的数据库段。
交换 * 可以 * 变得昂贵的地方是,我们验证进入的数据,以确保它与适当的分区定义匹配。如果您保证数据是正确的,则使用无验证子句来避免这种情况。
文档中的更多详细信息
https://docs.oracle.com/database/121/VLDBG/GUID-E08650B4-06B1-43F9-91B0-FBF685A3B848.htm#VLDBG1156
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




