ORA-12514:TNS 监听问题

解决问题:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

测试环境:RedHat7.4 + Oracle 11g 64位

相关说明:

数据库服务器:

Oracle11g 64位软件的安装位置为/u01/app/oracle/product/11.2.0/dbhome_1,数据库名为默认的orcl,

RedHat7.4虚拟机的IP设置为:192.168.8.13

Windows10客户端:

1、PLSQL安装位置:E:\Program Files\PLSQL Developer

2、Oracle客户端位置:E:\app

打开E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟机IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
))

3.添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN,plsql通过这个找到orcl连接字符串

4.添加一个环境变量NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

遇到问题:

使用plsql连接数据库服务器:“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”

解决办法简述:

1.修改E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora中的localhost改为192.168.8.13;

2.修改E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora中的localhost 改为 192.168.8.13;

3.修改后,重启oracle,监听,并注册,主win10上的plsql就可以远程连接虚拟机上的数据库了。

具体操作步骤如下:

一、修改数据库服务器中listener.ora文件内容

命令:

# vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

原始内容:

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

修改后的内容如下:

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
            (GLOBAL_DBNAME = orcl)
            (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
            (SID_NAME = orcl)
        )
    )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

或者LISTENER这里改的简单一些,改用IP地址也行

LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.13)(PORT = 1521)))

二、修改数据库服务器中tnsnames.ora文件内容

命令:

# vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

原始内容:

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

修改后的内容:

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
orcl =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
    )
  )

三、在数据库服务器中启动监听并更新注册

最后重启一下监听与数据库并更新注册
$ lsnrctl stop         #先关闭监听服务
$ lsnrctl start        #开启监听服务
$ sqlplus / as sysdba      #登入
SQL> shutdown immediate     #立即关闭数据库服务
SQL> startup         #开启数据库服务
命令:SQL> alter system register;  #注册
System altered.
SQL>
SQL> quit #登出
输出:
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

四、Windows10客户端下的测试步骤:使用plsqldev.exe测试

修改E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件,新增到虚拟机Oracle的连接内容:

# tnsnames.ora Network Configuration File:E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.13)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
NH =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.19)(PORT = 1525))
    )
    (CONNECT_DATA =
      (SID = nh)
    )
  )

原文地址:http://blog.51cto.com/meiling/2070558

时间: 2024-07-30 20:24:02

ORA-12514:TNS 监听问题的相关文章

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

问题:Oracle主服务和监听器服务已经启动,使用SQL Plus能够正常连接,使用PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务.如图: 解决: 打开H:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,发现此文件内容如下: #listener.ora Network Configuration File: H:\Ora

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

今天用PL/SQL连接虚拟机中的Oracle数据库,发现报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,也许你也遇到过,原因如下: oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题. 有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题. 如下是解决思路: 根据出错信息判断出客户端未监听到实例服务名 1.通过重启服务的方式启动

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

1.TNS连接错误 同事跟我说连接oracle数据库报错ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,如下所示: 2.查看本地TNSPING 查看本地的tns配置: WXX = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.121.58)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 查看本

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

问题:oracle安装成功以后,可以使用,一段时间后,登录报错 OracleORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 查阅相关文档,以及修改后,可以正常登录,记录解决方法如下 原因:该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题. 解决思路: 1.通过重启服务的方式启动数据库,再次连接仍无法连接服务器. 2.考虑监听listener.ora 监听配置文件listener.ora中可以不必指定监听的服务名(安装O

ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME

在VS2008中创建一个数据源时,提示以下错误 “ORA-12504:tns:监听程序在 CONNECT_DATA中未获得SERVICE_NAME” 本机安装ORACLE客户端,找出以下路径的文件D:\app\xuefen.lv\product\11.2.0\client_1\network\admin\tnsnames.ora # tnsnames.ora Network Configuration File: D:\app\lv\product\11.2.0\client_1\network

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误

关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数据库,再次连接仍无法连接服务器. 尝试2.既然第一种方法不能解决问题,那就第二种方法.考虑监听listener.ora 步骤如下: 在oracle服务器Oracle安装目录(我的在C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下,每个人的不一样,根据自己的情况

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

Win7旗舰版安装Oracle11g后,数据库可以正常使用,重启系统,再次连接数据库,提示: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 解决方法: 1.打开listener.ora文件(\product\11.2.0\dbhome_1\NETWORK\ADMIN\). 2.增加以下红色标识的一段文字. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME =

Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

转载地址:http://www.cnblogs.com/zhaoguan_wang/p/5505701.html 问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题,对比了我本机的配置并查阅了一下资料,Easy Connect Naming Method这个东西是Oracle 10g推出的,需要在sqlnet.ora文件中添加EZCONNECT,如

ORA 12541 无监听程序

东西是转的.装了一天半的ORacle.都快搞爆炸了,看到此文,真是眼泪都感动出来 了. ORA-12514及ORA-28547错误解决 在本机上装了oracle 10g,网址是公司动态获取的,用sql plus登陆数据库,正常.用pl/sql打开数据库报错:"ORA-12514: TNS: 监听程序无法识别连接描述符中请求的服务". 解决: 打开oracle\product\11.1.0\db_1\network\admin\listener.ora文件,内容如下: # listene

ora-12514 tns 监听程序无法识别连接描述符中请求的服务

今天,远程连接linux服务器时遇到这样一个错误,tnsnames.ora 和 listener.ora文件配置都没有错误 但是就是连接不上  tnsping 也是正常的  但用plsql连接的时候总是报错 ora-12514 tns 监听程序无法识别连接描述符中请求的服务,因为连接本地数据库时没有问题的 所以监听程序应该没问题,接下来就查看tnsnames.ora 发现还是这里出了问题,其实报错报的已经说的很明确了 无法识别连接描述符中请求的服务 说明SID 和 服务名 是不一样的 我把 SE