`
xuela_net
  • 浏览: 502824 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

一、环境:


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.我这个版本还没有测出来。。。

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


**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name: guoyJoe

QQ: 252803295

Email: oracledba_cn@hotmail.com

Blog: http://blog.csdn.net/guoyJoe

ITPUB: http://www.itpub.net/space-uid-28460966.html

OCM: http://education.oracle.com/education/otn/YGuo.HTM
_____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

DSI&Core Search Ⅰ群:127149411(加群验证信息回复:from guoyJoe@csdn)

DSI&Core Search Ⅱ 群:177089463 (加群验证信息回复:from guoyJoe@csdn)

DSI&Core Search Ⅲ群284596437(加群验证信息回复:from guoyJoe@csdn)

DSI&Core Search Ⅳ 群192136702(加群验证信息回复:from guoyJoe@csdn)

DSI&Core Search Ⅴ群:285030382(加群验证信息回复:from guoyJoe@csdn)





分享到:
评论

相关推荐

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...

    ora-12514的错误的原因

    ORA-12514 错误的原因和解决方法 ORA-12514 错误是 Oracle 数据库中常见的一种错误,它的出现可能是由于多种原因引起的。下面我们将从根本上探究 ORA-12514 错误的原因,并提供相应的解决方法。 原因 1:监听器没有...

    Oracle_win32_11gR1_database出错误及解决办法

    2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误。 3、如果数据库服务启动失败,则很有可能是其注册表项值损坏。。。4、ORA-12154:TNS:能解析服务名 5、ORA-1034 :TNS:ORACLE不可用...

    plsql不能连接linux下oracle问题ORA-12514.doc

    PL/SQL无法连接到Linux下Oracle数据库,出现ORA-12514错误,是由于Linux环境下的Oracle数据库缺少了必要的服务配置。通过修改 listener.ora 文件和启动相关数据库和监听服务,可以解决这个问题,使PL/SQL能够连接到...

    ORA-12541TNS无监听程序解决

    "ORA-12541TNS无监听程序解决" Oracle 是一种关系型数据库管理系统,广泛应用于各行各业。然而,在安装 Oracle 后,连接数据库时可能会出现 ORA-12541:TNS:无监听程序的错误。本文将详细介绍该错误的解决方案。 ...

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

    Oracle Listener 配置和 ORA-12514 错误解决方法 Oracle Listener 是 Oracle 数据库的关键组件,负责监听客户端的连接请求,并将其路由到相应的数据库实例中。然而,在使用 Oracle 数据库时,经常会遇到 ORA-12514...

    连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟大家分享一下如何启动oracle的监听。 1.在安装...

    ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程

    刚开始时,有一台服务器的ORACLE 11G数据库连接不上,报错:ORA-12541:TNS:无监听程序 重启服务里面的两个Oracle服务,都没解决。 在网上看到一篇文章说另一种可能是oracle目录目录下listener.log日志文件过大(达到...

    PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决(本地未安装Oracle需要连接服务器上的)

    ORA-12154:TNS:无监听程序 错误分析一、PL/SQL 客户端登录到数据库,如果配置错误会有以上错误,如下图。 这个错误主要是pl/sql客户端的tnsnames.ora配置错误,或者是输入 database选项错误。 错误分析二、未配置...

    plsql连接oracle数据库报ora 12154错误解决方法

    plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错”ORA-12154: TNS: 无法解析指定的连接标识符” 解决方法如下: 1.先检查服务器端的...

    Oracle常见报错分析

    三、ORA-12500:TNS:监听程序无法启动专用服务器进程 ORA-12500 错误是由于 Oracle 数据库服务没有启动所致。可以使用命令 net start ORACLESERVICEORADB 启动数据库服务。如果仍没有解决问题,可以删除数据库服务...

    用pl/sql连接本地数据库时报ORA-12541:TNS:无监听程序

    在dos窗口都能登录数据库,但通过PL/SQL登录是老是报 ORA-12541 或12154的错,在Oracl Net Manager 中也配置好了服务器命名和监听程序,查看系统配置文件系统参数文件为D:oracleproduct10.1.0db_1 ...

    初学Oracle最经常碰到的错误及解决方案

    ORA-12541:TNS:没有监听器。...ORA-12500:TNS:监听程序无法启动专用服务器进程,或ORA-12560:TNS:协议适配器错误。原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB即可。

    ORA-28547:连接服务器失败,可能是Oracle Net管理错误

    关于这个问题,测试了很多方案,终于成功,现提供如下排查思路: 1、首先排查oci.dll不一致(navicat for oracle与oracle版本不一致)问题,这个操作必须进行。...2、如果此方式仍不能解决,需进行如下操作,

    ORACLE配置tnsnames.ora文件详解

    ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。 一般tnsnames.ora 是建立在客户机上的。如果是客户机/服务器...

    oracle监听配置

    oracle监听配置,详细哦. 一、监听器(LISTENER)  监听器是Oracle基于服务器端的一种网络服务,主要用于...既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。

    JDBC连接Oracle数据库常见问题及解决方法

    "JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...

    oracle常见错误集(01653\12541\12537)和处理方法

    本文将介绍三个常见的 Oracle 错误:Ora-01653、Ora-12537 和 Ora-12541,并提供相应的解决方法。 一、Ora-01653 错误 Ora-01653 错误是指表空间不足的错误,当数据库文件达到最大值时,数据库将不能继续写入数据...

    如何连接oracle数据库及故障解决办法

    在配置 tnsnames.ora 文件时,需要指定服务名、侦听端口和数据库服务器的主机名。例如,如果服务器名为 testserver,服务名为 orcl.testserver.com,使用的侦听端口为 1521,那么 tnsnames.ora 文件的内容如下: ...

    解决oracle数据库监听器无法启动问题.docx

    客户端无法连接到服务器,出现“ora-12541: TNS:没有监听器”的错误信息。在服务器中启动OracleOraHome92TNSListener服务时,出现“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定...

Global site tag (gtag.js) - Google Analytics