ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

先描述一下筆者所在的情況:

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

發表迴響

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

連結到 %s

Follow

Get every new post delivered to your Inbox.