使用 fast_recovery_area 管理归档和闪回,db_recovery_file_dest 目录下的数据量接近于 db_recovery_file_dest_size 时,就会报归档日志错误,此时要清理归档日志,或者将 db_recovery_file_dest_size设置的更大(前提是所在磁盘更大),
修改db_recovery_file_dest和db_recovery_file_dest_size不需要重启数据库。如果fast_recovery_area快满了,impdp会卡住。
今天遇到了impdp导入时卡住的问题,网上有许多讨论这个问题的文章,大多都是:等等就好。
我遇到的情况与他们不同,可做另一种参考,我在执行impdp时卡住,最终定位到的原因是:
归档、闪回空间不足。
因为我导入的数据库,开启了闪回和归档日志功能,归档日志放在db_recovery_file_dest里,里面的文件和目录总大小不能超过db_recovery_file_dest_size,查了一下使用情况:
select * from v$flash_recovery_area_usage;
70%多,可能因为这个原因报归档日志错误
将db_recovery_file_dest_size设为500G(原来是30G)
alter system set db_recovery_file_dest_size = 500G scope=both; (不需要重启数据库)
过了一会儿,停了将近2小时的impdp开始打印新的内容了。