本地装了oracle后 pl/sql 连不上远程服务器的解决方案

之前电脑上没有装oracle客户端,只是用pl/sql访问远程服务器。这段时间想自己也装个玩玩,结果本地装了oracle10g 后pl/sql 访问不到原来的那个服务器了。百度了半天没找到一个可行的方案,后来想起了谷歌,真特么专业,搜索到的第一个结果就把我的问题解决了。。。废话不多说,直接上我的问题及解决方案。

连服务器的时候提示

ora-12514:监听程序当前无法识别链接描述中请求的服务

我觉得应该是配置出了问题。然后就在网上查。查到的解决方案(我用了,是可行的)为:

配置oracle服务器的监听器listener
修改<安装目录>/network/admin/目录下的listener.ora和tnsnames.ora两个文件。其中
listener文件大致如下:
# listener.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = demo1) #demo1为oracle实例名
(ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
(SID_NAME = demo1)
)

)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址为oracle服务器
)
)

tnsnames.ora文件大致修改如下:
# tnsnames.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEMO1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址为oracle服务器
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DEMO1) #demo1为oracle实例名,或者服务名称此名称可通过netmgr或netca修改
)

)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
以上修改也可通过图形界面的netmgr和netca进行配置。 修改之后,重启监听器

修改这些配置之后就可以连上服务器了。

感受:之前没怎么真正使用过pl/sql 和 oracle 这次遇到问题 我就觉得,卧槽好高级的问题哇,当时就有点慌了,第一反应是问别人,又心有不甘,于是就硬着头皮去网上找解决方案,百度了半天没找到可行方案,后来在同学群里问了下,也没人知道解决方案,有同学提出去问谷歌,于是乎就死马当活马医,抱着试试看的态度就搜了下,结果。。。。结果就是大家现在看到的啦~  有些事不能只看表面,不能被问题给吓到了,当你硬着头皮去解决的时候就会发现,其实都是小case。呵呵,不错不错,好久都没有解决个让自己有成就感的问题了。加油!!!

猜你喜欢

转载自joey0535.iteye.com/blog/1749475
今日推荐