oracle 31640,导数据时ora-31640报错
單實例數據庫10.2.0.4,目標數據庫11.2.0.3 rac,目標準備將單實例上的數據導入到rac數據庫。
在導入過程中報錯如下:
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "LBSBUS"."T_MSG_SEND_DETAIL" ? ? ? ? ? ? ? ?401.5 MB 1726271 rows
. . imported "LBSBUS"."T_GISROADQUERY" ? ? ? ? ? ? ? ? ? 87.84 MB 1982744 rows
ORA-31693: Table data object "LBSBUS"."T_LOG" failed to load/unload and is being skipped due to error:
ORA-31640: unable to open dump file "/home/oracle/gejie/ngis140227.dmp" for read
ORA-19505: failed to identify file "/home/oracle/gejie/ngis140227.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
奇怪,為什么有的表能導進,有的表不能導進?查找文件目錄權限,都沒問題。
2.1 因為報的錯誤是不可以讀dump文件,仔細檢查了文件及其目錄的訪問權限,發現沒有任何問題.
2.2 在metalink上搜索,找到了ID=1071373.1的文章,知道了真正的原因.
原來11g R2的IMPDP 增加了一個參數設置:CLUSTER,在設置了parallel參數>1的情況下, 可以支持多個節點的同時導入工作.
這邊實際的情況是,另外一個節點無法訪問到dump文件,我也是只想從一個節點導入數據,所以需要關閉這個選項.
三. 問題解決
修改導入的命令,設置cluster=N,再次進行導入
$nohup impdp lbsbus/lbsbus directory=a1 dumpfile=ngis0816.dmp logfile=ngis.log TABLE_EXISTS_ACTION=append EXCLUDE=STATISTICS parallel=5 ?cluster=n;
數據庫數據可以正常導入到11g rac的數據庫中問題解決.
附件: metalink doc id=1071373.1的文章的主要內容:
Symptoms
DataPump on 11.2 RAC with PARALLEL > 1 still hits the following errors though the unpublished Bug 8415620 is fixed into 11.2:
ORA-31693: Table data object "TITAN"."TN_TICKET":"TN01_2006_02" failed to load/unload and is being skipped due to error:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-31640: unable to open dump file "/oracle/xfertest/titan_01.dmp" for read
ORA-19505: failed to identify file "/oracle/xfertest/titan_01.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Unpublished Bug 8415620 DATA PUMP DOES NOT HONOR THE BOUNDARIES OF THE CONNECTED SERVICE ON RAC
DataPump RAC support is provided in 11.2. Prior to 11.2, once you use a service to make the initial connection to the database,
an instance is selected, and the master process and all worker processes run on that instance.
Cause
From 11.2, DataPump new parameter CLUSTER is introduced.
CLUSTER : Default=Y
Purpose :
Determines whether Data Pump can use Oracle Real Application Clusters (RAC)
resources and start workers on other Oracle RAC instances.
Syntax and Description : CLUSTER=[Y | N]
Solution
To force DataPump to use only the instance where the job is started and to replicate pre-Oracle Database 11g release 2 (11.2) behavior, specify CLUSTER=N.
Example:
#> expdp lbsbus/lbsbus ?DIRECTORY=dpump_dir1 DUMPFILE=gis*.dmp CLUSTER=N PARALLEL=3
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/22969361/viewspace-1102454/,如需轉載,請注明出處,否則將追究法律責任。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle 31640,导数据时ora-31640报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux离线安装redmine_Fee
- 下一篇: vscode如何连接新设备_台州要用“超