最近部署專案,linux
系統使用非oracle
使用者測試(
比如test)tnsping orcl
出現如下提示資訊:
tns ping utility for linux: version 11.2.0.1.0 - production on 04-dec-2012 14:29:28
used parameter files:
/opt/oracle/product/11g/network/admin/sqlnet.ora
tns-03505: failed to resolve name
乍一看,問題出現原因清楚明了。就是orcl
服務名無法解析。但是我在本區域網使用其它windows
系統中的pl/sql
可以連線。
因為對linux
系統認知甚少,所以一頭霧水。去網搜一下很多,大約有這麼幾種解決方案:
一是檔案配置錯誤;
(二是sqlnet.ora
檔案中names.directory_path
設定問題;(
三是lsnrctl status
監聽錯誤或者sqlplus
版本問題。(
第一種情況意思就是說在tnsnames.ora
這個檔案中我配置的orcl
有問題,大部人說前面不能有空格,我的本來就沒有;再就是listener.ora
有乙個標準的寫法,如下:
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = pl***tproc)
(oracle_home = /oracle/product/10.2.0/db_1)
(program = extproc)
) (sid_desc =
(global_dbname = orcl)
(oracle_home = /oracle/product/10.2.0/db_1)
(sid_name = orcl)
) )
listener =
(description_list =
(description =
(address = (protocol = ipc)(key = extproc1))
(address = (protocol = tcp)(host = localhost)(port = 1521)) ))
第二種情況說的是通過客戶端訪問資料庫伺服器順序。我也是從這個帖子發現我的問題的,我的linux
使用者test
沒有訪問tnsname.ora
這個檔案的許可權。
第三種情況說的是監聽服務沒起來。這個很容易就能查別,使用lsnrctl status
即可知道。
通過解決這麼乙個問題,我總結一下思路:
首先:查詢監聽狀態。因為我的可以通過其它客戶端訪問,所以不會是監聽的問題。
其次:使用oracle
使用者,測試tnsping orcl
。一般情況下肯定通。非oracle
使用者並且不屬於oracle
使用者所屬組的檢視是否有許可權。沒有許可權使用: chmod o+r tnsname.ora
即可。最後:版本相容性的問題。
JAVA中文問題解決總結
一 jsp頁面顯示亂碼 下面的顯示頁面 display.jsp 就出現亂碼 out.print jsp的中文處理 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。解決辦法 在jsp頁面中指定編碼方式 gb2312 即在...
JAVA中文問題解決總結
一 jsp頁面顯示亂碼 下面的顯示頁面 display.jsp 就出現亂碼 out.print jsp的中文處理 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。解決辦法 在jsp頁面中指定編碼方式 gb2312 即在...
as跨域問題解決總結
總結一下在工作中遇到的跨域問題!一 報安全沙箱問題,沒有可用的安全策略檔案 關於策略檔案,我改的是目標伺服器 也就是伺服器 上的策略檔案,在策略檔案裡把flash所在域的網域名稱加上就可以了!東西還是挺簡單的,就是網上說法太多了,表達的也不太清楚,在這裡明確一下!策略檔案語法 下面的示例顯示了乙個策...