Oracle TNS问题?

per*_*nce 6 database oracle listener

我有错误吗?我的pl/Sql Developer说我的oracle数据库找不到服务描述符但是当我检查监听器时我得到了这个错误.

LSNRCTL> start
Starting tnslsnr: please wait...

Service OracleOraDb10g_home1TNSListener already running.
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error



LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   32-bit Windows Error: 61: Unknown error
Run Code Online (Sandbox Code Playgroud)

我的listener.ora的内容是

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = Oracle10g)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
Run Code Online (Sandbox Code Playgroud)

和tnsnames.ora的内容是这样的

# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

VMOBILE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

VMOBILEMASTER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = ORCL)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
Run Code Online (Sandbox Code Playgroud)

请给我这个晚上的截止日期.请帮忙.

APC*_*APC 2

这可能是一个配置问题,这意味着我们很难远程解决。您需要检查的两件事是

  1. LISTENER.ORA文件中的条目与您的TNSNAMES.ORA文件 匹配
  2. 您的文件中的信息hosts是正确的。

您尝试连接的数据库是本地数据库还是远程数据库?

编辑

主机文件(在 Windows 环境中)位于类似的位置

C:\WINDOWS\system32\drivers\etc
Run Code Online (Sandbox Code Playgroud)

显然,这取决于您的环境设置方式(不同的驱动器号或其他)。

编辑

您需要侦听器文件中的与 tnsnsames 文件中的GLOBAL_DBNAME相匹配,即 ORCLSERVICE_NAME