Oracle安裝ORA-12154和ORA-12169問題的解決


  2014年7月8日,小弟我重拾Oracle,電腦里之前安裝了Oracle10,由於要導入11版本的dmp表文件,提示說版本低的Oracle導入不了,只能版本高的Oracle導入版本低的表文件,無奈只能卸掉Oracle10裝Oracle11g,有人給了Oracle11XE版本,那個是簡易版,第一次安裝的時候還算順利,可是安裝完的使用就糾結了,在安裝后開始菜單打開Command命令框后,輸入
    imp scott/123@orcl file=D:\nbts\zzggg.dmp full=y ignore=y(這是我的dmp表文件的導入)


  結果報錯ORA-12154: TNS: 無法解析指定的連接標識符,我特意去百度查找了很久的解決方式,都沒有解決,有的說是tnsnames.ora和listener.ora兩個文件的配置出錯,可以直接去oracle的安裝目錄下檢索兩個文件進行直接修改,這個方法其實不太可取,畢竟出這種問題而又不會解決的人大多都是像我一樣剛接觸ORACLE沒多久的新手,手動修改配置很容易出錯,到最后反而越錯越多,只能卸掉重裝。所以像XE這種簡易版容易不能一次成功,對於新手而言會是持久的折磨。


  朋友給我推薦了完整版ORACLE11g,里面安裝的時候有4種版本,企業版、標准版、標准版和個人版,其實我也很好奇為什么有兩個標准版,不過我沒去管它,一開始我選了個人版,跟着百度搜的安裝流程一路下來,沒出錯,但是最后安裝完了在連接PLSQL或者導入dmp表文件時又報了ORA-12154: TNS: 無法解析指定的連接標識符的錯誤,沒辦法我又去手動改上訴兩個文件的配置,同時去核對注冊表(開始菜單搜索框輸入regedit打開)以及我的電腦——屬性——高級系統設置——環境變量里的path和ORACLE_PATH的值,注冊表里的值的查找主要可以在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home2下可以查看,最后竟然讓我亂配過了這個錯誤。還沒結束,這時又報了另個錯誤ORA-12169,指定為連接標示符的net服務名太長,由於ORACLE安裝時沒有讓你自己來配置net服務名,可能它的net服務名會初始默認為

ORACL_CONNECTION_DATA,這是我今天在安裝完版整的ORACLE11g后通過附帶的Net Configuration Assistant這個輔助軟件里看到的net服務名,那時不知道,傻傻的去改GLOBAL_NAME,結果發現一點效果都沒有,反而連sys這個用戶原來可以通過sqlplus命令登錄的,后來因為服務名的變更,完全就亂套了,只能默默卸掉重裝。


  其實服務名可以通過輔助軟件變更的,在這里我先提個醒,不要抱怨自己的電腦配置太差的原因,所以別人的電腦安裝一次就過了,我們反而要調試那么久。讓我默默曬下自己的垃圾配置,11年買的華碩,4000元不到入手,i3處理器,1G顯卡,2G內存,后來加了個2G內存條,Windows7,32位系統,唉,不過實際上Oracle的安裝個人感覺和電腦配置不是非常有關聯,看的是運氣,主要ORACLE的安裝流程不透明,兼容性有點差,不過慢慢調試就是了。具體的輔助軟件么個人比較推薦NetManager,這個也是Oracle完整版的附帶輔助軟件。

  在這個軟件內呢,我們可以通過選中下圖中的服務命名和監聽程序,再點擊左邊的“+”號,進行服務命名以及監聽程序的重新配置。

下面兩張圖則是我的配置數據,你們可以參照着看看(我的數據庫global_name和服務名都是orcl,兩者必須一致)。

                          服務命名配置                                   監聽器配置

在配置后記得選擇另存為,把Oracle初始安裝后的tnsnames.ora和listener.ora以及sqlnet.ora替換掉,路徑選擇:D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\SAMPLE(這是我安裝的路徑,可能大家的和我不太一樣,可以自己打開我的電腦檢索文件位置)。這里結束后可能你們的oracle還是會報ORA-12154的錯,這時,你可以試試cmd命令框下輸入tnsping orcl(你的服務名),下圖是我遇到的情況,只截了一部分,下面報錯的信息省略了,如果你也是這樣,那就恭喜了,再一步可能就成功了。

 

  這是我今天發現的自己遇到錯誤的主要原因,不是很清楚大家是否和我一樣,但是和我一樣的你就算幸運了,因為上面的意思是監聽器的默認指向路徑在上述路徑中的admin文件目錄下,可是在那個目錄里沒有tnsnames.ora這個文件,這可能是因為ORACLE的安裝默認了tnsnames.ora和listener.ora以及sqlnet.ora三個文件初始位置在子目錄下了,位置不對導致一直無法成功解析你的服務名標識符,所以將tnsnames.ora復制到admin目錄下即可,我再次輸入tnsping orcl后,顯示的會是這樣

 

這時說是你的tns文件所對應的監聽器對服務名的解析成功了,ORACLE應該能正常使用了,下圖便是我成功導入了dmp表文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM