为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:DM8做统计信息收集的时候,报的错。
除了修改undo_retention临时解决,根本的原因应该怎么查?监控库上锁吗?
收集中应该有个别表过大且过程中发生了更改导致,除了参数undo_retention调大以外,就是想办法提速了:
建议使用包DBMS_STATS包收集,对于特大表,建议使用并行参数2-8并行度,不建议使用“FOR ALL COLUMNS SIZE AUTO”属性,针对大表列细化收集仅收集那些作为SQL WHERE条件的列统计信息,收集比例不建议100%适当减少到5至17,收集前调整另外3个参数:HAGR_HASH_SIZE要大于最大表的记录, HAGR_BUF_GLOBAL_SIZE/HAGR_BUF_SIZE调大哈希分组内存,根据实际物理内存调整,以下是128G物理内存数据库最大表1000万记录参数调整示例
sf_set_session_para_value('HAGR_HASH_SIZE',10000000);
sf_set_session_para_value('HAGR_BUF_GLOBAL_SIZE'10000);
sf_set_session_para_value('HAGR_BUF_SIZE',8000);
3个要点:retention参数、哈希内存参数以及收集的优化(并行、比例、没必要的列不收集)
参考链接:
https://blog.csdn.net/weixin_42774383/article/details/122455327