RAC 用戶端串連TNS-12547: TNS: 丟失串連

來源:互聯網
上載者:User

MOS上面解釋
 Oracle E-Business Suite Release 11.5.10 introduced support for the Oracle Net security feature, tcp.validnode_checking, which is used to prevent unauthorized Oracle Net access (for example via SQL*Plus) to the Applications database. If a node or PC is not registered, the connection attempt will fail with the error ORA-12537: TNS: connection closed.
 
第一種方法
 第一種
 在sqlnet.ora檔案中將tcp.validnode_checking的值設為no。然後重v刹啟資料庫與服務就可以了。
 
第二種方法 
客戶,在使用pl/sql串連資料庫的時候提示ORA-12537:TNS:串連關閉。
  查看過程:
 1)查看用戶端tnsname.ora檔案資訊如下:# tnsnames.ora Network Configuration File: E:\oracle\network\admin\tnsnames.ora
  # Generated by Oracle configuration tools.
  RHYS =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.1)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = test)
      )
    )
 沒有問題
 2)查看伺服器監聽狀態
 [oracle@oracle-one ~]$ lsnrctl status
 LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-NOV-2013 11:19:35Copyright (c) 1991, 2013, Oracle.  All rights reserved.
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-one)(PORT=1521)))
  STATUS of the LISTENER
  ------------------------
  Alias                    LISTENER
  Version                  TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  Start Date                01-NOV-2013 11:08:41
  Uptime                    0 days 0 hr. 10 min. 54 sec
  Trace Level              off
  Security                  ON: Local OS Authentication
  SNMP                      OFF
  Listener Parameter File  /opt/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
  Listener Log File        /opt/app/oracle/diag/tnslsnr/oracle-one/listener/alert/log.xml
  Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-one)(PORT=1521)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  Services Summary...
  Service "test" has 1 instance(s).
    Instance "test", status READY, has 1 handler(s) for this service...
  Service "RHYSXDB" has 1 instance(s).
    Instance "test", status READY, has 1 handler(s) for this service...
  The command completed successfully
  [oracle@oracle-one ~]$ sqlplus / as sysdba
 SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 1 11:19:38 2013Copyright (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> show parameter service NAME                                TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  service_names                        string      test
  SQL>
正常
 3)在用戶端使用tnsping:
 C:\Users\Administrator>tnsping rhysTNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 01-11月-
 2013 11:10:05Copyright (c) 1997, 2010, Oracle.  All rights reserved.已使用的參數檔案:
 E:\softsetup\oracle_client\oracle_base\network\admin\sqlnet.ora
 已使用 TNSNAMES 適配器來解析別名
  嘗試串連 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1
  68.20.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test)))
  TNS-12547: TNS: 丟失串連
 C:\Users\Administrator>
 4)在伺服器查看sqlnet.ora檔案內容如下:
 tcp.validnode_checking=yes
  tcp.invited_nodes=(192.168.56.101)
 可以看出,正是由於存在tcp.validnode_checking=yes才去檢查tcp.invited_nodes定義的節點,將用戶端ip地址192.168.56.1加入該檔案中即可。
 tcp.validnode_checking=yes
  tcp.invited_nodes=(192.168.56.101,192.168.56.1)
  "sqlnet.ora" 1118L, 32887C written                                                                                                                 
 [oracle@oracle-one admin]$
 由於操作的是正在啟動並執行伺服器,因此不能重啟該監聽,但是reload可以實現。
 [oracle@oracle-one admin]$
  lsnrctlLSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-NOV-2013 11:22:57Copyright (c) 1991, 2013, Oracle. 
All rights reserved.Welcome to LSNRCTL, type "help" for information.
 LSNRCTL> help
  The following operations are available
  An asterisk (*) denotes a modifier or extended command:start              stop                status             
 services            version            reload             
 save_config        trace              spawn             
 change_password    quit                exit               
 set*                show*              LSNRCTL> reload
  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-one)(PORT=1521)))
  The command completed successfully
  LSNRCTL> exit
 5)在用戶端測試:
 C:\Users\Administrator>tnsping rhys
 TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 01-11月-
 2013 11:23:14Copyright (c) 1997, 2010, Oracle.  All rights reserved.已使用的參數檔案:
 E:\softsetup\oracle_client\oracle_base\network\admin\sqlnet.ora
 已使用 TNSNAMES 適配器來解析別名
  嘗試串連 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1
  68.56.101)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RHYS)))
  OK (10 毫秒)C:\Users\Administrator>
 問題得到解決

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.