在oracle设置ODBC及出现oracle提示TNS无监听程序的解决办法
- 格式:docx
- 大小:16.96 KB
- 文档页数:3
一、监听器(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,也可以自定义任意有效数字端口。
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服务器202.115.90.125/ORCL,出现了以下问题:C:\>sqlplus system/cddx@202.115.90.125/ORCLSQL*Plus: Release 11.1.0.6.0 - Production on 星期五3月23 14:33:00 2012Copyright (c) 1982, 2007, Oracle. All rights reserved.ERROR:ORA-12541: TNS: 无监听程序解决方法:在服务器202.115.90.125端作如下操作,目的是让其他客户端访问这台服务器。
1.编辑C:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\ listener.ora的内容如下:以下中的蓝色字符是要替换的!!!:# listener.ora Network Configuration File: c:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 202.115.90.125)(PORT = 1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = C:\app\Administrator\product\11.1.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = C:\app\Administrator\product\11.1.0\db_1)(SID_NAME = ORCL)))对于Oracle10g,路径可以是:C:\oracle\product\10.2.0\db_1\2.编辑listener.ora完成后重启监听器:C:\>lsnrctl stopC:\>lsnrctl startLSNRCTL for 32-bit Windows: V ersion 11.1.0.6.0 - Production on 23-3月-2012 14:34:05Copyright (c) 1991, 2007, Oracle. All rights reserved.启动tnslsnr: 请稍候...TNSLSNR for 32-bit Windows: V ersion 11.1.0.6.0 - Production系统参数文件为c:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora写入c:\app\administrator\diag\tnslsnr\stu211b28\listener\alert\log.xml的日志信息监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(POR T=1521)))正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) LISTENER 的STATUS------------------------别名LISTENER版本TNSLSNR for 32-bit Windows: V ersion 11.1.0.6.0 - Production启动日期23-3月-2012 14:34:06正常运行时间0 天0 小时0 分 2 秒跟踪级别off安全性ON: Local OS AuthenticationSNMP OFF监听程序参数文件c:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora监听程序日志文件c:\app\administrator\diag\tnslsnr\stu211b28\listener\alert\log.xml监听端点概要...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))服务摘要..服务"ORCL" 包含 1 个例程。
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:无监听程序
问题描述:现场一台测试服务器,安装有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文件过大,没有进行打开分析,后续会分割日志文件查看其详细错误原因进行具体排查。
OracleTNS⽆监听程序
这个问题上次给单位服务器重启的时候也发现了,今天再次⼜出现了同样的问题。
上次没有记录,这次记录⼀下吧。
以免⾃⼰后⾯⼜忘记了。
打开的oracle读取的时候,会报错没有监听程序。
⼤部分帖⼦都是说去重新配置监听程序。
上次我查找这个问题也查找了半天,后来,才偶然看到⼀个帖⼦说,应该是⽇志⽂件太⼤了。
真是柳暗花明⼜⼀村啊。
于是赶紧查找路径,在diag/tnslsnr/⽬录下,有个listener.log⽇志。
我⼀看,居然4个GB了。
于是通过windows 服务,停⽌oracle监听服务器OracleOraDb11g_home1TNSListener 停⽌后,将listener.log改名备份。
再启动监听服务就可以了。
世界终于安静了。
在用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数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》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]。
RHEL上oracle启动后,客户端PL/SQL登录时报“12541: TNS: 无监听程序”【问题】虚拟机上的RHEL安装oracle,在系统启动后,用客户端PL/SQL登录oracle时,报以下错误:但是,如果我们在主机终端上,使用sqlplus命令,又是可以连接到数据库的。
我先给出这个问题的原因:虚拟机连接到了internet上,并且其中某个网卡使用了DHCP,使得oracle在启动侦听程序时,主机名不匹配。
【虚拟机的网卡配置】先来看看问题的场景:本例中,虚拟机设置了三个网卡,分别是:其中,eth0、eth1使用的是静态地址,eth2是使用DHCP。
特别要注意到,eth2使用的DHCP,并且使用了NA T网段(实际上,如果将eth2设置为bridged 模式,也会出现本文开头处的错误,两者的原理是一样的)。
【ORACLE配置文件】我们先看一看oracle的配置文件:$ORACLE_HOME/network/admin/listener.ora文件:$ORACLE_HOME/network/admin/sqlnet.ora文件:$ORACLE_HOME/network/admin/tnsnames.ora文件:看起来ORACLE的配置文件完全正确的。
【侦听端口1521】我们看看1521端口是不是已经在侦听了:注意到这里在侦听时,出现了“localhost.localdomain”。
实际上,如果要允许其他主机的客户端能够访问这个端口,这里应该是“*”而不是主机名。
问题找到了。
【重启lsnrctl】执行以下命令重启一下侦听:lsnrctl stoplsnrctl start看看日志$ORACLE_HOME/network/log/listener.log:这里的HOST,怎么是bogon,而不是localhost.localdomain(在listener.ora中配置的)呢?【奇怪的RHEL登录欢迎页面】再回过头来看一看系统的控制台登录页面(实际上,用uname也可以看到这个奇怪的bogon):从虚拟机控制台,可以看到非常奇怪的欢迎词“bogon”。
解决ora-12541TNS⽆监听程序plsql远程访问数据库解决ora-12541:TNS:⽆监听程序本机为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_23.在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.ZHS16GBK7.打开PLSQL,不⽤登陆,⼯具-⾸选项-ORACLE-连接:勾选检查连接Oracle主⽬录: d:\instantclient_11_2OCI库: d:\instantclient_11_2\oci.dll经过以上⼏步之后,重启PLSQL,问题来了,报错:ora-12541:TNS:⽆监听程序. ping是可以ping得通的,虚win7上的监听也开着.经过不懈的努⼒,多次试验终于解决了:1.虚拟机⽹络选择桥接,并在虚拟机内⽹络连接IPV4设置静态IPIP地址: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.oraSID_NAME = CLRExtProc 改为 SID_NAME = orcl orcl是实例名HOST = localhost 改为 HOST = 192.168.1.1113.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora两处 HOST = localhost 改为 HOST = 192.168.1.111SID = CLRExtProc 改为 SID = orcl好了,重启oracle,监听,主win7上的plsql就可以远程连接虚拟机上的数据库了.。
Oracle数据库TNS常见错误解决方法--JavaEye技术网站Oracle数据库TNS常见错误解决方法1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。
在添加之前可能需要把所有的监听器先删!)2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。
使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的网络服务名没有正确配置。
请使用“Net8Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。
如果仍没有解决,请继续向下看。
5、ORA-1034 :TNS:ORACLE不可用原因:ORACLE的数据库服务正确启动,但是数据库没有打开!使用命令:1)svrmgrl 启动服务管理器2)connect internal 以internal身份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误(顽固性的)原因:未知。
解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe 及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!PS:1、ora_startup.bat:net start OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
解决oracle数据库监听器无法启动问题解决Oracle监听器服务不能启动的问题从客户端连接到服务器,出现了这个错误,ora12541-TNS : 没有监听器于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。
然后执行:因为我的电脑数据监听程序没有问题,而且我过两天要出差去,刚好要演示系统,所以我的数据库一定不能有问题.这里就不将其更改给大家看了.用文字来表述吧LSNRCTL> status连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))TNS-01103: 地址的协议专用组件指定不正确TNS-12541: TNS:无监听器TNS-12560: TNS:协议适配器出现错误TNS-00511: 无监听器32-bit Windows Error: 61: Unknown errorLSNRCTL> start启动tnslsnr:请稍候...Failed to start service, error 3.TNS-12536: TNS:可能会阻碍*作TNS-12560: TNS:协议适配器出现错误TNS-00506: *作可能阻塞32-bit Windows Error: 997: Unknown errorLSNRCTL>三、在控制面板中启动服务,出现以下错误服务:在本地计算机无法启动OracleOraHome10gTNSListener 服务。
错误3:系统找不到指定的路径而且OracleOraHome1TNSListener服务的可执行文件的路径是空的。
四、进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome10gTNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:d:\Oracle\Ora10g\BIN\TNSLSNR退出注册表。
在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所示。
连接Oracle数据库时报ORA-12541:TNS:⽆监听程序的图⽂解决教程在⽤PL/SQL Developer等客户端⼯具连接oracle服务器时出现ORA-12541:TNS:⽆监听程序的错误,如下图:发现原来是oracle的监听没有启动,重启监听后就连接成功了,下⾯跟⼤家分享⼀下如何启动oracle的监听。
1.在安装Oracle服务器的主机上,打开Net Configuration Assistant2.选择监听程序配置,下⼀步3.选择重新配置,下⼀步 4.选择监听程序,默认,下⼀步 注:如果你的监听已启动,则出现提⽰框,选择是 5.选择协议,使⽤默认的TCP协议,下⼀步 6.选择端⼝号,使⽤标准端⼝号1521,下⼀步 7.不配置另⼀个监听程序,选择否,下⼀步 8.监听程序配置完成,下⼀步 重配服务名,测试连接 1.选择Net服务器配置,下⼀步 2.选择重新配置,下⼀步 3.选择数据库名,下⼀步 4.填写服务名,也就是你创建数据库时的全数据库名,下⼀步 5.选择TCP协议,下⼀步 6.填写主机名(可填写你的IP地址,也可填写你的主机名),使⽤标准端⼝号1521,下⼀步 7.进⾏测试,下⼀步 8.选择更改登录 9.填写⽤户名和⼝令,确定 10.测试连接成功,下⼀步 11.⽹络服务名,默认(和之前的数据库名⼀样),下⼀步 12.不配置另⼀个Net服务名,选择否,下⼀步 服务名配置完毕,下⼀步,完成 启动PL/SQLDeveloper,输⼊⽤户名和⼝令,登录成功以上所述是⼩编给⼤家介绍的连接Oracle数据库时报ORA-12541:TNS:⽆监听程序的图⽂解决教程,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
在此也⾮常感谢⼤家对⽹站的⽀持!。
在oracle设置ODBC及出现oracle提示TNS:无监听程序的解决办法
设置ODBC
ODBC的全名是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所示。
Password:请输入安装时给System设置的密码,或自行修改后的密码。
如果出现oracle提示ERROR - ORA-12541: TNS:无监听程序,那么就依照下列步骤做,这是因为你的分配的地址不对。
查看\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora文件,用记事本打开,显示oracle值:
ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =自动分配的IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
)
)
主机名输入localhost或127.0.0.1都会提示无监听程序。
由于自动分配的IP地址会有变动,所以将oralce值中的host改成本机的计算机名,保存修改后的tnsnames.ora。
再次新建数据库,出错问题解决。
# tnsnames.ora Network Configuration
File: G:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =计算机名称)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
)
)
计算机名称可以右击‘我的电脑’找到
(8)单击OK按钮
(9)单击OK按钮,回到Oracle ODBC Driver Configuration对话框
(10)单击OK按钮,回到ODBC Data Source Administrator的System DNS选项卡
(11)单击OK按钮,完成ODBC的设置。