之前在做xtts从aix到linux的操作中,表空间最后read only后的expdp到nfs后发现竟然卡死(read write情况下expdp是正常的)
检查状态发现是DEFINING
SELECT owner_name, job_name, operation, job_mode, state, attached_sessions
FROM dba_datapump_jobs
WHERE job_name NOT LIKE 'BIN$%'
ORDER BY 1,2;
OWNER JOB_NAME OPERATION JOB_MODE STATE ATTACHED_SESSIONS
----- -------------------- ----------- -------- -------- -----------------
SYS SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA DEFINING 1
在有限的停机时间里,此时建议是导出到本地文件系统,再cp到nfs目标即可。
oracle官方的说法参考:
DataPump Export/Import Hangs With “DEFINING” Status When Using A Directory On NFS Filesystem (Doc ID 2262196.1)
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database Cloud Schema Service - Version N/A and later
Information in this document applies to any platform.
GOAL
DataPump job hung forever with "DEFINING" status in dba_datapump_jobs:
SQL> SELECT owner_name, job_name, operation, job_mode, state, attached_sessions
FROM dba_datapump_jobs
WHERE job_name NOT LIKE 'BIN$%'
ORDER BY 1,2;
OWNER JOB_NAME OPERATION JOB_MODE STATE ATTACHED_SESSIONS
----- -------------------- ----------- -------- -------- -----------------
SYS SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA DEFINING 1
SYS SYS_EXPORT_SCHEMA_03 EXPORT SCHEMA DEFINING 0
when the directory is located on a NFS location.
The following entries are found from the DM trace file:
...
KUPC: Setting remote flag for this process to FALSE
KUPP: Initialization complete for master process DM00
*** 2017-03-28 03:38:52.109
[2122856714591] kgnfs_processmsg: RPC FAIL msg rejected 1
[2122856714802] kgnfs_processmsg: AUTH ERROR 5
...
SOLUTION
This is not an issue of Datapump, but an issue with the filesystem where the Dumpfiles reside. As one can see from DM trace file, the underlying issue is coming back from kgnfs_processmsg.
The AUTH ERROR is clearly a server side configuration issue. Follow the outlined diagnostic collection steps for dnfs issues as outlined in Document 1464567.1 and contact your Storage admin/System Admin to check the filesystem.
To make DataPump job working until the filesystem problem is fixed, use any of the following workarounds:
1. Move the dumpfiles to a local filsystem.
or
2. Disable direct NFS.
REFERENCES
NOTE:795034.1 - How To Diagnose And Troubleshoot Import Or Datapump Import Hung Scenarios