监听独立于数据库服务器的配置,解决ORA-12520及ORA-12545错误

简介: Oracle网络连接,监听关键技术。

一、环境:
1、linux主机ocm(192.168.217.130)作为数据库
sys@OCM> select * from v$version;

BANNER

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

2、linux主机ocp(192.168.217.133)作为独立远程监听
sys@OCP> select * from v$version;

BANNER

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

3、windows主机(192.168.217.2)作为客户端
 windows 7

二、在ocm主机(192.168.217.130)上操作:
1、配tnsnames.ora
LISTENER_OCP =
(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.217.133)(PORT = 1521))

)

2、配参数
sys@OCM> alter system set remote_listener=LISTENER_OCP;

3、查监听
[oracle@ocm ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-MAY-2013 21:13:28
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 29-MAY-2013 20:34:42
Uptime 0 days 0 hr. 38 min. 47 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ocm/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm.example.com)(PORT=1521)))
Services Summary...
Service "ocm" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...
Service "ocmXDB" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...
The command completed successfully

三、在ocp主机(192.168.217.133)上操作:
1、查监听
[oracle@ocp ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-MAY-2013 20:49:22
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 29-MAY-2013 20:44:12
Uptime 0 days 0 hr. 5 min. 10 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ocp/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocp)(PORT=1521)))
Services Summary...
Service "ocm" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...
Service "ocmXDB" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...
Service "ocp" has 1 instance(s).
Instance "ocp", status READY, has 1 handler(s) for this service...
The command completed successfully

2、配tnsnames.ora
remote_130 =
(DESCRIPTION =

(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.217.133)(PORT = 1521))
)
(CONNECT_DATA =
  (SERVICE_NAME = ocm)
 )

)
3.连接测试
[oracle@ocm admin]$ sqlplus hr/hr@remote_130
SQL*Plus: Release 11.2.0.3.0 Production on Wed May 29 23:07:19 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12520: TNS:listener could not find available handler for requested type of
server
Enter user-name:

4、解决方法:(192.168.217.133)主机上一定要配一下
vi /etc/hosts
192.168.217.130 ocm
192.168.217.133 ocp

四、从windows客户端连接
remote_130 =
(DESCRIPTION =

(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.217.133)(PORT = 1521))
)
(CONNECT_DATA =
  (SERVICE_NAME = ocm)
)

)

C:\Users\Administrator>sqlplus hr/hr@remote_130
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 5月 29 21:02:34 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12545: 因目标主机或对象不存在, 连接失败

请输入用户名:

解决方法在C:\Windows\System32\drivers\etc
编辑hosts添加如下:
192.168.217.130 ocm
192.168.217.133 ocp

五、最后总结配置的整过程和解决:
1、配tnsnames.ora
LISTENER_OCP =
(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.217.133)(PORT = 1521))

)

2、配参数
sys@OCM> alter system set remote_listener=LISTENER_OCP;

3、查服务
[oracle@ocm ~]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-MAY-2013 23:28:55
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Services Summary...
Service "ocm" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...

Handler(s):
  "DEDICATED" established:0 refused:0 state:ready
     LOCAL SERVER

Service "ocmXDB" has 1 instance(s).
Instance "ocm", status READY, has 1 handler(s) for this service...

Handler(s):
  "D000" established:0 refused:0 current:0 max:972 state:ready
     DISPATCHER <machine: ocm, pid: 12608>
     (ADDRESS=(PROTOCOL=tcp)(HOST=ocm.example.com)(PORT=46963))

Service "ocp" has 1 instance(s).
Instance "ocp", status READY, has 1 handler(s) for this service...

Handler(s):
  "DEDICATED" established:5 refused:0 state:ready
     REMOTE SERVER
     (ADDRESS=(PROTOCOL=TCP)(HOST=ocp)(PORT=1521))

The command completed successfully

(ADDRESS=(PROTOCOL=TCP)(HOST=ocp)(PORT=1521))从这里发现问题的所在。。。。明白了监听是用主机名,这里必须配/etc/hosts或DNS

4、在windows客户端配tnsnames.ora,或在linux客户端配tnsnames.ora
remote_130 =
(DESCRIPTION =

(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.217.133)(PORT = 1521))
)
(CONNECT_DATA =
  (SERVICE_NAME = ocm)
)

)

5、连接报错
windows中报错
ERROR:
ORA-12545: 因目标主机或对象不存在, 连接失败

请输入用户名:
linux中报错
ERROR:
ORA-12520: TNS:listener could not find available handler for requested type of
server

Enter user-name:

6、最后解决办法:
(1)windows
C:\Windows\System32\drivers\etc
编辑hosts,添加如下:
192.168.217.130 ocm
192.168.217.133 ocp
(2)linux
vi /etc/hosts
192.168.217.130 ocm
192.168.217.133 ocp
(3)要是还报错,配参数listener_local,嘿嘿,一般是不需要配的,我这里就没有配置,不过配上也没关系。
alter system set local_listener='(ADDRESS = (PROTOCOL=TCP)(HOST=192.168.217.130)(PORT=1521))';
(4)如果以上三步还报错,那可能是bug.我这个版本还没有测出来。。。

操作完毕,有其它的不足的地方,请大家指正,谢谢!

相关文章
|
1月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
369 1
|
29天前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
125 11
|
29天前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
1月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
1月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
1月前
|
弹性计算 Windows
阿里云香港服务器收费价格:香港ECS和轻量应用服务器配置介绍
2025年阿里云香港服务器优惠汇总:ECS 2核4G+5M带宽仅199元/年;轻量服务器30M带宽24元/月起,200M峰值带宽25元/月起。轻量性价比高,适合个人及中小企业建站、跨境业务,具体配置价格详见官方活动页。
710 1
|
2月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。