plsql远程访问数据库 解决ora12541:TNS无监听程序

合集下载

PlSql在连接数据库时提示ora-12541:TNS:无监听程序。

PlSql在连接数据库时提示ora-12541:TNS:无监听程序。

PlSql在连接数据库时提⽰ora-12541:TNS:⽆监听程序。

解决⽅法:
1相关服务可能没有启动
我⾃⼰测试的是启动OracleOraDb11g_home1TNSListener后数据库便可以连接了,在启动OracleDBCConsoleorcl时提⽰我
”Windows不能在本地计算机启动0racleDBConsoleorcl,有关更多信息,查阅系统事件⽇志。

如果这是⾮Microsoft服务,请与服务⼚商联系,并参考特定服务错误代码2“
这个问题我没有去处理,因为上边listener服务启动后连接成功了,我也就没有继续往下尝试,⼤家⾃测,有问题的⼤家也可以在⽹上查找这⽅⾯问题
另外,还有⼀个地⽅需要处理,就是修改两个配置⽂件的ip地址为⾃⼰电脑的ip地址
从oracle的安装环境中找到network,如图:
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))修改localhost为⾃⼰电脑的ip (ip查看是⿊窗⼝ipconfig)
还有⼀种⽅法我个⼈觉得有些⿇烦,就不再展⽰了,⼤家可以参考这篇博客
补充:10⽉17⽇启动SQL plus再次出现上述问题,处理⽅法⼀样却⽆作⽤,最后⽤⿊窗⼝命令启动SQL plus空闲历程便可以了。

解决Oracle无监听错误

解决Oracle无监听错误
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
启动已经成功,
5.再tnsnames.ora上添加上
ORCL_127.0.0.1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 11:1
1:09
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
32-bit Windows Error: 49: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
2、查看Oracle的listener是否启动

oracle数据库ORA 12541TNS无监听程序 错误解决方法

oracle数据库ORA 12541TNS无监听程序 错误解决方法
8、查看listenser状态:
C:\Documents and Settings\mengzhaoliang>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月
TNS-12560: TNS:协议适配器错误
TNS-00515:因目标主机或对象不存在,连接失败
32-bit Windows Error: 49: Unknown error
监听程序未能启动。请参阅上面的错误消息...
3、查看listener.ora的内容:
# listener.ora Network Configuration File:
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月
-2008 10:5
2:16
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr:请稍候...
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务PLSExtProc包含1个例程。
SQL*Plus: Release 10.2.0.1.0 - Production on星期六9月20 11:15:092008
Copyright (c) 1982, 2005, Oracle. All rights reserved.

plsql连接oracle数据库报ora12154错误解决方法

plsql连接oracle数据库报ora12154错误解决方法

plsql连接oracle数据库报ora12154错误解决⽅法plsql连接oracle数据库报ora 12154错误今天遇到⼀个问题,使⽤sqlplus能够连接到远程的数据库,但是使⽤plsql却连接不上,报错"ORA-12154: TNS: ⽆法解析指定的连接标识符":1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听客户端:tnsping <tns_name>服务器Linux下:#>lsnrctl status 查看监听状态#>lsnrctl start 启动监听2.通过Sql Plus连接⼀下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误我的问题就在别名dev_db前⾯有⼀个空格,这个可以通过⽂本编辑器(Edit Plus,UE等)来查看是否有空格,只要有空格那就肯定是不⾏的,⽽且如果那段内容是出现在⽂件的中间的话,将导致该⽂件⾥所有相应的连接别名都不成功,如果是在最后⾯就只有其⾃⾝连接别名不能成功,其他连接别名还是能连接成功。

(注:我的tnsnames.ora配置了多个数据库实例的连接,所有才有多个连接别名。

)如:空格复制代码代码如下:dev_db =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521)))(CONNECT_DATA =(SID = ora10)))3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN⽬录下的所有⽂件删了,然后重新连接,⼀般就能解决了。

说明⼀下:那个⽬录⾥的⽂件是在你建⽴连接的时候动态⽣成的,不要怕删了会有问题4.进⼊PLSQL Developer的主界⾯,在登录界⾯选择取消即不登录进⼊主界⾯,然后选择菜单Tools(⼯具)-Preferences(⾸选项),在设置窗⼝中,选择Oracle-Connection(连接),对应设置窗⼝中,找到Oracle Home(Oracle主⽬录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。

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

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

ORA-12514:TNS:监听程序当前⽆法识别连接描述符中请求的服务_监听程序不⽀持服务今天⼤黄蜂同学重启虚拟机之后再链接数据库就报了这个错,先查看了⼀下监听的状态C:> lsnrctl status... ...服务摘要..服务 "CLRExtProc" 包含 1 个实例。

实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执⾏成功监听中的服务并没有数据库实例orcl,检查了⼀下listener.ora⽂件,配置并没有问题,怀疑是数据库启动时出了问题,导致监听并没有找到数据库服务,为了连上数据库,在listener.ora⽂件中强制添加orcl的监听SID_LIST_LISTENER =(SID_LIST =(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"))# 以下是添加部分(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = ORCL)))然后重启监听,让监听可以识别orcl服务C:> lsnrctl stop... ...C:> lsnrctl start... ...服务 "ORCL" 包含 1 个实例。

实例 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执⾏成功然后连接Oracle数据库,尝试重启数据库C:> sqlplus sys/sys@127.0.0.1/orcl as sysdba... ...SQL> shutdown immediate;ORA-01034 - Oracle not availableORA-27101 - shared memory realm does not exist⽹上⼤部分说是ORACL_HOME或ORACLE_SID问题,可惜并不适⽤,后找到⼀篇说查看⽇志,⽇志路径位于ORACLE_HOME\database\ORADIM.LOG,⽇志中找到数据库启动时的报错信息如下:Tue Jun 21 15:10:17 2016D:\app\Administrator\product\11.2.0\dbhome_1\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0Tue Jun 21 15:10:33 2016ORA-00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together继续查询报错信息ORA-00847,看起来是数据库系统参数设置的问题,先把pfile导出看⼀下SQL> create pfile from spfile;创建了之后宝宝傻眼了,不在ORACLE_HOME/dbs⾥啊!后来经查才知原来Windows下pfile的默认⽣成路径和linux下不⼀样,位于$ORACLE_BASE\admin\db_name\pfile然后打开pfile注释掉MEMORY_TARGET参数的设置...# memory_target=898629632...然后从pfile启动数据库,根据pfile⽣成spfileSQL> startup pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.115201614250';SQL> create spfile from pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.115201614250';然后便可以重启数据库了,最后将listener.ora还原,重启服务器,再查看监听状态就可以看到orcl服务正常了C:> lsnrctl status... ...服务摘要..服务 "CLRExtProc" 包含 1 个实例。

Oracle 无监听程序解决办法(HZQ)

Oracle 无监听程序解决办法(HZQ)

ORACLE无监听程序解决办法
1ORA-12541: TNS: 无监听程序 (1)
2监听程序无法启动 (2)
1ORA-12541: TNS: 无监听程序
使用NetManager配置服务别名,或用PL/SQL Developer登录数据库时,系统报:ORA-12541: TNS: 无监听程序。

问题产生的原因可能是:
数据库的监听器没有启动。

解决办法是启动监听器即可。

更改了数据库服务器的IP或计算机名。

这个问题的解决办法有两种:
(1)使用sqlplus命令时,不使用“@指定服务”,默认会登录到本机,这时不
需要监听器启动。

例如使用scott用户登录:sqlplus scott/tiger
(2)修改监听器的配置文件“listener.ora”,然后重启监听器服务。

使用Windows查找功能查找到“listener.ora”文件,如果查找出多个相同文件名的文件,则修改“ADMIN”目录下的这个文件。

修改红色的部分,修改成自己机器的主机名。

然后重启计算机。

2监听程序无法启动
如果启动数据库监听器时启动不了,解决办法和上面一样,修改监听器的配置文件“listener.ora”,然后重启计算机。

参见上面的解决方法。

ORA-12541:TNS:无监听程序

ORA-12541:TNS:无监听程序

ORA-12541:TNS:无监听程序
问题描述:现场一台测试服务器,安装有oracle11g(11.2.0.1),上午还运行正常,结果下午直接访问不了,提示错误:ora-12541 无监听程序问题。

问题排查:按照常规方法,重启监听程序以及数据库、重新配置监听程序均无作用,后来发现是listener.log日志文件过大(达到4G,据说这是oracle在windows系统下的bug)导致的。

问题解决:到oracle目录(该机器为D:\app\Administrator\diag\tnslsnr\WIN-
R4MNVAM7V2U\listener\trace),找到listener.log文件,进行删除即可。

注意:在删除listener.log文件之前,需要先停止监听程序,否则无法删除。

listener.log文件过大,没有进行打开分析,后续会分割日志文件查看其详细错误原因进行具体排查。

用plsql连接本地数据库时报ORA-12541:TNS:无监听程序

用plsql连接本地数据库时报ORA-12541:TNS:无监听程序

用plsql连接本地数据库时报ORA-12541:TNS:无监听程序用pl/sql连接本地数据库时报ORA-12541:TNS:无监听程序在dos窗口都能登录数据库,但通过PL/SQL登录是老是报 ORA-12541 或12154的错,在Oracl Net Manager 中也配置好了服务器命名和监听程序,查看系统配置文件系统参数文件为D:oracleproduct10.1.0db_1 etworkadminlistener.ora 和tnsnames.ora 也都对,这个问题浪费了我好大把时间,终于在下面这位大神的介绍中给解决了,其方法就是启动listener:运行->cmd启动dos窗口,执行lsnrctl stop关闭,lsnrctl start 启动。

重新登录就可以了!外地回来,登录pl/sql出现错误:ORA-12541:TNS:无监听程序。

1. 检查oracleproduct10.1.0db_1NETWORKloglistener.log:TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Production on 04-1月 -2010 13:38:34Copyright (c) 1991, 2004, Oracle. All rights reserved.系统参数文件为D:oracleproduct10.1.0db_1 etworkadminlistener.ora写入D:oracleproduct10.1.0db_1 etworkloglistener.log的日志信息写入D:oracleproduct10.1.0db_1 etwork racelistener.trc的跟踪信息跟踪级别当前为0以 pid=7180 开始监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipe EXTPROCipc)))监听该对象时出错:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=http:///doc/d513815235.html,)(PORT=1521)))TNS-12542: TNS: 地址已被占用TNS-12560: TNS: 协议适配器错误TNS-00512: 地址已在使用32-bit Windows Error: 48: Unknown error不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipe EXTPROCipc)))2. Oracle的listener已经启动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本机为win7 32位系统,为了学习oracle,装了个vbox虚拟机,再装了个win7虚拟机,内装oracle 11g(win7如果要装10g,要选择vista版本,win版本会安装报错).oracle11g安装完后有报了个错误,当时没注意,现在也忘了什么错了,但是不影响使用.后来想在本机安装plsql来远程连接虚win7上的oracle.查了一些资料,步骤如下:
1.下载plsql,安装.
2.下载Instant Client,点击下载,下载第一个basic就行了,下载完解压缩,以放到主win7 d盘根目录为
例:d:\instantclient_11_2
3.在d:\instantclient_11_2新建tnsnames.ora,用记事本编辑.
4.到虚win7上的oracle安装目录找到…\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,比如数据库实例是orcl,找到如下代码,拷贝到本机d:\instantclient_11_2\tnsnames.ora里
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟机IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5.添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径d:\instantclient_11_2\tnsnames.ora,plsql通过这个找到orcl连接字符串
6.添加一个环境变量NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
7.打开PLSQL,不用登陆,工具-首选项-ORACLE-连接:
勾选检查连接
Oracle主目录: d:\instantclient_11_2
OCI库: d:\instantclient_11_2\oci.dll
经过以上几步之后,重启PLSQL,问题来了,报错:ora-12541:TNS:无监听程序. ping是可以ping得通的,虚win7上的监听也开着.经过不懈的努力,多次试验终于解决了:
1.虚拟机网络选择桥接,并在虚拟机内网络连接IPV4设置静态IP
IP地址:192.168.1.111 (111可修改成自己的 1-255)
子网掩码:255.255.255.0
默认风头:192.168.1.1
首选DNS服务器:192.168.1.1
修改完记得主win7上 ping 192.168.1.111 ping得通再继续往后.
2.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora SID_NAME = CLRExtProc 改为 SID_NAME = orcl orcl是实例名
HOST = localhost 改为 HOST = 192.168.1.111
3.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
两处 HOST = localhost 改为 HOST = 192.168.1.111
SID = CLRExtProc 改为 SID = orcl
好了,重启oracle,监听,主win7上的plsql就可以远程连接虚拟机上的数据库了.。

相关文档
最新文档