处理Oracle监听程序当前无法识别连接描述符中请求的服务异常(ORA-12514)

最近几天刚学习oracle11g,安装完成之后直接使用,今天用PLSQL链接突然报错,报错代码为:ORA-12514:监听程序当前无法识别连接描述符中请求的服务。网上查了这种异常的解决办法,特在此记录。

出现该问题一般有两种情况。

  • 第一种是在你安装完之后未配置监听(在此我暂时忘记安装完之后有没有配置监听);
  • 第二种是之前配置了监听但是系统未写入到listener.ora文件中(在此我暂未搞明白什么时候写入),所以只需要在该文件中写入配置参数就可以了。

解决办法:

1、打开listener.ora文件

找到listener.ora文件的存放位置并打开。我本机文件目录在D:\app\iLife1988\product\11.2.0\dbhome_1\NETWORK/ADMIN下。该文件须根据自己安装目录的实际情况找。(注:Oracle10g与11g的目录好像不太一样)。文件内容如下图:

从上图中我们可以看出我已经配置过监听了,但是报错是由于Oracle的地址没有写到SID_DESC中,在此我们将此写入就可以了。

2、修改listener.ora文件

将以下内容追加到该文件的SID_LIST节点下

(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\app\iLife1988\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)

注:标红的部分根据自己机器安装目录修改

3、我在此本机修改完毕后,总是提示我不能保存,提示说该文件已在别的地方打开。于是我另存一份,然后直接将原来的文件给覆盖掉。 修改完成之后如下图所示:

4、重启监听服务。OK搞定!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Oracle中RAISE异常深入分析

    有三种方式抛出异常 1.通过PL/SQL运行时引擎 2.使用RAISE语句 3.调用RAISE_APPLICATION_ERROR存储过程 当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出.异常也可以通过RAISE语句抛出 RAISE exception_name; 显式抛出异常是程序员处理声明的异常的习惯用法,但RAISE不限于声明了的异常,它可以抛出任何任何异常.例如,你希望用TIMEOUT_ON_RESOURCE错误检测新的运行时异常处理器,你只需简单的在

  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法

    场景如下: --创建类型(type)create or replace type list_obj is table of number;--创建表结构create table test( name varchar2(30) primary key check(regexp_like(name,'^([a-z]|[0-9]|_)+$')), id number not null, version_list list_obj) nested table version_list store as

  • Oracle 错误日志表及异常处理包详解 附源码

    1 概述 1. 目的:'快速定位程序异常' 2. 包处理的核心思想:'自治事务' -- 自治事务的 "提交.回滚" 与 主事务 之间互不影响 3. 错误异常记录逻辑大体一致,此处记录,方便需要使用时复制.粘贴 4. 验证思路:通过执行报错的过程,观察 '程序执行结果' 和 '日志表' 数据插入情况 2 效果演示 程序执行截图: 日志表查询截图: 3 源码 说明: 1. 测试中,共有 2 个用户 -- 模拟实际开发场景 (1) odsdata: 存放业务数据 (2) odscde : 执

  • Oracle PL/SQL异常处理方法解析

    Oracle数据库中的异常:没有异常的转移,因为没有受检异常和非受检异常得区分. 1.异常的产生: 2.异常的处理: declare --变量定义,初始化赋值. begin --变量的赋值,函数调用,if,while等. exception --异常处理代码 when others then 异常处理语句. end: 3.异常的抛出:raise 4.多异常处理:Java的多异常是通过数据类型区分,Oracle数据库的多异常是通过异常编号区分. 区别不同的异常是实现多异常处理前提. declare

  • win7安装oracle10g 提示程序异常终止 发生未知错误

    oracle 10g 在win7下安装,选择高级选项,提示程序异常终止,发生未知错误 修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 <!--Microsoft Windows 7--> <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SY

  • Oracle用户自定义异常实现过程解析

    注意:普通的查询语句不会出现异常,只有使用into对变量进行赋值的时候才会发生异常 --系统变量: notfound --> if sql%notfund then 如果这个表达式为真,则 (增删改)出错 --,先自定义一个异常:no_result exception -- if sql%nofund then --excetpion --when no_result then --dbms-- 用户自定义异常写在:declare里,如: set serveroutput on declare

  • Oracle表字段有Oracle关键字出现异常解决方案

    一.问题由来 现在进行项目改造,数据库需要迁移,由原来的使用GBase数据库改为使用Oracle数据库,今天测试人员在测试时后台报了一个异常. 把SQL语句单独复制出来进行查询,还是报错,仔细分析原因才知道是表中的字段使用了Oracle中的关键字size. 二.问题分析 项目中使用的Oracle版本如下: 一般来说建表的时候是不会使用关键字的,可是之前的开发人员或者是数据库运维人员可能为了偷懒吧,在那张表中使用四个Oracle中的关键字, 所以导致查询的时候出现异常. 三.解决方案 找到问题的原

  • 处理Oracle监听程序当前无法识别连接描述符中请求的服务异常(ORA-12514)

    最近几天刚学习oracle11g,安装完成之后直接使用,今天用PLSQL链接突然报错,报错代码为:ORA-12514:监听程序当前无法识别连接描述符中请求的服务.网上查了这种异常的解决办法,特在此记录. 出现该问题一般有两种情况. 第一种是在你安装完之后未配置监听(在此我暂时忘记安装完之后有没有配置监听): 第二种是之前配置了监听但是系统未写入到listener.ora文件中(在此我暂未搞明白什么时候写入),所以只需要在该文件中写入配置参数就可以了. 解决办法: 1.打开listener.ora

  • 连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟大家分享一下如何启动oracle的监听. 1.在安装Oracle服务器的主机上,打开Net Configuration Assistant 2.选择监听程序配置,下一步 3.选择重新配置,下一步 4.选择监听程序,默认,下一步 注:如果你的监听已启动,则出现提示框,选择是 5.选择协议,使用默认的T

  • Linux下启动Oracle服务和监听程序步骤

    Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME: export ORACLE_SID=test export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx 4.启动步骤:注意$代表shell命令提示符,这里的ora

  • Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题

    修改安装目录下的配置文件 比如:F:\app\admin-PC\product\11.2.0\dbhome_1\network\admin\ 修改这个目录下的listener.ora和tnsnames.ora ************************************************************************************** listener.ora: SID_LIST_LISTENER = (SID_LIST = (SID_DESC =

  • Oracle数据库产重启服务和监听程序命令介绍

    目录 前言 一.重启Oracle数据库 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.重启Oracle数据库 如果数据库服务启着呢,停掉.!!!! root 用户登录服务器. 1. 以oracle身份登录数据库,命令:su - oracle 2. 进入Sqlplus控制台,命令:sqlplus /nolog 3. 以系统管理员登录,命令:connect / as sysdba 可以合并为:sqlplus sys/密码 as sysdba 4. 启动数据库,命令:startup

  • Oracle监听口令及监听器安全详解

    很多Oracle用户都知道,Oracle的监听器一直存在着一个安全隐患,假如对此不设置安全措施,那么能够访问的用户就可以远程关闭监听器. 相关示例如下: D:>lsnrctl stop eygle LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 28-11月-2007 10:02:40 Copyright (c) 1991, 2006, Oracle. All rights reserved. 正在连接到 (DESCR

  • Linux下修改Oracle监听地址的方法

    lisenter.ora 目录在 /opt/oracle/11g/network/admin LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.111.123)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /opt/oracle tnsnames.o

  • Oracle监听日志定期清理

    环境: Oracle 11.2.0 Win Server 2008 R2 Enterprise 原因:Oracle监听日志文件大小超过4G,oracle监听连接时断时续 解决办法:重新建立新的日志文件,通过计划任务定期执行,为方便,我这里每天执行一次. 批处理文件内容如下: @echo off rem 因数据库监听日志过大,影响oracle使用,需定期清理 rem 停止监听写日志 lsnrctl set log_status off rem 修改监听日志文件名称,每天执行一次 ren E:\ap

  • oracle 监听 lsnrctl 命令 (推荐)

    listener control 监听控制 因为你在键入 lsnrctl 回车之后,就进入到监听控制界面. 在启动.关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态: 1.$lsnrctl status:检查当前监听器的状态 2.$lsnrctl start [listener-name] 启动所有的监听器,可以指定名字来启动特定的监听器 3.$lsnrctl stop [listener-name]  关闭所有的监听器,可以指定名字来关闭特

  • Python写一个基于MD5的文件监听程序

    前述 写了一个基于MD5算法的文件监听程序,通过不同的文件能够生成不同的哈希函数,来实现实现判断文件夹中的文件的增加.修改.删除和过滤含有特定字符的文件名的文件. 需求说明 需要实现对一个文件夹下的文件的增加.修改和删除的监控, 一旦发生上述操作,则进行提示.可以选择过滤掉文件名中的特定字符和只监听文件名中含有特定字符的文件. 简述 首先,关于文件的增加.修改.删除的反馈,可以想到利用MD5等类似的加密算法,因为文件本身可以生成哈希值,只要文件内容或者文件名被修改过,就会生成和修改之前的哈希值不

随机推荐