内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-39140警告数据泵
对象过大无法放入内存
Object too large to fit in memory
错误描述
元数据对象(如非常大的包体或视图定义)过大,无法在可用内存中被 Data Pump 处理。
可能原因
- 极大的 PL/SQL 包体或视图 DDL 超出内存限制
- 元数据处理的 PGA 内存不足
- 单个表中分区或子分区数量过多
解决方案
- 1增加 PGA:ALTER SYSTEM SET pga_aggregate_target=4G SCOPE=BOTH;
- 2使用 INCLUDE 参数单独导出大对象
- 3使用 EXCLUDE 跳过问题对象并手动重新创建
诊断命令
SELECT owner, name, type, SUM(LENGTH(text)) total_chars FROM dba_source GROUP BY owner, name, type HAVING SUM(LENGTH(text)) > 1000000 ORDER BY total_chars DESC;SELECT * FROM v$pgastat WHERE name LIKE '%aggregate%';#datapump#memory#metadata#large-object