ORA-12541: TNS: 无监听程序和监听程序当前无法识别连接描述符中请求的服务

阅读更多

今天安装Oracle 11.2后,发现连接不上,出现了以下几个问题。

1、"conn /as sysdba"后报“已连接到空闲例程”,是因为tnsnames.ora中缺少制定监听。在tnsnames.ora中加入

LISTENER_ORCL = 

 

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

2、加上后没有上面的错误,但又发现使用“conn ljoms/ljoms”可以连接,但加上实例名“conn ljoms/ljoms@orcl”后报“ORA-12541: TNS: 无监听程序”。查了些资料,按照网上提供的方法发现listener.ora中只有

“LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = xcc-PC)(PORT = 1521))

    )

  )”缺少SID_LIST_LISTENER,加上

“SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = ORCL)

      (ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

  )”,但出现“TNS: 监听程序当前无法识别连接描述符中请求的服务”,这是由于缺少“GLOBAL_DBNAME”导致,修改SID_LIST_LISTENER为

”SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC=

     (GLOBAL_DBNAME = ORCL)

     (ORACLE_HOME =D:\oracle\product\11.2.0\dbhome_1)

     (SID_NAME = ORCL)

    )

  )“,重启lsnrctl。退出数据库连接,在DOS下运行"lsnrctl stop"后运行"lsnrctl start"

你可能感兴趣的:(oracle)