Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Oracle TNS问题?_Database_Oracle_Listener - Fatal编程技术网

Database Oracle TNS问题?

Database Oracle TNS问题?,database,oracle,listener,Database,Oracle,Listener,我有个错误?我的pl/Sql开发人员说我的oracle数据库找不到服务描述符,但是当我检查侦听器时,我得到了这个错误 LSNRCTL> start Starting tnslsnr: please wait... Service OracleOraDb10g_home1TNSListener already running. TNS-12560: TNS:protocol adapter error TNS-00530: Protocol adapter error LSNRCT

我有个错误?我的pl/Sql开发人员说我的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
我的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))
  )
及 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)
    )
  )

请告诉我今晚的最后期限。请帮助。

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

  • LISTENER.ORA
    文件中的条目与
    TNSNAMES.ORA
    文件匹配
  • hosts
    文件中的信息是正确的
  • 您要连接的是本地数据库还是远程数据库

    编辑

    主机文件(在windows环境中)位于

    C:\WINDOWS\system32\drivers\etc
    
    显然,这取决于环境的设置方式(不同的驱动器号或其他)

    编辑


    您需要侦听器文件中的
    GLOBAL\u DBNAME
    来匹配tnsnsames文件中的
    SERVICE\u NAME
    ,即ORCL

    错误可能在
    listener.ora
    文件中。尝试用侦听器正在运行的服务器的名称或ip号替换读取的
    (地址=(协议=TCP)(主机=本地主机)(端口=1521))
    行中的
    localhost

    我会用ipconfig告诉您的是您正在使用的ip地址的任何内容替换localhost。

    不幸的是,这种错误可能发生在各种情况下

  • Oracle数据库服务(OracleServiceXE或您正在使用的任何版本)实际上没有运行
  • 用户试图在非管理员帐户下运行TNSListener服务,阻止其注册关联的Windows服务
  • 由于计算机上有多个ORACLE_主页而发生冲突
  • 服务或配置设置没有问题,但在重新启动Windows服务器之前,TNSListener服务不会成功启动

  • 今天,我通过从cmd.exe运行LSNRCTL start,以“管理员身份”启动,解决了此错误消息

    我在listener.ora和tnsnames.ora中有“localhost”服务器。另外,我在sql.ini中有SQLNET.AUTHENTICATION\u SERVICES=(无)


    在尝试使用LSNRCTL.EXE之前,我在windows服务列表中没有侦听器服务。管理员命令中的LSNRCTL start命令可以为我使用。

    我已经尝试了主机文件,并且设置正确。你能帮我查看一下我在上面发布的TNSname.ora文件和LISTENER.ora文件吗?我试过你的建议,但仍然有同样的错误。LSNRCTL>开始启动tnslsnr:请稍候。。。服务OracleOraDb10g_Home1TransListener已在运行。TNS-12560:TNS:protocol adapter error TNS-00530:protocol adapter error如果执行
    lsnrctl重新加载
    请也发布SQLNET.ORA文件。这可能是问题的一部分。当这个文件配置不正确时,我看到了这个错误。