ORA-39002和ORA-39166報錯處理和探究
需要把生產環境的某張表,使用expdp匯出,然後使用impdp倒進本地測試環境的另一個使用者下,在匯入的時候報錯ORA-39166:
下面具體操作過程:
首先在源端expdp出來,這裡我們按著時間條件匯出來的,並且由於我的測試環境是11.2.0.1.0,但是源端11.2.0.4.0,目標端版本底,所以需要使用引數version。
[oracle@oracle3 ~]$ expdp liuwenhe/liuwenhe directory=DATA_MIG_DIR tables=INFOSERVICE.t_publish_info dumpfile=t_publish_info09.dmp query=\"where publish_date\>\=to_date\(\'2016-09-01\',\'yyyy-mm-dd\'\) and publish_date\<\to_date\(\'2016-10-01\',\'yyyy-mm-dd\'\) \" version=11.2.0.1.0
然後通過sftp傳到跳板機
[liuwenhe@S220 ~]$ sftp root@192.168.0.214
Connecting to 192.168.0.214...
Address 192.168.0.214 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
root@192.168.0.214's password:
sftp>
sftp> cd /home/oracle/dp_dir
sftp> ls
mig_parallel_53.dmp nohup.out
t_publish_info09.dmp t_publish_zbxx09.dmp.gz t_publish_zbxx_2015.dmp.gz tpz_20142015_01.dmp.gz tpz_20142015_02.dmp user_regist_ls_fail.dmp x
sftp> get t_publish_zbxx09.dmp
之後通過securefx 傳到本地。
執行匯入操作,發現報錯,具體如下,
C:\Users\manet>impdp liuwenhe/liuwenhe@140 directory=backup dumpfile=t_publish_info09.dmp remap_schema=infoservice:liuwenhe remap_tablespace=infoservice:LIU_TBS tables=INFOSERVICE.t_publish_info;
Import: Release 11.2.0.1.0 - Production on 星期一 10月 10 16:11:50 2016
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
連線到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: 操作無效
ORA-39166: 找不到物件 INFOSERVICE.T_PUBLISH_INFO;。
看到這個報錯,我仔細檢查了directory的許可權,以及dump檔案和liuwenhe使用者的許可權存在否,都沒問題,之後懷疑是網路傳輸導致丟包,於是重新down了一份,傳輸到本地,執行。依舊報同樣的錯。在mos上查詢之後,有提示說:
如果impdp使用remap_schema,匯入dmp的所有資料時則不需要指定tables引數。
然而這裡我確實是想把所有的資料都導進去,是不是不用tables這個引數啊,於是我修改impdp匯入語句,
C:\Users\manet>impdp liuwenhe/liuwenhe@140 directory=backup dumpfile=t_publish_info09.dmp remap_schema=infoservice:liuwenhe remap_tablespace=infoservice:LIU_TBS
真的成功了。。。。
下面是網上的一篇文章。
需求:把生產上以某些字母開頭的表匯入到測試環境的其它使用者中。
實現方法:
1.在生產環境使用expdp的模糊匯出功能,先匯出這些表。
2.在測試使用impdp的remap_schema功能將這些表匯入到測試環境的其它使用者。
實現過程:
1.expdp匯出表
$ expdp scott/tiger DIRECTORY=DPUMPDIR DUMPFILE=scott220.DMP tables=prod% JOB_NAME=MYJOB3 LOGFILE=scottEXP.LOG
2.impdp匯入表
$ impdp username/password directory=DPUMPDIR dumpfile=scott220.DMP tables=prod_201203_26 remap_schema=scott:liangweilogfile=impdp.log
Import: Release 11.2.0.3.0 - Production on Mon Nov 12 11:32:47 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORA-39002: invalid operation
ORA-39166: Object liangwei.prod_201203_26 was not found.
匯入過程中,只匯入指定表出現ORA-39002,ORA-39166錯誤。
如果impdp使用remap_schema,且指定要匯入的表時,要指定表的schema (也就是需要使用tables這個引數)。
$ impdp username/password directory=DPUMPDIR dumpfile=scott220.DMP tables=scott.prod_201203_26 remap_schema=scott:liangwei logfile=impdp.log
如果impdp使用remap_schema,匯入dmp的所有資料時則不需要指定tables引數。
$ impdp username/password directory=DPUMPDIR dumpfile=scott220.DMP remap_schema=scott:liangwei logfile=impdp.log
總結:m如果你從源端down下來了好多個表或者down下來了某個使用者(包含多個表),此時你只想impdp其中的一部分表,並且需要匯入進另一個使用者,也就是需要使用remap_schema引數,這個時候你需要使用tables引數指定你需要匯入的表,如果你要匯入dump檔案的所有的資料,這個時候你不能使用tables引數,否則報錯ORA-39166;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2126124/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP錯誤處理和異常處理PHP
- ora-04045和ora-16000報錯處理
- 一次歸檔報錯的處理和分析
- Python錯誤處理和異常處理(二)Python
- Extjs報錯處理JS
- DG報錯的處理
- errpt報錯處理
- 前端的水平線,錯誤處理和除錯前端除錯
- 六、函式、包和錯誤處理函式
- C++錯誤和異常處理C++
- Gulp壓縮報錯處理
- rails gem報錯的處理AI
- Javascript程式碼報錯處理JavaScript
- 各種報錯處理方法
- kafka 副本機制和容錯處理 -2Kafka
- impdp ORA-39002,ORA-39166,ORA-39164的問題及解決
- Too many open files報錯處理
- Mysql自動處理同步報錯MySql
- yum groupinstall報錯,處理方法
- ORA-02429 報錯處理
- mysql複製報錯案例處理MySql
- .NET----錯誤和異常處理機制
- 一條報警資訊的快速處理和分析
- Python之錯誤異常和檔案處理Python
- JavaScript 錯誤處理和堆疊追蹤淺析JavaScript
- Python 入門級報錯處理Python
- 批處理的聊天程式報錯求救!!!!!
- SFP和SDP處理
- WEB安全漏洞掃描與處理(下)——安全報告分析和漏洞處理Web
- 同時重寫屬性的get和set方法系統報錯問題處理
- 如何在 Go 中優雅的處理和返回錯誤(1)——函式內部的錯誤處理Go函式
- 多對一處理 和一對多處理的處理
- PHP 核心知識點(一)異常和錯誤處理PHP
- 線上MYSQL同步報錯故障處理總結MySql
- ORA-1654報錯處理一則
- ORA-00979: not a GROUP BY expression報錯處理Express
- 匯入專案@override 報錯處理IDE
- EBS服務啟動報錯基本處理