1. 当impdp罢工时:两个报错引发的血案
上周三凌晨2点,我正喝着第三杯咖啡处理数据迁移任务。突然屏幕跳出鲜红的ORA-31626和ORA-01658报错,那一刻我彻底清醒了——这就像快递员告诉你"包裹丢了",同时仓库管理员说"货架满了"。这两个报错经常结伴出现,本质上暴露的是Oracle数据泵(impdp)在系统表空间管理上的设计特点。
先说ORA-31626这个"幽灵工单"错误。当impdp工具启动时,会先在SYSTEM表空间创建主表(Master Table)记录导入元数据。就像快递公司需要先填张运单才能开始派件,而ORA-31626就是说"运单都找不到"。实际案例中,某电商平台迁移时遇到这个错误,检查发现SYSTEM表空间剩余空间不足1MB,导致主表创建失败。
2. 解剖ORA-31626:系统表空间的隐形天花板
2.1 主表创建失败的背后
SYSTEM表空间就像数据库的"中枢神经系统",不仅存储数据字典,还要承担impdp主表的创建工作。我遇到过最典型的场景是:开发人员在测试环境用SYSTEM账号执行导入,结果触发ORA-31626。通过以下查询可以快速确认问题:
-- 检查主表是否存在
SELECT * FROM dba_objects
WHERE object_name = 'SYS_IMPORT_SCHEMA_10';
-- 查看SYSTEM表空间使用情况
SELECT tablespace_name, round(used_space/1024/1024,2) used_mb,
round(free_space/1024/1024,2) free_mb
FROM dba_tablespace_usage_metrics
WHERE tablespace_name = 'SYSTEM';
2.2 自动扩展的陷阱
很多人以为设置了AUTOEXTENSIBLE就高枕无忧,就像我客户王工的案例:他的SYSTEM表空间初始510MB,设置了自动扩展,但导入20GB数据时仍然报错。后来发现是磁盘组剩余空间不足导致自



被折叠的 条评论
为什么被折叠?



