执行impdp速度非常慢 |
您所在的位置:网站首页 › impdp导入数据库卡住了 › 执行impdp速度非常慢 |
场景描述: 1、执行impdp命令速度很慢(导完4G的dmp文件需要一个半小时),通过impdp.log发现导入一个数据量很小的表也需要很长时间 问题分析: 1、检查alert日志,提示“Thread 1 connot allocate new log,sequence xxx;Checkpoint not complete”(起初没有在意),无其它报错信息; 2、检查系统磁盘空间及内存、CPU利用率,资源充足; 3、检查Oracle的sga、pga,发现较小,进行调整 alter system set sga_max_size=20480M scope=spfile; alter system set sga_target=20480M scope=spfile; shutdown immediate; startup; alter system set workarea_size_policy=auto scope=both; alter system set pga_aggregate_target=10240M scope=both; 4、重新执行impdp,发现速度有所改善,不过还是很慢(导完4G的dmp文件需要一个小时); 5、重新检查alert日志,发现“Thread 1 connot allocate new log,sequence xxx;Checkpoint not complete”提示得很频繁,且该提示下面显示对应的redo日志文件。于是怀疑是redo日志文件太小,导致redo日志频繁切换,占用了大量的资源; 6、调整redo日志文件大小及日志组 --查看日志文件组及日志文件大小 select t.BYTES/1024/1024,t.* from v$log t; select t.* from v$logfile t; --创建日志组 alter database add logfile group 4 '/oradata/system/redo04.log' size 500M; --删除日志组(只有INACTIVE的日志才允许删除)(日志删除后,物理文件还在,需手动删除) alter database drop logfile group 1; --切换日志 alter system switch logfile; --创建检查点(将redo日志写文件) alter system checkpoint; 7、重新执行impdp,导完4G的dmp文件在10分钟以内,日志组切换频率较低 结论: 1、数据库的问题应该优先查看数据库本身的日志; 2、redo日志切换频率应该控制在合理范围内,不能过于频繁; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |