100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Linux Centos6/7连接Oracle11g数据库 提示:ORA-12514 TNS 监听程序当前无法识

【Linux Centos6/7连接Oracle11g数据库 提示:ORA-12514 TNS 监听程序当前无法识

时间:2021-07-10 12:57:51

相关推荐

【Linux Centos6/7连接Oracle11g数据库 提示:ORA-12514 TNS 监听程序当前无法识

Linux Centos6/7连接Oracle11g数据库,提示:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

1.登录oracle用户权限并查看监听状况2.修改配置文件(*重点*)(1) 修改listener.ora(2) 修改tnsnames.ora3. 重启监听并更新注册4.再次用plsql访问成功**附:**

故障描述

提示该异常说明了两个前提:

第一是Oracle数据库是开启状态

第二是监听程序处于开启状态

解决步骤

1.登录oracle用户权限并查看监听状况

[root@localhost ~]# su oracle# 查看监听状态[oracle@localhost ~]$ lsnrctl status # 文章最后第一个链接介绍了动态监听和静态监听不通处理方法,我主要是静态监听故障

READY说明为动态监听,UNKNOWN则为静态监听(该判断不够准确,具体要到/network/admin/目录下的listener.ora里查看,如果不存在该配置文件,或者未配置SID_LIST_[监听名](ps:SID_LIST_LISTENER)则为动态监听)

2.修改配置文件(重点)

必看备注:下面所更改的文件是恢复成功后直接从服务器拷贝的文件,和一些其它作者配置可能有所不同,如有问题还请多尝试几种,文章最后放上大佬们遇到该问题的配置文件。

(1) 修改listener.ora

# Oracle11g 64位软件的安装位置为data/oracle/product/11.2.0/db_1,数据库名为默认的orcl,CentOS7虚拟机的IP设置为:68.219.182.33[oracle@localhost ~]$ vim /data/oracle/product/11.2.0/db_1/network/admin/listener.ora# /network/admin/目录下,查看自己Oracle的安装目录

原文件:

# listener.ora Network Configuration File: /opt/app/oracle/product/11.2.0/db_1/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))))ADR_BASE_LISTENER = /opt/app/oracle

改为如下:切记格式非常重要,一定要仔细检查

# listener.ora Network Configuration File: /opt/app/oracle/product/11.2.0/db_1/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 68.219.182.33)(PORT = 1521))))SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl)(SID_NAME = orcl)))ADR_BASE_LISTENER = /opt/app/oracle

[监听名]和SID_LIST_[监听名]配置是成对出现

配置listener.ora中GLOBAL_DBNAME的值等于tnsnames.ora中的SERVICE_NAME

(2) 修改tnsnames.ora

[oracle@localhost ~]$ vim /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora# /network/admin/目录下,查看自己Oracle的安装目录

原文件:

# tnsnames.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))

改为如下:切记格式非常重要,一定要仔细检查

# tnsnames.ora Network Configuration File: /opt/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.orcl =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 68.219.182.33)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = orcl11g.)) )

3. 重启监听并更新注册

[oracle@localhost ~]$ lsnrctl stop # 先关闭监听服务[oracle@localhost ~]$ lsnrctl start # 开启监听服务

注意看启动端口时候生效

[oracle@localhost ~]$ sqlplus / as sysdba#登入SQL> shutdown immediate #立即关闭数据库服务SQL> startup#开启数据库服务SQL> alter system register; #注册SQL> quit #登出[oracle@localhost ~]$ lsnrctl status #查看监听状态

4.再次用plsql访问成功

附:

# sqlnet.ora内容# sqlnet.ora Network Configuration File: /opt/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora# Generated by Oracle configuration tools.NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)ADR_BASE = /opt/app/oracle

总结:本文主要参考大佬文章,其中少部分为自己个人看法和配置,个人记性不好,所以总结加记要;再次感谢CSDN各位大佬的贡献,我只是个小小搬运工。

参考大佬文献

/weixin_37769855/article/details/99435520

/nichoc/p/6417505.html

/u013310119/article/details/80995238

/topics/390463788?sharesource=xiongben0102

/23718752/viewspace-1061787/

【Linux Centos6/7连接Oracle11g数据库 提示:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。