plsql串連oracle資料庫報ora 12154錯誤
今天遇到一個問題,使用sqlplus能夠串連到遠端資料庫,但是使用plsql卻串連不上,報錯"ORA-12154: TNS: 無法解析指定的串連標識符"
解決方案如下:
1.先檢查伺服器端的監聽服務是否開啟,如果沒有開啟請啟動其監聽
用戶端:tnsping <tns_name>
伺服器Linux下:
#>lsnrctl status 查看監聽狀態
#>lsnrctl start 啟動監聽
2.通過Sql Plus串連一下試試,如果Sql Plus串連能成功,那就說明你的tnsnames.ora內容有錯誤 我的問題就在別名dev_db前面有一個空格,這個可以通過文字編輯器(Edit Plus,UE等)來查看是否有空格,只要有空格那就肯定是不行的,而且如果那段內容是出現在檔案的中間的話,將導致該檔案裡所有相應的串連別名都不成功,如果是在最後面就只有其自身串連別名不能成功,其他串連別名還是能串連成功。(註:我的tnsnames.ora配置了多個資料庫執行個體的串連,所有才有多個串連別名。)
如: 空格 複製代碼 代碼如下:dev_db =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521)))
(CONNECT_DATA =
(SID = ora10)
)
)
3.如果確保你的tnsnames.ora內容沒有錯誤,那請將%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目錄下的所有檔案刪了,然後重新串連,一般就能解決了。 說明一下:那個目錄裡的檔案是在你建立串連的時候動態產生的,不要怕刪了會有問題
4.進入PLSQL Developer的主介面,在登入介面選擇取消即不登入進入主介面,然後選擇菜單Tools(工具)-Preferences(喜好設定),在設定視窗中,選擇Oracle-Connection(串連),對應設定視窗中,找到Oracle Home(Oracle主目錄),選擇你本地所安裝用戶端的版本,儲存設定,然後重新啟動PLSQL Developer,這時就可以正常登入了。
我是使用第二種方法解決的。