yanhui00 2017-08-26
用数据泵impdp往开发数据库导数据,但导入到INDEX时感觉卡住不动了
Processing object type SCHEMA_EXPORT/
TABLE
/
INDEX
/
INDEX
----查看状态,Completed Objects: 33一直没有变化。
Import> status
Job: SYS_IMPORT_FULL_01
Operation: IMPORT
Mode:
FULL
State: EXECUTING
Bytes Processed: 843,222,272
Percent Done: 99
Current
Parallelism: 1
Job Error
Count
: 0
Dump File: /home/Oracle/dump/wj_dev%u.dmp
Dump File: /home/oracle/dump/wj_dev01.dmp
Dump File: /home/oracle/dump/wj_dev02.dmp
Dump File: /home/oracle/dump/wj_dev03.dmp
Dump File: /home/oracle/dump/wj_dev04.dmp
Dump File: /home/oracle/dump/wj_dev05.dmp
Dump File: /home/oracle/dump/wj_dev06.dmp
Dump File: /home/oracle/dump/wj_dev07.dmp
Dump File: /home/oracle/dump/wj_dev08.dmp
Dump File: /home/oracle/dump/wj_dev09.dmp
Dump File: /home/oracle/dump/wj_dev10.dmp
Worker 1 Status:
Process
Name
: DW00
State: EXECUTING
Object
Schema
: ESOP2TEST
Object
Name
: SYS_MSISDNNUMID
Object Type: SCHEMA_EXPORT/
TABLE
/
INDEX
/
INDEX
Completed Objects: 33
Worker Parallelism: 1
查看导入任务对应的会话做在等待什么
SQL>
select
* from DBA_DATAPUMP_JOBS;
OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS
---------- ------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------- ----------------- -----------------
SYS SYS_IMPORT_FULL_01 IMPORT FULL EXECUTING 1 2 4
SQL>
select
sid,sql_id,event from
v
$session where action=
'SYS_IMPORT_FULL_01'
;
SID SQL_ID EVENT
---------- ------------- ----------------------------------------------------------------
146 bjf05cwcj5s6p wait
for
unread message on broadcast channel
295 58rzgvcv6gnjs statement suspended, wait error to be cleared
从上面的查询中可以看到“statement suspended, wait error to be cleared”等待事件,这个是一个不常见的等待事件。
继续查看alert日志,发现如下报错:
statement
in
resumable session
'SYS.SYS_IMPORT_FULL_01.1'
was suspended due
to
ORA-01652: unable
to
extend
temp
segment
by
128
in
tablespace
temp
看到上面的报错就能明白为什么导入会卡住不动了,正在导入INDEX,创建索引会使用临时表空间,但临时文件太小又没有设置自动扩展导致创建索引语句HANG住。启用临时文件的自动扩展问题解决:
alter
database
tempfile
'/oradata/dbs/temp01.dbf'
autoextend
on
next
100m;
导入正常:
Import> status
Job: SYS_IMPORT_FULL_01
Operation: IMPORT
Mode:
FULL
State: EXECUTING
Bytes Processed: 843,222,272
Percent Done: 99
Current
Parallelism: 1
Job Error
Count
: 0
Dump File: /home/Oracle/dump/wj_dev%u.dmp
Dump File: /home/oracle/dump/wj_dev01.dmp
Dump File: /home/oracle/dump/wj_dev02.dmp
Dump File: /home/oracle/dump/wj_dev03.dmp
Dump File: /home/oracle/dump/wj_dev04.dmp
Dump File: /home/oracle/dump/wj_dev05.dmp
Dump File: /home/oracle/dump/wj_dev06.dmp
Dump File: /home/oracle/dump/wj_dev07.dmp
Dump File: /home/oracle/dump/wj_dev08.dmp
Dump File: /home/oracle/dump/wj_dev09.dmp
Dump File: /home/oracle/dump/wj_dev10.dmp
Worker 1 Status:
Process
Name
: DW00
State: EXECUTING
Object
Schema
: SUF3TEST
Object
Name
: IDX_ORDER_MEMBER_CHARACTER_ID
Object Type: SCHEMA_EXPORT/
TABLE
/
INDEX
/
INDEX
Completed Objects: 407
Worker Parallelism: 1