温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-30 22:24:04 来源:网络 阅读:1777 作者:v512345 栏目:关系型数据库


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

解决过程:

1. 找到listener.ora监听文件,具体位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

2. 在lisener.ora文件中找到

    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )


    将下面的一段内容copy进去,并适当修改。(红字部分为你的SID,其中GLOBAL_DBNAME为全局数据库名,可以与SID不同)

   (SID_DESC =
      (GLOBAL_DBNAME = ORAC11)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (SID_NAME = ORAC11)
    )

3. 保存listener.ora文件,关闭并重新启动监听程序。

    lsnrctl stop   // 关闭

    lsnrctl start  // 启动


4. 此时,用正常的用户去连接双出现新的错误。

   
   ORA-27101: shared memory realm does not exist
5. 启动打开目录:D:\app\Administrator\admin\orac11\pfile,会发现里面有一个文件:init.ora.1052011103553,这是Oracle最后一次成功启动时备份的启动文件。
6. sqlplus /nolog,
    create spfile from pfile='D:\app\Administrator\admin\orac11\pfile\init.ora.1052011103553'
    startup  // 启动数据库。
7. 一切恢复正常。




ora-12514的错误的原因有很多。但无外乎这几种:
1)、 ORA-12541: TNS: 没有监听器
显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:
$ lsnrctl start或
C:lsnrctl start
2)、 ORA-12154: TNS: 无法处理服务名
检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。
3)、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。
4)、Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务
该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(PROGRAM = extproc))
(SID_DESC =
(GLOBAL_DBNAME = SAMPLE.COM)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(SID_NAME = SAMPLE)))LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521)))








// 解决办法
1.cmd  进入 sqlplus / as sysdba
2.增加 process 和session 重启服务
3.修改LISTENER.OAR   文件添加
(SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = f:\app\MY\product\11.2.0\dbhome_1)
      (SID_NAME = orcl)
    )
    
4.修改tnsnames.ora
 (CONNECT_DATA =
      (SERVER = dedicate)
      (SERVICE_NAME = orcl)
    )
    
dedicate    
   

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI