概述
先说一下背景,最近在迁移十几张大表,用impdp导入数据导了一天一夜了,目前1个小时观察里面其中一个对象导入一直是97%,而表空间、归档使用率、undo使用率都是正常的,告警日志也没报错,所以怀疑是哪里出问题了,接下来主要说下分析的过程。
1、导入情况
这里可以看到导入情况是正常的,显示也没什么异常:

2、查看impdp状态
$impdp rfuser/xxx attach=SSY_IMPORT_FULL_01
通过以上命令进入控制台看下状态,观察了半个多小时这个百分比还是97%

3、查看表空间,归档使用率
检查一下是不是表空间满或者归档空间满导致没有继续写入数据,可以看到状态都是正常的。


4、查看告警日志
检查一下告警日志,但是告警日志也是正常的。。。

5、查看长会话
看一下导入的整体进度,这里通过sofar/totalwork来计算整体的一个进度。
select sid,OPNAME,TARGET_DESC,sofar,TOTALWORK,trunc(sofar/totalwork*100,2)||'%' as perwork,messagefrom v$session_longops where sofar!=totalwork;
message提示:SYS_IMPORT_FULL_01: IMPORT : 114965 out of 152904 MB done,提示也没有异常。

6、再次查看进度
过了半个多小时,突然发现没问题了,好吧,有惊无险,应该就是系统配置太低(4G内存,4核)导致的。

这里主要分享的是impdp导入卡住不动后我在排查问题的一个过程,希望对大家有一些启发。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
