登陆plsql developer出现无法解析指定的连接标识符错误
- 格式:docx
- 大小:23.04 KB
- 文档页数:1
PL/SQL(Procedural Language/Structured Query Language)是一种面向过程的数据库编程语言,常用于Oracle数据库管理系统中。
在进行数据库编程时,我们经常会遇到PL/SQL出现意外错误的情况。
本文将针对PL/SQL出现意外错误的原因和解决方法进行探讨。
一、可能出现意外错误的原因1.语法错误在编写PL/SQL代码时,如果存在语法错误,例如缺少结束分号、拼写错误等,就会导致意外错误的出现。
为了避免这种情况,我们应该仔细检查代码,确保语法正确无误。
2.逻辑错误有时候PL/SQL代码的逻辑可能存在问题,例如变量未正确赋值、循环条件不正确等,这些都可能导致意外错误的发生。
在编写代码时,我们应该对逻辑进行仔细思考,确保代码逻辑正确。
3.数据错误PL/SQL操作数据库时,如果涉及到数据的读取、更新、删除等操作,有可能因为数据本身的问题导致意外错误。
在这种情况下,我们需要对数据进行仔细分析,找出问题所在,并进行相应的处理。
4.环境问题有时候意外错误可能是由于环境配置不正确导致的,例如数据库连接问题、缺少权限等。
在这种情况下,我们需要排查环境配置,确保环境设置正确。
二、解决意外错误的方法1.仔细检查代码在遇到意外错误时,我们应该首先仔细检查代码,寻找可能的语法错误、逻辑错误等,并进行逐个排查,确保代码正确。
2.使用调试工具PL/SQL开发工具通常会提供调试功能,我们可以利用这些调试工具来逐步执行代码,查看变量取值、逻辑执行过程等,从而找出问题所在。
3.日志记录在代码中适当加入日志记录功能,当遇到意外错误时,可以通过日志查看程序执行过程中的各种信息,帮助快速定位问题。
4.参考冠方文档和社区论坛在解决PL/SQL意外错误时,可以参考冠方文档和社区论坛,查找相关问题的解决方法和经验,从而更快速地解决问题。
5.向同事请教有时候遇到意外错误,我们也可以向身边的同事请教,或者进行代码审查,从他人的角度来看问题,可能会有新的解决思路。
plsql登陆时监听程序⽆法识别连接描述符中请求的服务问题oracle安了⼀直没有⽤,今天准备试⼀下能不能在本地正常连接,结果PLSQL登陆时⼀直报“监听程序⽆法识别连接描述符中请求的服务”这个错,弄了两个⼩时终于弄好了,其实很简单,现在把解决办法总结⼀下:⼤概就是在监听程序⾥⾯添加你要连接的数据库。
有两种⽅法:⼀、直接在⽂件中添加:找到oracle安装⽂件夹,oracle\NETWORK\ADMIN,打开listener.ora,
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = zye)
(SID_NAME = ZYE)
)
(SID_DESC =
(GLOBAL_DBNAME = Oracle8)
(SID_NAME = ORCL)
)
)
红⾊为添加的部分,其中ZYE就是要连接的数据库名。
⼆、在oracle配置页⾯中添加:开始-程序-oracle-配置和移植⼯具-Net Manager-本地-监听程序-找到数据库服务-添加-最后保存⽹络配置-OK!。
今天整个一天我都在oracle中晃悠,修复PLSQL无法登陆的问题,到现在终于解决了。
感觉走了很多弯路,希望在这里能给大家一些帮助。
指导一下大家解决:忘记密码、用户被锁住,登陆时出现的ORA-12154 TNS无法解析指定的连接标识符、ORA-12514 TNS:监听进程不能解析描述符和ORA-12541 无监听程序。
这三类错误是经常见的,命名都十分相似。
下面我们来一一解决。
首先我要申明,这里提供多种解决方式,因为每个人电脑环境都不一样,造成这种错误的原因也各不相同,所以大家多尝试肯定会解决你的问题。
第一个问题:忘记密码怎么办?用户锁住了怎么办?1进入cmd2 sqlplus / as sysdba3alter user sys identified by 新密码;(例如:alter user scott identified by tiger) 这句话的意思是将scott用户的密码设置成by后面的字符串tiger。
当然你也可以新建一个用户,步骤如下1 进入cmd2sqlplus / as sysdba或者sqlplus sys/密码as sysdba3 create user 用户名identified by 密码;4grant connect,resource to 用户名;5 conn 用户名/密码说明:如果第5步可以连接成功说明,用户建立成功,就可以用这个用户登录了。
提示:这里的输入口令,你只要输入就可以,它不会显示出来的,输入完密码之后按下Enter就可以了,出现连接到:就说明成功连接数据库。
那么我们用刚刚修改了密码的scott登录时候出现了,用户锁住了,我们可以用sys登录,然后使用Alter user scott account unlock;出现用户已更改,说明解锁成功,可以使用scott用户登陆了。
这样对于密码的问题,我们就已经解决了。
---ORA-12154 TNS无法解析指定的连接标识符。
Oracle连接出现ora-12154⽆法解析指定的连接标识符配置好rac后,两个节点⽤tnsping都可以ping通,但⽤sqlplus连接都出现以下错误,不知道哪⾥出了问题[oracle@rac2 admin]$ lsnrctl statusLSNRCTL for Linux: Version 9.2.0.4.0 - Production on 04-MAR-2008 08:32:26Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 9.2.0.4.0 - ProductionStart Date 04-MAR-2008 08:29:03Uptime 0 days 0 hr. 3 min. 22 secTrace Level offSecurity OFFSNMP OFFListener Parameter File /home/oracle/9.2.0.4/network/admin/listener.oraListener Log File /home/oracle/9.2.0.4/network/log/listener.logListening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac2)(PORT=1521)))Services Summary...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "esal" has 2 instance(s).Instance "rac1", status READY, has 1 handler(s) for this service...Instance "rac2", status READY, has 1 handler(s) for this service...The command completed successfully[oracle@rac2 admin]$ lsnrctl serviceLSNRCTL for Linux: Version 9.2.0.4.0 - Production on 04-MAR-2008 08:32:32Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2)(PORT=1521)))Services Summary...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Handler(s):"DEDICATED" established:0 refused:0LOCAL SERVERService "esal" has 2 instance(s).Instance "rac1", status READY, has 1 handler(s) for this service...Handler(s):"DEDICATED" established:0 refused:0 state:readyREMOTE SERVER(address=(protocol=tcp)(host=rac1)(port=1521))Instance "rac2", status READY, has 1 handler(s) for this service...Handler(s):"DEDICATED" established:0 refused:0 state:readyLOCAL SERVERThe command completed successfully[oracle@rac2 admin]$ sqlplus cy/zh@esalSQL*Plus: Release 9.2.0.4.0 - Production on Tue Mar 4 08:32:45 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.ERROR:ORA-12154: TNS:could not resolve service nameEnter user-name:ERROR:ORA-01017: invalid username/password; logon deniedEnter user-name: cy/zh@rac1ERROR:ORA-12154: TNS:could not resolve service nameSP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus[oracle@rac2 admin]$ sqlplus cy/zh@rac2SQL*Plus: Release 9.2.0.4.0 - Production on Tue Mar 4 08:32:59 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.ERROR:ORA-12154: TNS:could not resolve service nameEnter user-name:按照如下过程,⼀般都能解决:在虚拟机内开cmd,⽤lsnrctl status查看监听器监听的服务如看到监听服务“orcl”,那在本机的tns配置中(SERVICE_NAME = orcl)必须写orcl;如果想要⾃定义,则在虚拟机内的listener 配置中就要加⼊⾃定义服务名,记得要重启监听服务:lsnrctl reload最后形成的配置⽂件如下虚拟机listener:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = test) ⾃定义服务名(ORACLE_HOME = E:oracleproduct10.2.0db_1) db_home(SID_NAME = test))(SID_DESC =(PROGRAM = extproc)(SID_NAME = PLSExtProc)(ORACLE_HOME = E:oracleproduct10.2.0db_1) ##这个服务保证你可以使⽤外部过程,如C程序))本机tns:ORCL_XNJ =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 182.12.15.232)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = test) 与⾃定义服务名对应))再次连接,问题解决!记住,⼀定从最简单的原因找起,不要⼀上去就看到⽹上的什么改process数、注册表之类的,要想想本机能连为什么通过⽹络就不⾏,还是定位问题。
Oracle服务测试连接成功,但是用PLSQL连接提示无法解析指定的连接标识符第一篇:Oracle服务测试连接成功,但是用PLSQL连接提示无法解析指定的连接标识符Oracle服务测试连接成功,但是用PL/SQL连接提示“无法解析指定的连接标识符”问题分析:可能是安装了ORACLE的客户端软件,而你只在ORACLE安装程序下配置服务,而没有在ORACLE的客户端安装程序下配置服务。
解决方案:1、打开oracle客户端下的Net Configuration Assistant,如果没有监听要建立一个监听,如果已经有了,就不需要再建了。
2、打开oracle客户端下的Net Manager,创建服务,创建的方法和oracle软件下建的方法一样。
2、再次打开PL/SQL,你会发现数据库的下拉列表多了一个你刚才建立的数据库。
4、恭喜你,成功了。
第二篇:Oracle使用工具plsql远程连接问题使用PL/SQL Developer远程连接Oracle数据库,本地机器上已经安装了Oracle数据库只要1.配置tnsnames.ora(我的安装在D:oracleproduct10.2.0db_1networkADMIN)2.登录plsql时填写相应信息第一步:配置tnsnames.ora找到tnsnames.ora文件,用记事本方式打开,你可以看到像如下配置信息ORCL =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))上面这段是连接本地(安装好Oracle默认的,你也可以修改数据库别名,将“ORCL”换成其他的)的数据库的要连接远程的Oracle数据库则再增加配置信息如下自己定义远程数据库名称(别名)=(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 远程服务器IP)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 远程服务器上数据库名称)))注意:别名不能与其他数据库(本地、远程)的别名相同,它可以跟相应远程服务器上的数据库名称不一样,要连接多个远程Oracle 数据库,照样子在来几段上述配置信息即可。
PLSQL导出表数据时发生ORA-00904:XXXXX:标识符无效,处理记录今天在使用PL/SQL developer导出数据表的时候发生了,ORA-00904: "XXXXX": 标识符无效的错误,很郁闷。
在一个朋友的空间里搜到了日志记录查看的方法。
以下引用了部分摘录,并对自己的操作做一下记录。
1.使用errorstack跟踪错误信息SQL> alter system set events '904 trace name errorstack ' ;System altered.2.重新使用PL/SQL->Tools->Export Tables->Oracle Export 继续导出部分表数据。
()此时错误重新出现,详细的错误信息记录在了C:\oracle\product\10.1.0\admin\{sid}\udump\{$sid}_ora_nu m.trc里了。
打开查看才发现我的export到出表的时候,自动加了一个where 条件,以前曾经用PL/SQL developer 带条件导出过,现在打开发现原来上面这条件还有,真粗心,赶紧删除掉,OK,重新导出一起正常了。
问题就解决了。
3.关闭对错误信息的跟踪SQL> alter system set events='904 trace name errorstack off';很感谢这位朋友提供的方法。
附:《oracle exp备份报错的解决办法》数据库升级,full import通常会导致一些系统的package,function,trigger失效,这可能会导致exp出现问题,很显然,exp 备份失败的大部分和数据库升级,迁移有关。
正好我前天在做一个full import的数据库迁移,之后新库的exp备份就出现了错误[oracle@sxapp1 log]$ exp system/abc123 full=y buffer=65536rows=y file=/home/oracle/fwsms_$backup_date.dmp About to export the entire database .... exporting tablespace definitions. about to export SYSTEM's tables via Conventional Path .... . exporting table AQ$_INTERNET_AGENTS 0 rows exported. . exporting table AQ$_INTERNET_AGENT_PRIVS 0 rows exportedEXP-00056: ORACLE error 904 encounteredORA-00904:"SYS"."DBMS_EXPORT_EXTENSION"."FUNC_INDEX_DEFAULT": invalid identifier. . exporting table AUD$ 0 rows exported. . exporting table DEF$_AQCALL 0 rows exportedEXP-00056: ORACLE error 904 encountered出现了一大堆的报错信息,exp备份出现问题,我相信大部分人都遇到过烦人的exp报错,EXP-00056: ORACLE error 904 encountered,简单的提示,我们并没有得到具体的错误信息,那好,想办法跟踪一下看到底什么导致备份失败1.使用errorstack跟踪错误信息[oracle@sxapp1 log]$ sqlplus "/ as sysdba"SQL> alter system set events '904 trace name errorstack ' ;System altered.2.执行exp脚本,使跟踪能捕捉到详细的错误信息。
关于使⽤PLSQLDeveloper时出现报错ora-12514的问题
在登陆PLSQL Developer时报ora-12513错误,需要修改本地数据库的监听配置⽂件,其过程相对简单。
在Oracle安装⽬录中搜索找到listener.ora⽂件,并修改成txt格式后打开(在修改之前建议做好备份),需要添加的代码及添加位置如下图所⽰:
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME =E:\Oracle\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
注意:安装的盘符需要更改为你安装Oracle的所在盘符,Oracle版本号改成相应版本号(建议从我的电脑的地址栏中复制路径然后改成上⽂代码中的格式)。
代码放置位置:
确认输⼊代码⽆误且代码中的路径没有问题之后,保存⽂件并把⽂件格式改回.ora格式。
打开运⾏,输⼊services.msc进⼊注册表,重启所有Oracle相关服务(所有名称以Oracle开头的服务),如果发现有停⽌的服务建议先启动(以防万⼀),有些⼿动启动的服务建议改成⾃动启动,不然下次重启电脑后可能还会报错。
(很简单嘛,⼿动就是每次重启电脑⼈⼯启动服务,所以这⾥为了避免⿇烦,还是都改成⾃动启动吧,如果还要考虑性能问题建议搜索其他相关教程,这⾥就不多赘述了~)
⾄此,问题应该得到解决。
到此这篇关于关于使⽤PLSQL Developer时出现报错ora-12514的问题的⽂章就介绍到这了,更多相关PLSQL Developer报错ora-12514内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
用cmd登录,发现报ora-00119和ora-00132,则按照以下方式解决:简单的sql命令:先登录到sqlplus:[sql]view plaincopy1.sqlplus /nolog;登录数据库:[sql]view plaincopy1.conn system/manager as sysdba;然后启动数据库:[sql]view plaincopy1.startup;发现ora-00119【ora-00119 invalid specification for system parameter】ora-00132【syntax error or unresolved network name'LISTENER_ORCL'】:现在看来,完全可以理解就是00119就是oracle没有启动!现在来个更简单的:【解决办法】方法①:这种方式每次电脑重启以后,都需要用sysdba的身份启动数据库;优点:能够加深基本的sql密令的印象;缺点:麻烦;1,找到一个文件夹:pfile;虽然每个人安装oracle的路径不一样,但是在安装的目录下一定会找到这个文件夹!比如我的文件夹:[plain]view plaincopy1.D:\app\jamb008\admin\orcl\pfile2,这个文件下有个文件:init.ora.1132014143422 他其实就是pfile,用来启动oracle的文件!3,用写字板的方式打开它,找到local_listener,然后将它的值换掉(原始值叫LISTENER_ORCL),换成你tnsnames.ora中的ADDRESS_LIST:4,然后回到cmd中,执行:[sql]view plaincopy1.startup pfile='D:\app\jamb008\admin\orcl\pfile\init.ora.1132014143422'5,再次用plsql登录:system manager成功了!!!-------------------------------------------------------华丽的分隔符-------------------------------------------------------------------------------------------------【解决办法】方法②:(网上说什么复制pfile到spfile等等,弱爆了!!!!!)仍然用这种“弱爆的办法”。
ORA-12154:TNS:无法解析指定的连接标识符
我的电脑前一段时间重新安装了Win7 64位系统,可是安装了Oracle 10g,用SQL Plus 可以登录,用PLSQL Developer登录时总是报如图所示的错误
在网上搜了好多的解决方法,都没能解决,在不经意间,我想到了一个问题,在Win7 64位系统下安装软件时,默认的安装路径一般都是:C:\Program Files (x86),PLSQL Developer 就是因为安装的路径有这个括号,才导致了在连接数据库时总是报“ORA-12154:TNS:无法解析指定的连接标识符”错误,把安装路径设为一个没有特殊符号的就可以了。
希望这篇文章能带给更多的人帮助。
出现登陆plsql developer出现无法解析指定的连接标识符错误,如下图:
从网上也查了一下,说的解决办法也五花八门。
1.,进入菜单TOOLS》PREFERENCES...设置,在ORACLE下的CONNECTION中,将ORACLE HOME 和OCI LIBIARY设为空即自动检测。
如果装过多个Oracle的话,直接选择你所用到的;
2.检查注册表,HKey_LocalMachine\Software\Oracle下面的Oracle_Home,若不对,修改成正确的;
3.检查Oracle路径\oracle\client\product\10.2.0\client_1\NETWORK\ADMIN下的tnsnames.ora配置是否正确;(我的就是因为这个问题导致的)
4.卸载ODP for .Net (或者卸载ODT for .Net, ODT中包含ODP, ODT 是的一个集成插件,用于连接和浏览oracle数据库,并且提供对oracle数据库的拖拽操作,类似 对于SQL Server的资源管理器);可能是这个东西导致冲突,要卸载干净了。