精华内容
下载资源
问答
  • 0x7f88cafc52f0, kmduiflg: 1, circuit: 0x8507e5448 (circuit) dispatcher process id = (0x85c694738, 1) parent process id = (18, 1) serial # = 2 connection context = 0x7f88cafc52f0 user session = ((nil)...

    一数据库突然连接不上,在自己电脑上使用SQL Developer也连接不上。立即使用SecureCRT连接上了这台服务器,从下面几个方面检查。

     

    1:检查了数据库的状态是否正常

    $ sqlplus / as sysdba
     
    SQL*Plus: Release 10.2.0.5.0 - Production on Mon May 16 11:07:55 2016
     
    Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
     
     
    Connected to:
    Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
     
    SQL> select status from v$instance;
     
    STATUS
    ------------
    OPEN
     
    SQL> 

     

    2:检查监听日志是否出现错误和异常

    $ more listener.log | grep TNS
    TNS-12502: TNS:listener received no CONNECT_DATA from client
    TNS-12502: TNS:listener received no CONNECT_DATA from client
    TNS-12502: TNS:listener received no CONNECT_DATA from client
    TNS-12502: TNS:listener received no CONNECT_DATA from client
    TNS-12502: TNS:listener received no CONNECT_DATA from client
    TNS-12502: TNS:listener received no CONNECT_DATA from client

     

    如上所示,监听日志没有很特别的错误出现,使用tail -60f listener.log 也能看到监听进程一直处理用户请求,但是新的连接无法登录到数据库。事后检查(这种情况持续的实际较短,我还在检查时,数据库已经正常了,数据库又能正常连接),发现在12:59出现了TNS-12535错误,跟这个没有关系。

    TNS-12525: TNS:listener has not received client's request in time allowed

    TNS-12535: TNS:operation timed out

    TNS-12606: TNS: Application timeout occurred

    TNS-12502: TNS:listener received no CONNECT_DATA from client

    TNS-12502: TNS:listener received no CONNECT_DATA from client

    clip_image001

     

    3:检查告警日志和跟踪日志

    检查告警日志,没有发现任何错误信息,但是在这个时间点出现了几个trc文件

    clip_image002

    *** 2016-05-13 12:39:57.979
      NS Primary Error: TNS-12535: TNS:operation timed out
      NS Secondary Error: TNS-12606: TNS: Application timeout occurred
    kmduicxd: 0x7f88cafc4620, kmduiflg: 1, circuit: 0x8507edda0
      (circuit) dispatcher process id = (0x85c694738, 1)
                parent process id = (18, 1)
                serial # = 2
                connection context = 0x7f88cafc4620
                user session = ((nil)), flag = (100c0), queue = (9)
                current buffer = (0), status = (4, 0)
    Client Address = (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.xxx.xxx)(PORT=60049))
    *** 2016-05-13 12:40:25.202
      NS Primary Error: TNS-12535: TNS:operation timed out
      NS Secondary Error: TNS-12606: TNS: Application timeout occurred
    kmduicxd: 0x7f88cafc4dd0, kmduiflg: 1, circuit: 0x8507e8210
      (circuit) dispatcher process id = (0x85c694738, 1)
                parent process id = (18, 1)
                serial # = 2
                connection context = 0x7f88cafc4dd0
                user session = ((nil)), flag = (100c0), queue = (9)
                current buffer = (0), status = (4, 0)
    Client Address = (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.xxx.xxx)(PORT=58630))
    *** 2016-05-13 12:40:45.147
      NS Primary Error: TNS-12535: TNS:operation timed out
      NS Secondary Error: TNS-12606: TNS: Application timeout occurred
    kmduicxd: 0x7f88cafc52f0, kmduiflg: 1, circuit: 0x8507e5448
      (circuit) dispatcher process id = (0x85c694738, 1)
                parent process id = (18, 1)
                serial # = 2
                connection context = 0x7f88cafc52f0
                user session = ((nil)), flag = (100c0), queue = (9)
                current buffer = (0), status = (4, 0)

    clip_image003

    查了一下metalink文档上关于TNS-12535的错误,如下所示

    APPLIES TO:

    Oracle Net Services - Version 10.1.0.3 to 11.2.0.4 [Release 10.1 to 11.2]
    Information in this document applies to any platform.

    This problem can occur on any platform.

     

    SYMPTOMS

    Error TNS-12535 when connecting to Oracle database via dispatchers (shared servers).

    The dispatcher trace shows following error message -

    NS Primary Error: TNS-12535: TNS:operation timed out 
    NS Secondary Error: TNS-12606: TNS: Application timeout occurred 
    kmduicxd: 0EEE01DC, kmduiflg: 1, circuit: 4D08C930 
    (circuit) dispatcher process id = (85917028, 1) 
    parent process id = (64, 1) 
    serial # = 44 
    connection context = 0EEE01DC 
    user session = (00000000), flag = (100c0), queue = (9) 
    current buffer = (0), status = (4, 0) 
    Client Address = (ADDRESS=(PROTOCOL=tcp)(HOST=<IP address>)(PORT=<port>))

    CAUSE

    The SHARED_SERVER parameter is set to an inadequate value and should be raised.   A connection via shared server will fail if there are no free shared servers available to honor the request.

    The 12535 error in the dispatcher trace indicates that the connection was timed out in the dispatchers queue.

    SOLUTION

    Increase value for following database parameters -

    max_shared_servers
    shared_servers

    These parameters are modifiable using ALTER SYSTEM. For example -

    SQL> alter system set shared_server=30;   
    SQL> alter system set max_shared_server=300;

     

    其中有这么一段描述,在共享服务器连接模式当中,如果SHARED_SERVER参数设置过小或不足,如果没有空闲的shared server进程可用,那么通过共享服务器模式连接到数据库的连接请求就会失败, TNS-12535错误就会出现dispatcher trace文件中,表明dispatcher队列中的请求超时。

    The SHARED_SERVER parameter is set to an inadequate value and should be raised. A connection via shared server will fail if there are no free shared servers available to honor the request.

    The 12535 error in the dispatcher trace indicates that the connection was timed out in the dispatchers queue.

     

    我们的shared_server和max_shared_server参数一直以来都较合理,突然出现这种情况是为什么额? 后面再DPA的监控里面看到,当时有个用户使用Toad更新了某个表,但是他后面意识到自己忘记在UPDATE语句里面添加WHERE条件了,就回滚了该SQL语句,这个时间段导致该表被锁,很多会话被阻塞。这就能解释为什么出现这种情况了。

    clip_image004

    接下来,我们通过下面例子来重现这个案例情况吧,我们先准备测试环境,如下所示,我们设置shared_servers、max_shared_servers、两个参数的值。由于是测试环境,我们尽量将这些设置小一点,方便我们测试。

    SQL> alter system set shared_servers=4  scope=both;   
     
    System altered.
     
    SQL> show parameter shared_server
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    max_shared_servers                   integer     30
    shared_server_sessions               integer
    shared_servers                       integer     4
     
    SQL> alter system set max_shared_servers=4 scope=both;
     
    System altered.
     
    SQL> show parameter shared_server
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    max_shared_servers                   integer     4
    shared_server_sessions               integer
    shared_servers                       integer     4
    SQL> 

    创建test用户,然后以test用户登录数据库,执行下面操作后,退出会话。

    SQL> create table test(id number(10), name varchar(12));
     
    Table created.
     
    SQL> insert into test
      2  select 1, 'kerry' from dual union all
      3  select 2, 'jimmy' from dual union all
      4  select 3, 'jerry' from dual;
     
    3 rows created.
     
    SQL> commit;
     
    Commit complete.
    SQL> exit;

    然后开启四个cmd命令窗口分别执行这个sql语句,当我们开启第五个cmd命令窗口时,依然能连接执行SQL(因为第一个会话变成INACTIVE状态,SERVER变成NONE状态了)

    C:\Users>sqlplus test/test@mytest

    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 16 23:46:13 2016

    Copyright (c) 1982, 2010, Oracle. All rights reserved.

    连接到:

    Oracle Database 10g Release 10.2.0.5.0 - 64bit Production

    SQL> update test set name='kkk' where id=1;

    已更新 1 行。

    SQL>

    会话窗口1

    clip_image005

    会话窗口2、3、4、5都如下所示

    clip_image006

    开启第六个窗口执行SQL命令时,报下面错误

    clip_image007

    使用sqlplus / as sysdba 登录数据库,执行下面命令,你会看到第一个会话的STATUS已经变成INACTIVE状态了, SERVER为NONE状态,所以开启第五个会话窗口时才会依然能连接数据库,当你开启第6个会话窗口才报上面错误。可以看到第一个会话961,阻塞了其它四个会话。

    clip_image008

    检查dispatcher的跟踪文件,你就能看到下面这样的错误信息。跟我们上面案例的几乎是一样的

    clip_image009

    当然,有时候你可能被ORA-00104这样的错误给干扰测试。

    clip_image010

    此时你需要设置参数的inbound_connect_timeout,不要给的过大。否则测试结果很容易被上面错误干扰。

    clip_image011

     

    其实V$SESSION中,状态为NONE的当前共享服务器进程没有任务处理,若果进程正在执行某些任务则会为SHARED状态。参考我这篇文章v$session中server为none与shared值解析

    In MTS/Shared Server configuration when you see value 'NONE' (as shown below), it means there is no task being processed by shared server for that session. The server column will infact show status of 'SHARED' if there is some task being processed at that particular time by the shared server process for that session.

     

    在共享服务器模式中,当并发工作的ACTIVE SESSION数大于max_shared_servers参数时,就不能在增加新的shared server processes,新的session请求就会得不到空闲的shared server processes的响应,dispatcher进程无法为会话分配一个服务器端进程(shared server perocesss)也就会出现数据库连接不上的现象,最后出现超时现象。如果这个有点难以理解,那么你想象一下,在一个餐厅里面,假设有40位客人在就餐,但是只有4个服务器员,如果同时四个服务员正在服务4个客户,那么第五个客户,就不能得到服务员的服务了。除非他等待其中一个客户已经服务完了,如果时间太长,他就会放弃这个服务了。

     

    小结:

     

    保证事务是短小的--这是用于MTS(共享服务器模式)的第一条规则。它们可以是频繁的,但它们应该是短小的(如OLTP 系统所表现的特点)。如果它们不是短小的,那么由于共享资源被一些进程独占,将导致系统速度整体下降。在极端的情况下,如果全部的共享服务都是忙的情况下,系统将被挂起。

    所以对于事务具有时间短、频率高特点的OLTP 系统,MTS 是最合适的。在OLTP 系统中,事务是在几毫秒内执行完的。另一方面,MTS 非常不合适于数据仓库。

     

    --------------------------------------------------------------------------------------------------------------------------------

                 上面这段小结来自于《ORACLE专家高级编程》,用在此处非常恰当、合适!!!

    展开全文
  • 启动监听器无法打开,报错! 1 [oracle@localhost ~]$ ... 3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-2014 19:40:52 4 5 Copyright (c) 1991, 2009, Oracle. All rights reserved...

    启动监听器无法打开,报错!

    复制代码

     1 [oracle@localhost ~]$ lsnrctl start
     2 
     3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-2014 19:40:52
     4 
     5 Copyright (c) 1991, 2009, Oracle.  All rights reserved.
     6 
     7 Starting /opt/oracle/11g/bin/tnslsnr: please wait...
     8 
     9 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    10 System parameter file is /opt/oracle/11g/network/admin/listener.ora
    11 Log messages written to /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    12 Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    13 TNS-12555: TNS:permission denied
    14  TNS-12560: TNS:protocol adapter error
    15   TNS-00525: Insufficient privilege for operation
    16    Linux Error: 1: Operation not permitted
    17 
    18 Listener failed to start. See the error message(s) above...

    复制代码

    观察发现,提示没有权限:

    查看.oracle文件:

    [root@localhost ~]# ls -lrtd /var/tmp/.oracle
    drwxrwxrwt. 2 root root 4096 8\u6708   5 21:48 /var/tmp/.oracle
    [root@localhost ~]# ls -lrtd /tmp/.oracle
    drwxrwxrwt. 2 root root 4096 8\u6708   5 20:33 /tmp/.oracle

    发现权限虽然是777,但是用户组和所有者不对,改成oracle:dba

    复制代码

    [root@localhost ~]# chown -R oracle:dba /var/tmp/.oracle
    [root@localhost ~]# chown -R oracle:dba /tmp/.oracle
    [root@localhost ~]# ls -lrtd /tmp/.oracle
    drwxrwxrwt. 2 oracle dba 4096 8\u6708   5 20:33 /tmp/.oracle
    [root@localhost ~]# ls -lrtd /var/tmp/.oracle
    drwxrwxrwt. 2 oracle dba 4096 8\u6708   5 21:48 /var/tmp/.oracle

    复制代码

    再次启动,成功!

    展开全文
  • 为什么[oracle@jibo admin]$ tnsping 192.168.1.4 TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 09:01:28 Copyright (c) 1997, 2013, Oracle. All rights reserved. Used ...

     

      今天是个阴天,老天想下不下的,昏昏沉沉的总想睡觉……

    额……废话不多说了。

    今天中午想做一个catalog库,我就在虚拟机上装了Oracle11g,本想不同于target数据库,

    所以当时配置监听时就没有用默认的端口号1521,和平常一样,我也懒得手工创建监听,

    netca创建监听,监听名默认名LISTENER,端口号改为1526;

    接着就是启动数据库,注册 alter system register,启动监听,[oracle@jibo admin]$ lsnrctl start

    查看监听状态:

    [oracle@jibo ~]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-SEP-2014 21:25:12

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jibo)(PORT=1526)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                23-SEP-2014 15:59:46
    Uptime                    0 days 5 hr. 25 min. 26 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/jibo/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jibo)(PORT=1526)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1526)))
    Services Summary...
    Service "PROD" has 1 instance(s).
      Instance "PROD", status READY, has 1 handler(s) for this service...
    Service "PRODXDB" has 1 instance(s).
      Instance "PROD", status READY, has 1 handler(s) for this service...
    The command completed successfully

     

    嗯……很好,一切正常;

    我就拷贝了一份catalog库的tnsnames.ora到target数据库的tnsnames.ora中,好让target数据库远程访问catalog库;

    先测试一下是否可以连通:

    sqlplus hr/hr@PROD 

    (catalog库的服务名我设置为PROD,target库服务名我设置为ORCL )

    结果…… 呃I  没通,报错……

    我就纳闷了……安装数据库什么的都设置好好的啊,不记得有哪错了……

    我想了一下,是catalog库的问题还是target库的问题呢?

    不用想,target库一直用的好好的,监听什么的都没有问题,

    (我target 主机名Demon ip192.168.1.8/  catalog库主机名 jibo ip192.168.1.4)

    检验一下target吧 ,tnsping 192.168.1.4

    [oracle@Demon admin]$ tnsping 192.168.1.4

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:43:42

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
    TNS-12541: TNS:no listener
    有错误……没有启动监听? 不会啊

    上面看已经启动了……

    再自己tnsping一下;

    [oracle@Demon admin]$ tnsping 192.168.1.8

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:45:33

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.8)(PORT=1521)))
    OK (110 msec)

    自己tnsping自己没有问题

    再测试一下catalog库

    [oracle@jibo ~]$ tnsping 192.168.1.8

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:48:02

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.8)(PORT=1521)))
    OK (100 msec)
    tnsping target库没问题

    再自己tnsping自己一下:

    [oracle@jibo ~]$ tnsping 192.168.1.4

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:48:14

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
    TNS-12541: TNS:no listener


    额,错误,无监听,查看监听,什么原因呢……

    [oracle@jibo admin]$ lsnrctl status listener

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-SEP-2014 23:09:33

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jibo)(PORT=1526)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                23-SEP-2014 23:01:40
    Uptime                    0 days 0 hr. 7 min. 52 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/jibo/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jibo)(PORT=1526)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1526)))
    Services Summary...
    Service "PROD" has 1 instance(s).
      Instance "PROD", status READY, has 1 handler(s) for this service...
    Service "PRODXDB" has 1 instance(s).
      Instance "PROD", status READY, has 1 handler(s) for this service...
    The command completed successfully

    挺正常啊;catalog库有问题,啥问题呢……

    再尝试tnsping 主机名

    [oracle@jibo ~]$ tnsping jibo

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:51:55

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
    TNS-12541: TNS:no listener

    错误……

    tnsping 服务名 试试……

    [oracle@jibo ~]$ tnsping prod

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 00:53:09

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:


    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD)))
    OK (120 msec)

    这个可以啊……那啥问题呢……

    难道主机名和ip地址不匹配?

    查看 /etc/hosts

    [root@jibo ~]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1                localhost.localdomain localhost
    ::1             localhost6.localdomain6 localhost6

    192.168.1.4 jibo
    [root@jibo ~]#
    正常啊

    重启监听lsnrctl reload

    再试试……

    仍然报TNS-12541: TNS:no listener错误;查看tnsnames.ora

    PROD =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = PROD)
        )
      )

    LISTENER_PROD =
      (ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))

    在查看listener.ora

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = jibo)(PORT = 1526))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1526))
        )
      )

    ADR_BASE_LISTENER = /u01/app/oracle

    我顿时有些纳闷,为啥netca自动创建的监听中tnsnames.ora和listener.ora的监听名不一样的,难道自动生成还有错不成……

    那么在数据库中注册的监听到底用哪个名字啊

    我再查看local_listener这个参数

    SYS@PROD>show parameter local_listener

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener                       string      LISTENER_PROD
    SYS@PROD>
    额,不是我创建的listener的监听名,为什么?

    嗯……

    哦,我想起来了listener监听名是Oracle默认的监听名,同时默认的监听端口为1521,

    我一直tnsping 主机名/Ip时,根据默认监听名,它自动找端口为1521的监听,那当然找不到了……

    netstat -pan|grep 1521  就没有启用这个端口……

    看来默认监听名不是那么好用的,

    我在listener.ora中手动把监听名改为LISTENER_PROD

    重启监听 lsnrctl reload  LISTENER_PROD

    然后再关了默认监听lsnrctl stop

    [oracle@jibo ~]$ sqlplus hr/hr@jibo:1526/prod

    SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 24 09:01:14 2014

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL>

    简单连接没问题,说明1526这个端口是可以用的

    再tnsping试试

    [oracle@jibo admin]$ tnsping 192.168.1.4

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 09:01:28

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
    TNS-12541: TNS:no listener
    [oracle@jibo admin]$ tnsping jibo

    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 09:01:41

    Copyright (c) 1997, 2013, Oracle.  All rights reserved.

    Used parameter files:

    Used HOSTNAME adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.4)(PORT=1521)))
    TNS-12541: TNS:no listener
    [oracle@jibo admin]$

    都不行,好像必须走1521这个端口,但默认的已经改了,

    还是这个端口……嗯  谁有好的办法让它用1526这个端口的请留言啊……

     

     

     

     

    结果成功了 ,用的是1526的端口;默认配置监听还真是坑……

    展开全文
  • tnsping命令介绍

    千次阅读 2018-06-28 18:34:39
    什么是tnsping? 可以参考官方文档的具体介绍 http://docs.oracle.com/cd/E11882_01/network.112/e41945/connect.htm#NETAG378   tnsping 实际上就是一个小工具,用来决定是否一个Oracle Net 网络服务(service...

     

     

    什么是tnsping?

    可以参考官方文档的具体介绍

    http://docs.oracle.com/cd/E11882_01/network.112/e41945/connect.htm#NETAG378

     

    tnsping 实际上就是一个小工具,用来决定是否一个Oracle Net 网络服务(service)可以被接受。

    从某种意义上来说,tnsping 针对的 sqlnet连接,就好比为我们常用的ping 命令来检查IP,主机名网络连接情况。

     

    我们来做一个有趣的试验:

     

     

    先来看看以下配置信息:

    数据库所在服务器端:

    数据库安装到Linux服务器,hostname = ttdev, IP 地址= 192.168.56.11, ORACLE_SID=ORCL

    ------

    [oracle@ttdev ~]$ cat /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora

    LISTENER =

      (DESCRIPTION_LIST =

        (DESCRIPTION =

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

        )

      )

    SID_LIST_LISTENER =

      (SID_LIST =

        (SID_DESC =

          (PROGRAM = extproc)

          (SID_NAME = PLSExtProc)

          (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_2)

        )

      )

    ADR_BASE_LISTENER = /home/oracle/app/oracle/

    ------

     

     

    客户端:

    在Windows ,安装oracle 客户端后,配置Windows 环境变量 TNS_ADMIN 指向 C:\app\liyang\product\11.2.0\client_2\network\admin

    在该路径下,添加 tnsnames.ora 文件

    ------

    TTORCL =

      (DESCRIPTION =

        (ADDRESS_LIST =

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

        )

        (CONNECT_DATA =

          (SERVICE_NAME = orcl)

        )

      )

    ------

    客户端的sqlnet.ora 使用默认

    SQLNET.AUTHENTICATION_SERVICES = (NTS) 

    =============

     

     

    试验一:

    首先,我们来看一下数据库服务器端的实际情况:

    通过putty 登录到Linux系统的oracle 用户,停掉数据库,并检查监听情况:

    ------

    [oracle@ttdev ~]$ sqlplus / as sysdba

    SQL*Plus: Release 11.1.0.7.0 - Production on Tue Mar 25 18:49:23 2014

    Copyright (c) 1982, 2008, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> shutdown immediate

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> quit

    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

     

    [oracle@ttdev ~]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 25-MAR-2014 18:52:03

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521)))

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production

    Start Date                25-MAR-2014 18:14:27

    Uptime                    0 days 0 hr. 37 min. 36 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora

    Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/ttdev/listener/alert/log.xml

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.11)(PORT=1521)))

    Services Summary...

    Service "PLSExtProc" has 1 instance(s).

      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...     《=========服务里面并没有ORCL,因为数据库刚刚被shutdown了!

    The command completed successfully

    ------

     

    在Windows 客户端, 开始 菜单=》 运行 =》 输入 cmd 命令,

    进入dos 窗口,并输入 tnsping TTORCL, 返回

    ------

    C:\Users\liyang>tnsping TTORCL

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 10:06:08

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora

    已使用 TNSNAMES 适配器来解析别名

    尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1   《=====TNSPING 仍然解析成功,返回TTORCL的具体内容!

    68.56.11)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

    OK (20 毫秒)

    ------

    上面返回的 “尝试连接” 后面部分是sqlnet 如何解析到的TTORCL 别名,或者叫 连接标识符。该别名的解析是通过客户端的 TNS_ADMIN指定路径下的 sqlnet.ora文件中的 NAMES.DIRECTORY_PATH 参数决定的。上面的试验结果显示的是通过 TNSNAMES 适配器 来解析成功的。 

    该请求可以看到,是通过 TCP 的网络协议  (PROTOCOL = TCP), 连接到了 IP地址为 192.168.56.11 上的服务器(也可以是主机名),希望连接的端口为 1521, 服务名为  (SERVICE_NAME = orcl)。

    连接20毫秒的意思是 一个预估的大概网络传输往返一次的时间。

     

    以上测试说明了,不论数据库是否运行,只要监听存在并在运行,tnsping 都可以成功解析! 

    =============

     

     

    试验二:

    停止数据库实例,更改监听的端口为 1522 , 启动监听:

    ------

    [oracle@ttdev admin]$ sqlplus / as sysdba

    SQL*Plus: Release 11.1.0.7.0 - Production on Tue Mar 25 21:07:28 2014

    Copyright (c) 1982, 2008, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> shutdown immediate;

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> quit

    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

     

    [oracle@ttdev admin]$ ps -ef | grep smon

    oracle    4335  3326  0 21:08 pts/1    00:00:00 grep smon                  

    《====没有数据库实例进程运行

     

    [oracle@ttdev admin]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 25-MAR-2014 21:08:00

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1522)))  

    《====端口已经更改!

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production

    Start Date                25-MAR-2014 21:01:31

    Uptime                    0 days 0 hr. 6 min. 29 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora

    Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/ttdev/listener/alert/log.xml

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.11)(PORT=1522)))   《======监听1522 正常运行 

    Services Summary...

    Service "PLSExtProc" has 1 instance(s).

      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...  《====没有监听到 ORCL的服务

    The command completed successfully

    ------

    接下来,回到客户端,执行  tnsping ttorcl

    ------

    C:\Users\liyang>tnsping ttorcl

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 12:09:48

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora

    已使用 TNSNAMES 适配器来解析别名

    尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1   <===仍然返回成功解析和接受

    68.56.11)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

    OK (0 毫秒)

    ------

    这个试验二证明了,tnsping 即使在数据库实例停止的情况下,并没有监听1521端口,只要监听运行,tnsping就可以返回正常!

    =============

     

     

    试验三:

    那我们再来测试一下,监听停止的情况

    ------

    [oracle@ttdev ~]$ lsnrctl stop

    LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 25-MAR-2014 19:26:31

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521)))

    The command completed successfully

     

    [oracle@ttdev ~]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 25-MAR-2014 19:26:39

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521))) 

    TNS-12541: TNS:no listener

    TNS-12560: TNS:protocol adapter error                                

    《=======监听停止

      TNS-00511: No listener

       Linux Error: 111: Connection refused

     

    [oracle@ttdev ~]$ ps -ef | grep smon

    oracle    3585  3326  0 19:26 pts/1    00:00:00 grep smon    

    《===没有数据库实例启动 

    ------

    此时,在客户端再次执行 tnsping:

    ------

    C:\Users\liyang>tnsping TTORCL

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 10:27:55

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora

    已使用 TNSNAMES 适配器来解析别名

    尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1

    68.56.11)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

    TNS-12541: TNS: 无监听程序                    <============解析仍然成功,但是报出 TNS-12541 的错误!

    ------

    以上测试说明了,监听停止之后,tnsping 无法被远端监听接受

    =============

     

     

    以下试验四,五开始之前,我们将启动数据库实例和监听

    ------

    [oracle@ttdev admin]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 25-MAR-2014 21:02:31

    Copyright (c) 1991, 2010, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521)))

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production

    Start Date                25-MAR-2014 21:01:31

    Uptime                    0 days 0 hr. 1 min. 0 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora

    Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/ttdev/listener/alert/log.xml

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.11)(PORT=1521)))

    Services Summary...

    Service "PLSExtProc" has 1 instance(s).

      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

    Service "orcl" has 1 instance(s).

      Instance "orcl", status READY, has 2 handler(s) for this service...

    Service "orclXDB" has 1 instance(s).

      Instance "orcl", status READY, has 1 handler(s) for this service...

    The command completed successfully

     

    [oracle@ttdev admin]$ ps -ef | grep smon

    oracle    4148     1  0 21:01 ?        00:00:00 ora_smon_orcl

    oracle    4261  3326  0 21:02 pts/1    00:00:00 grep smon

    ------

     

     

    试验四:

    删除本地的 tnsnames.ora,之后看一下会出现什么情况

    ------

    C:\Users\liyang>tnsping TTORCL

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 10:31:38

     

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

     

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora 

     

    TNS-03505: 无法解析名称               《=====================这次,连解析都无法成功!

    ------

     

    注:编辑tnsnames.ora,如果我将TTORCL 修改为 ORCL,则返回同样的结果

    ------

    C:\Users\liyang>tnsping TTORCL

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 10:33:36

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora

    TNS-03505: 无法解析名称

    ------

    =============

     

    试验五:

    再来测试一个IP地址输入错误的情景

    修改tnsnames.ora文件,从192.168.56.11 改为一个不存在的192.168.56.12

    ------

    TTORCL =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1521))  《==更改IP 

        )

        (CONNECT_DATA =

          (SERVICE_NAME = orcl)

        )

      )

    ------

    C:\Users\liyang>ping 192.168.56.12

    正在 Ping 192.168.56.12 具有 32 字节的数据:

    来自 192.168.56.1 的回复: 无法访问目标主机。    <====ping 显示了该IP不存在

     

    C:\Users\liyang>tnsping ttorcl

    TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-3月 -

    2014 11:54:25

    Copyright (c) 1997, 2010, Oracle.  All rights reserved.

    已使用的参数文件:

    C:\app\liyang\product\11.2.0\client_2\network\admin\sqlnet.ora

    已使用 TNSNAMES 适配器来解析别名

    尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1

    68.56.12)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

    TNS-12535: TNS: 操作超时            《=======结果是等了较长时间报出超时错误

    ------

     

    总结: 

    tnsping 用于诊断各种客户端连接问题还是一个非常好的工具。

    但是我们要清楚的知道,这个工具能做什么(检查客户端TNS配置),什么不能做(检查数据库实例是否启动,监听端口是否在1521上)!

     

    从以上试验我们看到,tnsping的解析成功仅仅意味着本地的tnsnames.ora ,IP地址,TNS_ADMIN 变量等配置成功。

    但是,完全跟目标数据库实例连接没有任何关系!

     

    最后,sqlnet 跟数据库也完全是独立的两个问题。不要因为sqlnet连接方面出错,就肯定是数据库的问题。要从客户端自身先找原因

    展开全文
  • TCP)(HOST = dj)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl)(UR=A) ) ) [oracle@dj admin]$ tnsping orcl TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 04-JAN-2019 05:03:52 ...
  • 【故障|监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe 1.1  BLOG文档结构图     1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以...
  • 【故障•监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe 【故障|监听】TNS-12518、TNS-00517和 Linux Error:32:Broken pipe 1.1 BLOG文档结构图     1.2 前言部分 1.2.1 ...
  • Oracle EBS系统启运监听服务器提示错误,解决方法 TNS-12547: TNS:lost contact TNS-12560: TNS:protocol adapter error TNS-00517: Lost contact Linux Error: 32: Broken pipe
  • SQLNET跟踪tnsping过程

    2019-09-26 01:15:13
    -2014 08:52:31   Copyright (c) 1997, 2005, Oracle. All rights reserved. #######本次跟踪的信息读取,包括跟踪级别,基本的跟踪参数读取位置##...
  • 在查看alert日志的时候发现: 1 *********************************************************************** 2 3 Fatal NI connect error 12170. ... 5 VERSION INFORMATION: ... 6 TNS for Linux: Version 1...
  • 绿色部分的错误编码要和蓝色字符串中的错误编码相同,才能显示字符串中的信息,否则显示默认信息 TNS312版本错误返回 如果将版本改为312,返回错误又不相同, 此包此包为Data包,DataID=17 CALLID=02 绿色部分的错误...
  • Oracle TNS 协议抓包分析

    千次阅读 2018-08-23 19:52:00
    34 29 28 45 52 52 4f 52 5f 53 54 41 43 4b 3d 28 4)(ERROR_STACK=( 45 52 52 4f 52 3d 28 43 4f 44 45 3d 31 32 35 31 ERROR=(CODE=1251 34 29 28 45 4d 46 49 3d 34 29 29 29 29 4)(EMFI=4)))) 如果有下面...
  • TNS-12518 TNS-12549 TNS-12560 TNS-00519

    千次阅读 2012-02-21 00:51:06
    TNS-12518: TNS:listener could not hand off client connection TNS-12549: TNS:operating system resource quota exceeded TNS-12560: TNS:protocol adapter error TNS-00519: Operating system resource quota
  • TNS-12543: TNS:destination host unreachable

    万次阅读 2015-07-07 14:40:38
    TNS-12543: TNS:destination host unreachable 二:出错原因 机器的防火墙已开启,但没有开放该1521端口 三:解决办法 vi /etc/sysconfig/iptables 直接在配置文件里已有的-A INPUT那些命
  • tnsping通但sqlplus连接不上的处理

    千次阅读 2018-02-06 21:48:13
    3.tnsping。目标库是否有服务,端口是否正确 4.listener。监听是否正常,service_name是否正确 5.session是否达到上限 这是我在检查监听的时候要检查的项目,但是今天的案例中,以上都是正确的,可sqlplus...
  • 2 2 1 未知 2 2 1 固定字节 54 152 41 所有命令都相同 SQL命令 变长 变长 变长 尾部字节 52 52 17 01开头 根据其他文章来看Oracle9、10(TNS312,313)下这个包有一定区别(主要是从序列号到SQL的字节数分别为80,92,...
  • LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 11-JUN-2007 11:05:52 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please...
  • Oracle:TNS数据传输协议-基础篇

    万次阅读 2016-06-20 16:38:20
    TNS协议是ORACLE服务端和客户端通讯的协议。目前有许多版本,并且大部分向下兼容。我们主要在Oracle 11g的版本上研究客户端和服务端之间的传输协议。网络上关于TNS协议的介绍资料比较少,毕竟它不是开源的数据库,但...
  • 今天一台数据库服务器登录不上,报TNS-12541: TNS:no listener 到服务器上看下监听器状态   1. oracle@linux-34:~> lsnrctl status  2.  3. LSNRCTL for Linux: Version 11.1.0.6.0 - ...
  • TNS-12541: TNS:no listener 这次错误我总结一下有三种情况 1.本地监听程序没有开起来 2.服务器网络到客户端网络不通 3.Hosts里面配置问题 [oracle@his1...
  • tnsping 解析

    2016-02-01 19:40:58
    什么是tnsping? 可以参考官方文档的具体介绍 http://docs.oracle.com/cd/E11882_01/network.112/e41945/connect.htm#NETAG378 TNSPING is a utility in the ORACLE HOME/bin directory used to test if a SQL*...
  • 今天某数据库突然报如下错误:TNS-12570 TNS:packet reader failure想观察以下监听程序状态,但是一直没有响应:[oracle@test-rpt2 ~]$ lsnrctl statusLSNRCTL ...
  • TNS-03505 名称无法解析

    万次阅读 2015-06-16 17:22:19
    TNS-03505 名称无法解析问题现象:[oracle@db01 admin]$ tns...TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 15-JUN-2015 21:57:52 Copyright (c) 1997, 2013, Oracle. All rights reserved. Use
  • ORA-12170:TNS:连接超时 参考各位大佬的意见,貌似都是防火墙,iptables等问题,可我都全关联,最后想到了,原来是我没放通安全规则,1521 端口过不去 第一位 第二位 放开云服务器安全规则 命令行现在连上了 ...
  • 启动oracle监听报错: -bash-4.1$ lsnrctl ...LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 10-SEP-2012 14:52:29 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /oracle/product/1
  • 从客户端tnsping一台数据库,报错“TNS-12537:TNS:连接关闭”,奇怪~~,服务器端可以tnsping通,也可以正常访问数据库,listener状态也正常,为什么客户端连接不上,查了一下原因,为sqlne...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,165
精华内容 2,066
关键字:

tns52