導入 DMP 文件時出現 Oracle 錯誤 12154
我的設置
我正在執行Windows 7 64 位,使用適用於 Windows 64 位的 Oracle DB 11g R2。我有 Oracle SQL Developer Release 3.0 (4.0.2.15.21) 作為我的數據庫的 GUI。
題
我按照這篇文章中關於如何導入 Oracle .DMP 文件的說明進行操作。我在命令提示符下發出了這個命令:
C:\>imp sys@dev/password12345 FROMUSER=FOOADMIN TOUSER=FOOADMIN file=c:\fooadmin.dmp full=yes
然後它提示我輸入正確的密碼,然後我收到此錯誤:
IMP-00058: ORACLE error 12154 encountered ORA-12154: TNS:could not resolve the connect identifier specified IMP-00000: Import terminated unsuccessfully
**實際問題:**如何修復此錯誤並成功導入 .dmp 文件?或者我可以採取哪些步驟來實現這個工作……?
我的文件和我做了什麼
我瀏覽了無數關於同一問題的文章。我的tnsnames.ora、listener.ora和sqlnet.ora位於此目錄中:
C:\oracle\product\11.2.0\dbhome\NETWORK\ADMIN
我的tnsnames.ora文件中的連接如下所示(我也嘗試將我的電腦名稱作為主機,而不是 127.0.0.1)…
DEV = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DEV) ) )
路徑變數
我在我的 PATH 中添加了以下內容(我意識到那裡可能有一些不必要的項目,我只是想安全起見。):
C:\oracle\product\11.2.0\dbhome\bin;C:\oracle\product\11.2.0\client_1;C:\oracle\product\11.2.0\client_1\bin;%ORACLE_HOME%\bin;
我還在我的系統變數中創建了另外兩個變數…
TNS_ADMIN
C:\oracle\product\11.2.0\dbhome\NETWORK\ADMIN
TNS_NAMES
C:\oracle\product\11.2.0\dbhome\NETWORK\ADMIN
在 Windows 上使用它(三個嵌套的雙引號):
exp system/password_for_system@dev file=c:\fooadmin.dmp full=yes imp """sys/password12345@dev as sysdba""" FROMUSER=FOOADMIN TOUSER=FOOADMIN file=c:\fooadmin.dmp
一般來說,imp 可以使用 sys 帳戶按預期工作,但不建議這樣做。但是使用 sys 帳戶的 exp 可能會默默地產生不一致的轉儲文件。所以最好避免它,例如使用
system
.