ORA-12541:TNS:没有监听器是什么意思

ORA-12541:TNS:没有监听器是什么意思,第1张

这个有几种可能
如果是本机的数据库,原因基本就是监听服务没有打开。win系统的话在我的电脑右键下拉菜单中
管理工具->服务
找到
OracleTNSListener服务,启动即可。
如果是联网的主机的话,可能是tnsname里没有配置,或者是网络连接有问题

数据库shutdown后startup启动时报错ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。原因:服务器端的侦听器中已经没有了你要连接的例程了,所以你连不上啊。
解决办法:
1在服务器端的侦听器中加入静态注册实例就行,找到listenserora文件,打开,在SID_LIST_LISTENER中加入一个SID_DESC,如下:其中hjgis为实例名。
#listenerora
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = F:\oracle\product\1020\db_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = hjgis)(ORACLE_HOME = F:\oracle\product\1020\db_1)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = hujian)(PORT = 1521))))
2重新加载侦听。
在服务器端,在 *** 作命令提示符下:
C:\>lsnrctl
LSNRCTL> reload
3重新用sys用户连接数据库实例
SQL>conn sys/sys@hjgis_hujian as sysdba已连接到空闲例程。
4启动数据库。
即可STARTUP MOUNT

1 下载安装oracle的精简客户端
从oracle官网下载最新版intantclient,目前最新版是121。因为oracle的客户端是向下兼容的,所以121版本的客户端可以连接所有121以下版本的服务器端,当然包括112。
既然使用PL/SQL Developer,就不需要再安装ORACLE官方的GUI客户端了,所以下载这个instant版本的精简客户端版本就足够了,越简单越稳定啊。
从官网下载需要有oracle网站的账号,对于和oracle打交道的人来说,免费注册一个oracle账号是十分必要的。
这个软件包下载完成后,直接解压到指定路径即可,是纯绿色软件,不需要安装。我解压后放到了E:\green\下。
2 下载SqlPlus,检查是否可以正确连接服务器(可选)
在下载精简客户端的同一个页面,下载sqlplus这个小工具,这可是DBA的最爱啊,很小但很实用,这里主要是用来检查连接情况。下载后直接解压,把解压后的文件夹中的所有文件,复制到刚才的客户端目录下。
打开命令行窗口,切换到这个目录下,执行熟悉的 sqlplus user/pwd@host/service ,如果能正常连接,说明服务器和本机之间可以正常通信,从而排除了基本的错误。如果不能连接,则需要慢慢排查了。
3 新建配置文件sqlnetora和tnsnamesora,新建环境变量TNS_ADMIN
在D:\green\instantclient_12_1\目录下,新建两个文件,名称分别为 sqlnetora,tnsnamesora。这两个文件提供了客户端服务名到指定的oracle服务器提供的数据库服务名的映射。
sqlnetora内容如下:
[plain] view plain copy
NAMESDIRECTORY_PATH = (TNSNAMES,EZCONNECT)
tnsnamesora内容如下:
[plain] view plain copy
客户端服务名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务器端侦听器提供的服务名)
)

其中,
客户端服务名可以任意设置,
服务器IP地址就是提供oracle服务的机器IP,
服务器端侦听器提供的服务名是根据服务器端的设置填写。
注意客户端服务名必须顶格写,前面不能有任何空格,否则会出错。
然后,为系统添加环境变量TNS_ADMIN,其值为oracle客户端安装目录,本例中就是E:\green\instantclient_12_1。
4 下载安装PL/SQL Developer软件
我是从官网下载的,版本为10051710,当然这个软件不是免费的,但是可以试用30天。下载之后直接安装即可,安装过程会提示早期的Oracle可能对路径要求苛刻,我们的Oracle版本是112的,不存在这个问题,所以默认路径即可。
启动该软件,出现登录界面。
选择Cancel,进入主界面。在主界面的主菜单中,选择ToolsPreferences,d出设置对话框,如下
按照上图所示,主要目的就是让PL/SQL Develper这个软件可以找到oracle客户端。
设置完成后,重新启动PL/SQL Developer,在登录页面,输入用户名密码和tnsnamesora文件中设置的客户端服务名,就可以连接成功了。
如果报错,请检查上面的所有配置过程,特别是tnsnamesora配置文件,以及TNS_ADMIN环境变量。

在“TCP/IP
属性”对话框的“IP
地址”选项卡上,将显示若干个
IP
地址,格式为:IP1、IP2,直到
IPAll。这些
IP
地址中有一个是用作环回适配器的
IP
地址
(127001)
的。其他
IP
地址是计算机上的各个
IP
地址。右键单击每个地址,再单击“属性”,标识要配置的
IP
地址。如果“TCP
动态端口”对话框中包含
0,则表示数据库引擎
正在侦听动态端口,请删除
0。在“IPn
属性”区域框的“TCP
端口”框中,键入希望此
IP
地址侦听的端口号,然后单击“确定”。在控制台窗格中,单击“SQL
Server
2005
服务”。在详细信息窗格中,右键单击“SQL
Server
(<实例名>)”,再单击“重新启动”,以停止并重新启动
SQL
Server。在配置完
SQL
Server
以侦听特定端口后,可以通过下列三种方法,使用客户端应用程序连接到特定端口:运行服务器上的
SQL
Server
Browser
服务以按名称连接到数据库引擎
实例。
在客户端上创建一个别名,指定端口号。
对客户端进行编程,以便使用自定义连接字符串进行连接。

 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
Oracle监听器配置(LISTENER)
如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:
选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle19216815。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:

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


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

原文地址: https://outofmemory.cn/zz/13462150.html

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

发表评论

登录后才能评论

评论列表(0条)

保存