win7 登录本地oracle报错:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服

来源:互联网 发布:黄金矿工c语言代码 编辑:程序博客网 时间:2024/06/14 06:42

 处理方法:

1.在listener.ora中

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\win7-ruanj\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )这个中间加

(SID_DESC =
       (GLOBAL_DBNAME = myoracle)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (SID_NAME = myoracle)
     )

如:SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\win7-ruanj\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
       (GLOBAL_DBNAME = myoracle)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (SID_NAME = myoracle)
     )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )
添加后 重启 LISTENER监听。

在安装目录找到oracle\product\10.2.0\db_1\bin\LSNRCTL.EXE 以管理身份身份运行。 reload  重启监听器

 

在tnsnames.ora中要添加

MYORACLE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = myoracle)
    )
  )

这样就ok了

 

 

 

在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态:
1、$lsnrctl status:检查当前监听器的状态
2、$lsnrctl start [listener-name] 启动所有的监听器,可以指定名字来启动特定的监听器
3、$lsnrctl stop [listener-name]  关闭所有的监听器,可以指定名字来关闭特定的监听器
4、$lsnrctl reload  重启监听器,此命令可以代替lsnrctl stop,lsnrctl start
5、lsnrctl hep      可以显示所有可用的监听器命令
0 0
原创粉丝点击