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

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

在用PL/SQL

Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图:

发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟大家分享一下如何启动oracle的监听。

1在安装Oracle服务器的主机上,打开Net

Configuration

Assistant

2选择监听程序配置,下一步

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服务名,选择否,下一步

13Net服务名配置完毕,下一步,完成

启动PL/SQLDeveloper,输入用户名和口令,登录成功

以上所述是小编给大家介绍的连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

你把listenerora文件中的host改成你的主机名如:HOST = HT-03(主机名),同时把tnsnamesora文件中的所有host也改成主机名。这样应该就没问题了。

会与ip产生关联是因为如果网络开启时,oracle安装默认的host是ip地址,如果安装时你把网络断开它就会是主机名或是localhost了。

oracle监听服务无法启动可以备份,1、修改配置文件

这个好像不太管用

2修改listener配置文件

只能解决一时问题

3重装数据库是不管的

终极解决办法:重装系统,,重装系统前,需要将C盘中的文件进行备份驱动精灵修复

打开dos,输入net start oracleserviceorcl,查看启动情况。监听程序当前无法识别连接描述符中请求的服务一般就是实例服务启动不正常,产生原因一般就是没有正常关闭数据库就关机导致,下次记得shutdown normal ,然后net stop oracleserviceorcl,然后关掉电脑,一般就没事了

方法/步骤

1

Oracle监听器配置(LISTENER)

如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:

2

选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle19216815。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:

保 存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:oracleora92networkadminlistenerora,Linux/Unix下$ ORACLE_HOME/network/admin/listererora)。至此,Oracle服务端监听器配置已经完成。

本地服务名配置(Tnsnames)

本 地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行 *** 作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据 库服务器进行 *** 作的pc机,也可以是数据库服务器自身。如前面所介绍,可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,d出如下图示对话框:

输入Net服务名,如myoracle,点击下一步,进入下图示对话框:

选中TCP/IP(Internet协议),点击下一步,如下图示:

输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:

选 中(Oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型 通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档)。配置好后点击下一步,如下图示:

如 果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。Oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是 Oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连 接不成功,也不要紧,先点完成按钮结束配置。

回 到Oracle网络管理器(Oracle Net Manager)主窗口,保存配置,默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:oracleora92networkadmintnsnamesora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnamesora)。配置完成的本地服务名如下图示:

树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。

连接数据库服务器

(1)   启动服务器端监听器与数据库服务

Linux/Unix下,启动监听器:

$ lsnrctl start

关闭监听器:

$ lsnrctl stop

查看监听状态:

$ lsnrctl status

启动数据库:

$ sqlplus /nolog

SQL>conn sys@myoracle as sysdba   --这里的myoracle是前面配置的客户端本地服务名

SQL>conn / as sysdba

SQL>startup

Windows下,启动监听器:

C:lsnrctl start

启动Oracle实例服务:

C:oradim a href=">

关闭Oracle实例服务:

C:oradim –shutdown –sid myoracle

以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:

Linux/Unix下:

$ lsnrctl start aListener

Windows下:

C:lsnrctl start aListener

(2)   测试连接数据库服务器

测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:

C:sqlplus /nolog

SQL>conn zgh@myoracle

已连接。

客户端连接服务器端常见问题排除方法

要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:

1、 ORA-12541: TNS: 没有监听器

显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:

$ lsnrctl start

C:lsnrctl start

2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程

对于Windows而言,没有启动Oracle实例服务。启动实例服务:

C:oradim –startup -sid myoracle

3、 ORA-12535: TNS:  *** 作超时

出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。

4、 ORA-12154: TNS: 无法处理服务名

检 查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnamesora,Linux/Unix下/network/admin/tnsnamesora)里每项服务的首 行服务名称前不能有空格。

5、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME

打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。

6、 Windows下启动监听服务提示找不到路径

用 命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没 有,设定值为D:oracleora92BINTNSLSNR,不同的安装路径设定值做相应的更改。这种方法同样适用于Oracle实例服务,同 上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:oracleora92 binORACLEEXE MYORACLE。

以上是Oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。

1在开始菜单,选择oracle,再选择“配置和移值工具”,打开Oracle Net Manager。

2

在d出的窗口上 选择“监听程序”,点击左边的“+”图标,创建监听。

3

在接下来的窗口上选择监听名称,或者自己起一个监听名称,在点击下方“确定”按钮。

END

添加服务器数据库IP地址配置监听

1

点击“添加地址”按钮,填写好服务器主机ip地址以及端口号并及时保存。

END

配置服务名称

选择“服务名称”,创建一个服务名称,最好跟目标主机数据库服务名称一致。

点击下一步,选择TC/IP选项,再单击下一步。

填写好服务器数据库主机名,一般填写IP地址就可以了,再填写好端口:1521 。下一步的时候,填写好服务名,跟SID一致就可以了。

测试是否可以连通,点击“测试”按钮,更改进入数据库 *** 作的账户跟密码点击测试。

5

测试连接成功如下图,如果测试未成功,就按上面的步骤仔细检查看看哪里出问题了。一般查询服务器ip地址、端口、数据库用户名、密码、防火墙等等地方是否有问题。

以上就是关于连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程全部的内容,包括:连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程、oracle监听程序启动出错、oracle监听服务无法启动可以备份吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10148228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存