【Oracle問題集3】ORA-12543: TNS:destination host unreachable

說明:【oracle問題集】是博主平時操作數據庫遇到的問題以及解決方案。
執行語句:表示操作數據庫過程
出錯現象:表示操作數據庫過程出現錯誤現象
出錯原因:表示出現錯誤的原因
解決方法:表示解決錯誤的方法
相關知識:表示與這個主題相關的知識
====================================================================
執行語句:
連接數據庫:connect sys/[email protected]/orcl as sysdba
出錯現象:
       ORA-12543: TNS:destination host unreachable
錯誤原因:
sqlnet.ora文件中的NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT),添加ezconnect參數值,所以如果指定數據庫實例,必須要跟上主機ip地址。請參考【Easy Connect Naming】。因此正確的寫法是:CONNECT username/password@host[:port][/service_name]
例如connect sys/[email protected]/orcl as sysdba
解決方法:
連接數據庫時需要指定主機ip地址:connect sys/[email protected]/orcl as sysdba
相關知識:
             以下知識來源於oracle官方文檔
Naming Method Description

Local Naming

Resolves a net service name stored in a tnsnames.ora file stored on a client

Local naming is most appropriate for simple distributed networks with a small number of services that change infrequently.

See Also: "Configuring the Local Naming Method"

Directory Naming

Resolves a database service name, net service name, or net service alias stored in a centralized LDAP-compliant directory server

See Also: "Configuring the Directory Naming Method"

Easy Connect Naming

Enables clients to connect to a database server without any configuration. Clients use a connect string for a simple TCP/IP address, consisting of a host name and optional port and service name:

CONNECT username/password@host[:port][/service_name]

This method is recommended for simple TCP/IP environments.

See Also: "Using the Easy Connect Naming Method"

External Naming

Resolves service information stored in an a third-party naming service

See Also: "Configuring External Naming Methods"

相關監聽配置測試工具命令:lnsrctl、tnsping

listener.ora文件內容:
# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
     (SID_NAME=orcl)
     (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1)
    )
   )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.135.243)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /home/oracle/app/oracle

tnsnames.ora文件內容
# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.135.243)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.192.168.132.243)
    )
  )

sqlnet.ora
# sqlnet.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /home/oracle/app/oracle

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章