Chinaunix

标题: [问题]关于oracle需要的端口的问题 [打印本页]

作者: txfy    时间: 2003-09-12 20:43
标题: [问题]关于oracle需要的端口的问题
我的oracle启动listener时报
Attempted to listen on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
  TNS-00515: Connect failed because target host or object does not exist,应该listener.ora文件没问题,我觉得应该是oracle通讯需要的端口
被关掉了,那位大侠知道需要那些,或者在solaris下怎么打开一个通讯端口?
作者: Yicho    时间: 2003-09-12 21:17
标题: [问题]关于oracle需要的端口的问题
你的机器名称叫test吗?是否改过名字?
以前我也犯到过机器名称改动后忘记修改这个配置文件的错误。
作者: txfy    时间: 2003-09-12 21:21
标题: [问题]关于oracle需要的端口的问题
这个没问题,我看过很多遍了!
作者: iricyan    时间: 2003-09-12 21:59
标题: [问题]关于oracle需要的端口的问题
google上查一下。
作者: venfly    时间: 2003-09-12 22:08
标题: [问题]关于oracle需要的端口的问题
把test改为ip地址试试!
作者: fanyf    时间: 2003-09-13 00:12
标题: [问题]关于oracle需要的端口的问题
oracle通讯需要的端口

66 sql*net Oracle SQL*NET        Oracle SQL*NET
1525/tcp orasrv oracle
1527/tcp tlisrv oracle
1529/tcp coauthor oracle
1571/tcp rdb-dbs-disp Oracle Remote Data Base
1575/tcp oraclenames oraclenames
1748/tcp oracle-em1 oracle-em1
1754/tcp oracle-em2 oracle-em2
作者: txfy    时间: 2003-09-13 23:21
标题: [问题]关于oracle需要的端口的问题
谢谢大家,但是怎么知道这些端口开没开,或者怎么打开这些端口呢?
作者: shinesoft    时间: 2003-09-14 01:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: laoxia    时间: 2003-09-14 07:22
标题: [问题]关于oracle需要的端口的问题
Read this article: (it is available in Metalink Doc ID: 12101.1)


TNS-12545
The TNS-12545 error normally occurs when the TCP/IP protocol cannot resolve a
given hostname either when initiating a connection, or when resolving a hostname
from a redirect packet. (NOTE: SQL*Net does not resolve hostnames).
  

TNS-12545,  "Connect failed because target host or object does not exist"

Cause:  The address specified is not valid, or the program being
        connected to does not exist.
Action: Ensure the ADDRESS parameters have been entered correctly; the
        most likely incorrect parameter is the node name.  Ensure that the
        executable for the server exists (perhaps "oracle" is missing.)

Diagnosing the Error

1. Create a level 16 trace file and reproduce the problem

a. edit the sqlnet.ora file
b. add the parameter TRACE_LEVEL_CLIENT=16
c. reconnect in order to receive the TNS-12545 error again
d. exit the connecting application (i.e. SQL*Plus)

2. Open the client trace (probably cli.trc) in a text editor

a. search for the line:
   "nttbnd2addr:  *** hostname lookup failure! ***"
b. The line above this line reveals the hostname trying to be resolved
   by TCP/IP (NOTE: SQL*Net does not resolve hostnames).

3. Solutions:

a. Verify this hostname is spelled correctly
b. Verify this hostname actually exists by executing the OS command
   "nslookup [hostname]" where [hostname] is the value of the HOST parameter
   defined for the Net service name being used for the connection.
c. Add the hostname, returned by the trace, to the local hosts file and assign it
   the correct IP address (NOTE: this hostname may be a secondary network card
   on the server or in some cases you need to add the 'Hostname.DomainName'
   of the server in the etc/Hosts file at the client side).
d. Using the IP address of the server for the HOST value in the tnsnames.ora
   file may also be a solution.  This avoids Host to IP resolution.

[Optional] Further Diagnosis

4. Search for a redirect packet

a. From within the client trace file at the line "nttbnd2addr:  *** hostname
   lookup failure! ***", search upward for the word "NSPTRD"
b. If "NSPTRD" is found, then the failure is due to a Multi-threaded Server
   dispatcher returning the hostname of an alternate network card on the server.
   This is not a bug as dispatchers listen on what is defined as the primary
   network card bound to the operating system.

5. Solutions:

a. Force MTS dispatchers to listen on the correct network card on the server -
   thereby returning a valid redirect address.  Redefine the MTS syntax in the
   init.ora file (NOTE: this example is for Oracle9i):
dispatchers="(address=(protocol=tcp)(host=[correct_host/ip]))(dispatchers=3)"

b. Add a hosts file entry for the hostname being returned from the redirect packet.

TNS-12545 when starting the listener
The hostname value for the HOST parameter in the listener.ora file could not be resolved
by TCP/IP (NOTE: SQL*Net does not resolve hostnames).  Verify it's accuracy, or replace the
hostname value with the IP address, and retry the operation.

Resolving a TNS-12545 when TCP/IP is not being used

TNS-12154 errors can occur when making a local Bequeath connection on the Oracle server.
A TNS-12154 can occur if the ORACLE_HOME is not set correctly, if the ORACLE_SID is not set
correctly, or if the application (such as SQL*Plus) is not linked with correctly.  See the
appropriate product documentation on linking Oracle correctly (usually /usr/ccs/bin/make
is the correct linker to use).
  

Other Situations that Produce a TNS-12545

Verify the oracle_home/bin 'oracle' executable exists.  If it is not there, relink or reinstall Oracle.
On Unix, ensure that the oracle user has access rights to etc/hosts.
On Unix, the permissions on resolv.conf may be incorrect. Login as root and change the permissions:
        % chmod 755 /etc/resolv.conf
With the 3rd party tool CATII, add a \ in front of the @ symbol in the connect string:
        For example:  user/password\@alias
On NT, verify LOCAL does not exist in registry.
System Key: [HKEY_LOCAL_MACHINE\Software\Oracle\Home(x)]
Value Name: LOCAL
This note also pertains to
WinNT error 1067
WinNT error 2140
作者: laoxia    时间: 2003-09-14 07:32
标题: [问题]关于oracle需要的端口的问题
http://www.experts-exchange.com/Databases/Oracle/Q_20622245.html

如上连接中的问题解决方法是把客户端的tnsnames.ora
中的HOST改为了IP,但最好的方法应当是彻底解决机器名解析的问题
作者: txfy    时间: 2003-09-14 11:24
标题: [问题]关于oracle需要的端口的问题
very thanks




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2