Oracle 无监听程序解决办法(HZQ)
Oracle12.2监听无法启动解决方法
Oracle12.2监听⽆法启动解决⽅法在⾃⼰的虚拟机的做实验,突然发现使⽤PL/SQL Developer⽆法连接到数据库,报错ORA-12514,说是监听没有启动。
先介绍虚拟机⼀下环境:redhat7.2+GI 12.2.0.1+Oracle 12.2.0.1,为了测试12.2的ASM特性安装了GI。
平时监听程序默认是开启启动的。
但是今天不知道为什么没有启动。
使⽤crsctl查看资源状态:发现监听的状态确实是OFFLINE状态[root@rhel7 .oracle]# crsstat--------------------------------------------------------------------------------Name Target State Server State details--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.DATA.dgONLINE ONLINE rhel7 STABLEora.LISTENER.lsnrONLINE OFFLINE rhel7 STABLEora.asmONLINE ONLINE rhel7 Started,STABLEora.onsOFFLINE OFFLINE rhel7 STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.cssd1 ONLINE ONLINE rhel7 STABLEora.diskmon1 OFFLINE OFFLINE STABLEora.driver.afd1 ONLINE ONLINE rhel7 STABLEora.evmd1 ONLINE ONLINE rhel7 STABLEora.ora12c.db1 ONLINE ONLINE rhel7 Open,HOME=/u01/app/oracle/product/12.2/db_home1,STABLE--------------------------------------------------------------------------------尝试⼿动启动监听,依然报错:[grid@rhel7 ~]$ srvctl start listenerPRCR-1079 : Failed to start resource ora.LISTENER.lsnrCRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-2674: Start of 'ora.LISTENER.lsnr' on 'rhel7' failed根据提⽰查看trc⽂件,看到如下报错:LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:03:28Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionSystem parameter file is /u01/app/grid/network/admin/listener.oraLog messages written to /u01/app/12.2/grid/diag/tnslsnr/rhel7/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel7)(PORT=1521)))Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))TNS-12555: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00525: Insufficient privilege for operationLinux Error: 1: Operation not permittedListener failed to start. See the error message(s) above...看到Insufficient privilege for operation这个字样觉得很纳闷,怎么会权限不⾜呢,于是尝试⽤root直接启动监听,依然报错:[root@rhel7 .oracle]# lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:22:30Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNS-12546: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00516: Permission deniedLinux Error: 13: Permission denied于是各种百度,下⾯把百度到内容列出来,可能会对看此⽂的同学有⽤,但是对我这种情况没有⽤:主要是说 /var/tmp/.oracle、/tmp/.oracle 这两个⽬录的权限访问问题。
oracle-其他机器链接提示无监听程序的解决方法
oracle:其他机器访问本机提示无监听程序的原因和解决方法--kernelboy 一、原因:在oracle安装路径中,D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 的文件夹中存在listener.ora和tnsnames.ora两个文件,如图其内容如下:其中本地监听和network监听均配置为localhost,所以导致在连接数据库是,本机可以连接,而远程机器则提醒:无监听程序。
二、解决方法:只要把两个文件中的所有localhost字样替换成本机的机器名或者是本机的ip地址即可。
1)找到本机机器名:右键桌面“我的电脑”->“属性”->“计算机名”:本机机器名为:“MICROSOF-7CC821”,不带后面的“.”号。
2)替换localhost3)重启oracle服务:打开计算机服务,把划红线的两个服务重新启动。
使用“sqlplus用户名/密码@ip:1521/实例名”即可登录到远程oracle。
三、总结:由于本地配置监听文件listener.ora和tnsnames.ora中为localhost,当远程访问时,远程机器读到的是localhost的ip,然后本机会把localhost的ip给远程机器返回(我怀疑是127.0.0.1,有待测试),所以远程计算机无法连接到本机的oracle。
四、提出问题:我想,如果两台计算机的实例名都一样(首先两台机器中oracle的其他配置也是一样的),(我设自己的机器为本机)当我访问远程机器时,远程计算机给我返回localhost的字样或者是(127.0.0.1),我突然就连接上oracle了,然而连接上的oracle不是远程计算机的oracle,而是我本机的oracle?(有待测试)谁测试过,可是分享一下。
mail:kernelboy@。
解决Oracle无监听错误
例程 "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监听服务无法启动问题解决
办法一:修改注册表
解决办法就是修改注册表,ImagePath
开始-->运行REGEDIT -->进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener
5.再启动Listener1监听服务,可以连接到数据库。
本文来自CSDN博客,转载请标明出处:/hittata/archive/2009/04/10/4061562.aspx
2.进入“命令提示符”,运行“监听控制程序——LSNRCTL”,再运行“start listener1”,首次启动Listener1监听程序,为Listener1在操作系统服务里生成相关服务项。为了后面的修改操作能够生效,再运行“stop listener1”停止Listener1。
3.将服务中原Listener服务的“启动类型”改为“已禁用”,将已生成的Listener1服务的“启动类型”改为“自动”。
4.用“记事本”打开监听服务配置文件“ORACLE_HOME \ network \ admin \ listener.ora”,将“LISTENER =”、“SID_LIST_LISTENER =”分别改为“LISTENER1 =”、“SID_LIST_LISTENER1 =”,并删除当前的“LISTENER1 =”、“SID_LIST_LISTENER1 =”项。该操作的作用为:不用费力为Listener1监听服务再配置常规参数、数据库监听等,直接采用原Listener服务的配置。
发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR
oracle 监听无法启动
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= test)(Port= 1521))
(CONNECT_DATA = (SID = oracle7))
)
)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
2、 编辑$ORACLE_HOME/network/admin下的tnsnames.ora文件为:
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= test)(Port= 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME= test.)
(ORACLE_HOME= /usr/oracle/app/oracle/product/7.3.4)
(SID_NAME = oracle7)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBMThinkPad)(PORT = 1521))
)
)
)
当看到这一行HOST=IBMThinkPad的时候,问题解决了。原来是由于几天装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆故障排除。
Oracle监听启动时由“监听程序不支持服务”引出的一系列问题--解决方案
Oracle监听启动时由“监听程序不⽀持服务”引出的⼀系列问题--
解决⽅案
由于甲⽅服务器短缺,GB领导叫在⼀个数据库上建三个oracle实例,由于之前没尝试过这样做,故⽽在本地做了⼀下测试,新建完三个实例的时候重启监听程序,就报了“监听程序不⽀持服务”的错误(只想X狗)。
然后⽤plsql连接oracle服务端是连不上的,具体错误五花⼋门。
然后⽹上⼀顿查找,最终锁定是oracle的listerner.ora配置的不对(⾃⼰意淫是由于配置了多个实例,导致此⽂件在启动的时候不知道找哪⼀个实例了)
于是乎在listerner.ora最上边加上⼀⼩段配置,指定⼀下实例就⾏了。
然后重启⼀下监听。
⼀切正常,plsql也可以愉快的连接了。
希望有问题⼤家⼀起交流,⼀起进步,完结撒花~。
OracleTNS无监听程序
OracleTNS⽆监听程序
这个问题上次给单位服务器重启的时候也发现了,今天再次⼜出现了同样的问题。
上次没有记录,这次记录⼀下吧。
以免⾃⼰后⾯⼜忘记了。
打开的oracle读取的时候,会报错没有监听程序。
⼤部分帖⼦都是说去重新配置监听程序。
上次我查找这个问题也查找了半天,后来,才偶然看到⼀个帖⼦说,应该是⽇志⽂件太⼤了。
真是柳暗花明⼜⼀村啊。
于是赶紧查找路径,在diag/tnslsnr/⽬录下,有个listener.log⽇志。
我⼀看,居然4个GB了。
于是通过windows 服务,停⽌oracle监听服务器OracleOraDb11g_home1TNSListener 停⽌后,将listener.log改名备份。
再启动监听服务就可以了。
世界终于安静了。
如何解决oracle中监听无法启动找不到系统路径
如何解决oracle中监听无法启动找不到系统路径!2007-09-15 11:33今天上午,在登入oracle时空然我提示找不到监听.在启动监听服务时出现无法启动OracleOraHome92TNSListener服务错误3系统找不到指定的路径!从客户端连接到服务器,出现了这个错误,ora12541-TNS 没有监听器于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。
原因:Windows优化大师将Oracle的监听服务给优化了还有一种造成本地oracle无法启动的原因是安装时的主机名与当前主机名不同,也就是说安装完oracle后更改了主机名造成。
解决办法1;打开注册表(regedit)找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentContorlSet/Services/OracleOraHome92T NSListener找到后单击,在右侧里面单击右键,新建一个(可扩充字符串值)起名字为 ImagePath 在数值数据中写入C:\oracle\ora92\BIN\TNSLSNR 后退出注册表,重新启动即可。
(其中C:\oracle\ora92\BIN\TNSLSNR 是你oracle安装目录中的一个.exe文件:方法2:进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
启动监听器即可!进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
oracle数据库ORA-12541TNS无监听程序-错误解决方法
在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误。
1、检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月-2008 10:25:26Copyright (c) 1991, 2005, Oracle. All rights reserved.系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息跟踪级别当前为0以 pid=1704 开始监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) 监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))TNS-12545: 因目标主机或对象不存在, 连接失败TNS-12560: TNS: 协议适配器错误TNS-00515: 因目标主机或对象不存在, 连接失败32-bit Windows Error: 49: Unknown error不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))2、查看Oracle的listener是否启动C:\Documents and Settings\mengzhaoliang>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月-2008 10:50:44Copyright (c) 1991, 2005, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))TNS-12541: TNS: 无监听程序TNS-12560: TNS: 协议适配器错误TNS-00511: 无监听程序32-bit Windows Error: 2: No such file or directory正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))TNS-12535: TNS: 操作超时TNS-12560: TNS: 协议适配器错误TNS-00505: 操作超时32-bit Windows Error: 60: Unknown error原来没有启动listener,用“lsnrctl start”命令也不能启动。
Oracle数据库监听配置与报错解决方法
Oracle数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》2023年第24期关键词:监听日志;Oracle数据库;监听器中图分类号:TP311 文献标识码:A文章编号:1009-3044(2023)24-0073-030 引言想要使用Oracle数据库,首先需要用户与数据库建立连接,而怎么在两者之间建立连接,Oracle使用了一个叫网络服务的概念,从而客户端或者中间层的应用服务器与数据库服务器能建立连接,并能在两者之间传递数据。
在客户端,网络服务作为后台运行的进程,在数据库服务器端,网络服务则通过一个叫“监听器”的组件接收来自客户端的连接请求。
监听器(LIS⁃TENER)是位于服务器端的、独立运行的一个后台进程,运行在服务器端,但独立于数据库服务器单独运行,在数据库没有启动的时候,监听器也能独立运行。
1 Oracle 数据库监听配置Oracle监听负责监听客户端传入的连接请求,同时也负责调整服务器的连接负荷。
客户端试图连接数据库服务器时,监听器将接收到客户端的请求并将其传递给服务器进行处理。
一旦客户端与服务器建立连接,它们之后将直接进行通信,而不再需要监听器的介入,监听器将保持空闲状态。
dbca建库后一般会有默认配置好的监听,默认服务端口是1521,通常一个库一个监听就足够,但如果需要处理大量并发请求数,就可能需要配置多个监听,非默认监听的端口号设置成大于1024,不同监听之间服务名和端口号不能一样[1]。
配置监听器有两种方法。
1.1 通过图形界面工具Net Manager如图1所示,选中图中的Oracle Net配置下的本地树形目录中的监听程序项,再点击左侧绿色的“+”按钮添加监听程序,点击监听程序目录,新加的监听器名称默认为LISTENER。
选中该名称,窗口右侧栏的下拉选项中含有四个选项:一般参数、监听位置、数据库服务、其他服务,选中“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口[2]。
连接plsql 无监听程序
今天用pl/sql时发现版本过期了,去网上搜了个注册码,当我再次登录时发现登录不了。
一直报无监听程序,网上找了很多方法都是口水,对于快速解决问题没什么用,最后自己捣鼓好了,与大家分享一下。
1、确定你在”服务“开启了监听程序控制面板-管理工具-服务一般开启两个就可以了OracleServiceORCL OracleOraDb11g_home4TNSListener (ps:我装的是oracle 11g)2、如果还有问题可点击开始找到从新配置即可。
以上两个步骤基本可以解决问题当然还有listener.ora 这个文件(路径F:\app\Administrator\product\11.2.0\dbhome_4\NETWORK\ADMIN)SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_4)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:F:\app\Administrator\product\11.2.0\dbhome_4\bin\oraclr11.dll") ))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY =系统默认))(ADDRESS = (PROTOCOL = TCP)(HOST = 自己的ip4地址)(PORT = 端口默认1521))))ADR_BASE_LISTENER = F:\app\Administrator。
oracle11g监听设置
1、Oracle监听设置针对于个人用户在本机上安装的情况:1、oracle 安装成功后监听是不默认开启的,开启方式w7系统:计算机》属性》服务和应用程序》服务,找到oracle监听启动就可以了。
2、此时配置本地net服务名时可能会找不到监听,解决方式如下:从wondis所有程序中找到oracle安装目录找到Net Manager点击进入:打开监听程序如果有多余不用的监听程序,最好先删除(如下图,我本机的有两个监听程序,确认不用后将第一个监听删除了)注意:如果多余的监听配置不正确的话,即使你用的监听配置无误,也无法保存你在此处的设置。
删除后的监听程序如下图:点击监听机用所以用了我本机的主机名。
选择数据服务,看一下你的全局数据库名和SID是否与你安装时配置的相同,如果不同设置为你安装配置的值。
保存关闭即可。
2、Oracle 卸载1.关闭oracle所有的服务。
可以在windows的服务管理器中关闭;2.打开注册表:regedit 打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务!3.打开注册表,找到路径:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE删除该oracle目录,该目录下注册着Oracle数据库的软件安装信息。
4.删除注册的oracle事件日志,打开注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application删除注册表的以oracle开头的所有项目。
5.删除环境变量path中关于oracle的内容。
鼠标右键右单击“我的电脑-->属性-->高级-->环境变量-->PATH 变量。
删除Oracle在该值中的内容。
Oracle监听服务无法启动
Oracle监听服务⽆法启动本地计算机上的OracleOraDb11g_home1TNSListener服务启动后⼜停⽌了解决⽅案 . (我的系统是win7 装的Oracle 11g )1、错误描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后⼜停⽌了。
⼀些服务⾃动停⽌,如果它们没有什么可做的,例如 "性能⽇志和警报 "服务。
2、解决办法:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora这个⽂件⾥的内⽂件容改⼀下 HOST=你的计算机名字。
3、原因分析:造成这种错误的原因是:安装oracle的时候是连⽹的,那么listener.ora⽂件⾥的HOST=⽹络给你分配的IP地址,⽽在你断⽹的时候就会出现这样的情况。
⼿动启动⼀个问题:本地计算机上的 OracleOraDb11g_home1TNSListener服务启动后停⽌。
某些服务在未由其他服务或程序使⽤时将⾃动停⽌。
问题⼀:⾸先查阅你的【NETWORK\ADMIN】⽬录下的【tnsnames.ora】和【listener.ora】这两个⽂件,我的路径是:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN;然后看看⾥⾯的【HOST】信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个⽂件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字)localhost :Java代码LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))))[java]LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))))LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521)) ) )然后启动监听器就好了。
在oracle设置ODBC及出现oracle提示TNS无监听程序的解决办法
在oracle设置ODBC及出现oracle提示TNS:无监听程序的解决办法设置ODBCODBC的全名是Open Database Connectivity(开放式数据库连接),是应用程序连接数据库的接口。
由于计算机的类型不同,从个人计算机到大型主机,都有自己处理数据的方式,ODBC则可以连接到相同或不相同的数据库管理系统,因此,ODBC可以给应用程序提供相同的存取数据库的接口,程序设计员在设计连接不同数据库时,只要处理与ODBC的连接就可以了,而不必针对不同的数据库设计完全不同的程序。
特别需要提醒的是,不同的数据库都有自己对应的ODBC驱动程序,在使用不同数据库的同时,务必设置正确的ODBC驱动程序。
就像在本节中,想要连接Oracle 10g数据库,就必须设置Oracle ODBC驱动程序,操作步骤如下:(1)选择Start→Programs→Oracle-OraDb10g_home1→Configuration and Migration Tools→Microsoft ODBC Administrator(2)打开ODBC Data Source Administrator,(3)单击System DSN标签(4)单击Add按钮(5)向下拖动滚动条,找到Oracle in OraDb10g_home1选项,选择该选项(6)单击Finish按钮,进入Oracle ODBC Driver Configuration对话框Data Source Name:自定义,程序调用时将使用这个名称,请输入misdbdsn。
TNS Service Name:Oracle TNS服务名称,在创建数据库时,一般默认TNS服务名称与数据库名称相同,请输入MISDB,读者也可以自定义。
User ID:用户的账户名称,这里使用System账户来测试。
(7)单击Test Connection按钮,出现Oracle ODBC Driver Connect对话框,如图13-10所示。
Oracle11监听程序问题解决
Oracle11监听程序问题
在windows环境下安装oracle11有时候会遇到监听程序相关错误大致分为以下几种类型:
1.无监听程序
2.监听程序当前无法识别连接描述符中请求的服务
3.无法启动监听程序
首先,新建一个本地网络服务名配置来测试这些可能存在的问题。
完成后,对其进行测试。
1.无监听程序ORA-12541
首先确定监听程序是否启动,如果未启动,尝试启动它。
启动后可能会遇到下面两个问题中的一个:
2.监听程序当前无法识别连接描述符中请求的服务ORA-12541
listener.ora和tnsnames.ora这两个文件的内容不一致造成的。
以前在oracle10的时候经常会遇到这个问题。
但是在11以后,手工改这个文件容易改错。
所以,我建议使用Net config Assistant工具来改。
注意:每次修改过这两个文件必须重启oaracle服务和监听服务,并且重启Net config Assistant进行重新测试。
3.无法启动监听程序
listener.ora文件的内容可能被手工修改错了,按照下面步骤来修复:
1)删除现有的所有监听程序。
2)删除listener.ora和tnsnames.ora这两个文件。
3)新建监听服务
4.用户名口令无效ORA-101017
看到这个基本就成功了。
修改一下登陆就行了。
oracle数据库ORA-12541TNS无监听程序-错误解决方法
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
2、查看Oracle的listener是否启动
C:\Documents and Settings\mengzhaoliang>lsnrctl status
# 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)
4:40
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
8、查看listenser状态:
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
“ora-12541:TNS:无监听程序”问题的解决
“ora-12541:TNS:无监听程序”问题的解决ora-12541:TNS:无监听程序,出现这种错误的时候,可以尝试以下步骤的解决方法:1. 在控制面板中查看相关的oracle服务是否已是启动状态;2. 启动sql/plus,看是否能顺利操作;3. 在安装目录下找到tnsnames.ora文件,修改localhost值为本机的IP地址,如下所示:这个文件存在于下面的路径中:“盘名:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora”,用记事本打开后进行如下修改:(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))替换为(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521));4. 这个时候如果还是出现上述错误的话,可以尝试重新配置一下监听名称,具体步骤如下:第一步:打开命令行,在弹出的界面中输入dos命令“netca”,在弹出的窗口中进行监听程序配置;第二步:单击下一步,选择重新配置,接下来不用做任何修改,只需直接点击下一步即可完成监听的修改。
通过上面4步的操作,通常问题就会解决啦!这个时候,别的同事就可以通过你数据库的实例名、用户名和密码对你进行访问了。
(PS:怎么验证自己本地的监听没有问题了呢?只需在dos窗口中输入“tnsping 实例名”回车即可)网上的说法是.dbf-数据文件, .tmp-临时文件, .log-重作日志文件(redo log file), .ctl-控制文件 .ora-参数文件, .dat-Oracle系统文件.bat文件是批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用。
Oracle11g无监听程序解决办法
一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。
既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
二、本地服务名(Tnsname)Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。
Oracle 常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。
三、Oracle网络连接配置方法配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。
在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:$ netmgrWindows下启动Net Manager图形窗口如下图示:1、Oracle监听器配置(LISTENER)如图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。
选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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”,然后重启计算机。
参见上面的解决方法。