先描述一下筆者所在的情況:
Client: windows 7
Server : 任一Linux主機, 上面有裝Oracle任一軟體.
由於通常是在Linux上建立Oracle, 所以在Client常要連線Server.
目前筆者較常使用的是PL/SQL DEVELOPER 這套軟體.
至於要怎樣連線Server, 請參閱筆者其他文章.
—————————————————————————————–
問題描述:
由於Linux常會改寫主機名字, 所以會導致PL/SQL DEVELOPER無法連線.
ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務.
主要是因為Client下的tnsnames.ora設定的問題.
先查詢一下Linux主機名稱
[root ~ ]#vi /etc/hosts
…..
127.0.0.1 localhost.localdomain localhost
……
之後在tnsnames.ora
將service更改為完整的sid+domainname
舉例如下:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.localdomain)
)
)
這樣就可以了.
這個問題的原因是因為client連線時server無法分辨真正要連線的SID Name(Service Name)所造成的。
原文出處:
http://tw.myblog.yahoo.com/database995/article?mid=812&prev=813&next=-1
沒有留言:
張貼留言