oracle怎么配置监听(oracle怎么配置监听)

本文目录
- oracle怎么配置监听
- oracle如何配置监听
- Oracle 11g RAC环境下单实例非缺省监听及端口配置
- Oracle:浅析监听器安装/配置入门
- oracle 多实例 怎么配置监听
- 如何在oracle 10g建立监听服务
- Oracle怎么创建监听
- 如何配置Oracle数据库监听
- oracle rac 12c配置scan监听
oracle怎么配置监听
何为一个instance配置多个监听,并且实现Client Load Balancing和Client Load Balancing。
打开NETCA,配置两个监听器。
LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。
配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。
这个时候,LISENTER已经可以使用了。
但是LISENTER2还是不行,因为Oracle只会为第一个默认的监听注册服务。
在$ORACLE_HOME/NETWORK/ADMIN,lisenter.ora文件,如下:
红色字体为需要增加的内容
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = WWJ)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(GLOBAL_DBNAME = WWJ)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
需要解释的是,SID_LIST_《lisenter name》 这里的《lisenter name》要和LISTENER名称一致。
SID_DESC则注册要提供服务的数据库实例名。这样LISTENER2 才能够提供服务。
否则会报TNS-错误。
测试过程,配置local tns name如下:
1522 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1521 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
local =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1522和1521分别对应两个监听器,local稍后再解释:
测试:
sql》 conn wwj/wwj@1521
已连接。
sql》 conn wwj/wwj@1522
已连接。
OK,再看local,
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
这里的意思是,该命名对应了两个监听端口,如果一个Crash,会立刻切换到另外一个。
并且如果多个连接,会随机的分配监听。
测试
sql》 conn wwj/wwj@local
已连接。
STOP LISENTER,再次连接,这个时候,连接比第一次慢了1秒钟左右
sql》 conn wwj/wwj@local
已连接。
成功,这时连接上了LISTENER2
oracle如何配置监听
一、监听器(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网络管理器,如:
$ netmgr
Windows下启动Net Manager图形窗口如下图示:
1、 Oracle监听器配置(LISTENER)
如上图示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:
选中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle.192.168.1.5。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:
保存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:oracleora92networkadminlistener.ora,Linux/Unix下$ ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服务端监听器配置已经完成。
2、 本地服务名配置(Tnsnames)
本地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据 库服务器进行操作的pc机,也可以是数据库服务器自身。如前面所介绍,可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,弹出如下图示对话框:
输入Net服务名,如myoracle,点击下一步,进入下图示对话框:
选中TCP/IP(Internet协议),点击下一步,如下图示:
输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:
选 中(Oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型 通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档)。配置好后点击下一步,如下图示:
如果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。Oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是 Oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连 接不成功,也不要紧,先点完成按钮结束配置。
回 到Oracle网络管理器(Oracle Net Manager)主窗口,保存配置,默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:oracleora92networkadmintnsnames.ora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服务名如下图示:
树形目录下的服务命名可以通过菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。
3、 连接数据库服务器
(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实例服务:
***隐藏网址***
关闭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
已连接。
Oracle 11g RAC环境下单实例非缺省监听及端口配置
如果在Oracle g RAC环境下使用dbca创建单实例数据库后 Oracle会自动将其注册到缺省的 端口及监听器 大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口 而且在Oracle g RAC环境中 对于集群监听器的配置由grid用户来接管了 基于这种情形的单实例非缺省监听及端口该如何配置呢?本文给出了解决方案 并且使用了静态及动态两种注册方法
关于单实例下非缺省监听及端口的配置可以参考下面的文章 实际上参照下列文章依旧可以完成RAC 环境下单实例非缺省监听及端口的配置 但
RAC环境下较之前的单实例环境有些不同 所以记录下了这些个细小的差异
配置非默认端口的动态服务注册
配置sqlnet ora限制IP访问Oracle
Oracle 监听器日志配置与管理
设置 Oracle 监听器密码(LISTENER)
配置ORACLE 客户端连接到数据库
dbca创建单实例数据库后监听器的情形
环境
$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release (Carthage)
Kernel \r on an \m
$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is
实例cnbo为RAC环境下使用dbca创建 当前处于offline状态
$ crsstat | grep cnbo
bo db database C OFFLINE OFFLINE (linux ) Instance Shutdown
缺省的listener处于offline状态
$ crsstat | grep Listener | grep OFFLINE
ora LISTENER lsnr Listener L OFFLINE OFFLINE (linux )
启动实例及监听
$ srvctl start database d cnbo
$ srvctl start listener l LISTENER
PRCC : LISTENER was already running
$ export ORACLE_SID=cnbo
$ sqlplus / as sysdba
SQL》 set linesize
SQL》 show parameter cluster_d 》此实例为RAC环境下的单实例
NAME TYPE VALUE
cluster_database boolean FALSE
cluster_database_instances integer
下面的lsnrctl status可以看到实例被注册到 的默认端口 dbca创建完实例cnbo后并没有为其配置监听
而实例确确实实的被注册到了缺省的监听器 应该来说这个是dbca是自动添加的
注 从Oracle g RAC开始 集群监听器的配置由grid用户来接管 因此可以在$ORA_CRS_HOME/neork/admin/目录下找到对应的listener ora文件
$ lsnrctl status
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
Services Summary
Service +ASM has instance(s)
Instance +ASM status READY has handler(s) for this service
Service has instance(s) 》该服务即是单实例cnbo提供的
Instance cnbo status READY has handler(s) for this service
Service has instance(s)
Instance cnbo status READY has handler(s) for this service
The mand pleted successfully
配置非缺省的监听器并实现动态注册
切换到Oracle用户下 并清空其下的listener ora与tnsnames ora
$ cat /dev/null》$ORACLE_HOME/neork/admin/listener ora
$ cat /dev/null》$ORACLE_HOME/neork/admin/tnsnames ora
下面通过netca来为其配置监听器及tnsnames ora
$ export DISPLAY= :
$ netca
Author : Robinson Cheng
Blog :
》下面是使用netca配置后的结果 包括listener ora以及tnsnames ora
$ more $ORACLE_HOME/neork/admin/listener ora
# listener ora Neork Configuration File: /u /app/oracle/db_ /neork/admin/listener ora
# Generated by Oracle configuration tools
ADR_BASE_LISTENER_CNBO = /u /app/oracle
LISTENER_CNBO = # 监听器的名字为LISTENER_CNBO 端口为
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
)
$ more $ORACLE_HOME/neork/admin/tnsnames ora
# tnsnames ora Neork Configuration File: /u /app/oracle/db_ /neork/admin/tnsnames ora
# Generated by Oracle configuration tools
CNBO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = )
)
)
提示没有找到监听器 无法ping通 因为我们配置的监听器并没有启动
尽管服务在缺省的监听器注册 但无法ping 即此路不通
$ tnsping cnbo
TNS Ping Utility for Linux: Version Production on AUG : :
Copyright (c) Oracle All rights reserved
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )))
(CONNECT_DATA = (SERVICE_NAME = )))
TNS : TNS:no listener
下面我们启动非缺省的监听器
$ lsnrctl start LISTENER_CNBO
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT= )))
The listener supports no services
The mand pleted successfully
$ lsnrctl status LISTENER_CNBO
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT= )))
The listener supports no services 》没有任何服务及实例注册到监听器 等N久也不会有实例注册
The mand pleted successfully 》因为这个是非缺省的 而且我们还没有配置动态注册
下面我们来设置动态注册
查看参数local_listener 此时已经被设置了 而且端口是 IP用的是虚IP
这就是为什么实例创建后 会被自动注册到grid用户下缺省监听器的缘故
SQL》 show parameter local_lis
NAME TYPE VALUE
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=linu
x vip)(PORT= ))))
设置动态注册 收到了错误消息
SQL》 alter system set local_listener= LISTENER_CNBO ;
alter system set local_listener= LISTENER_CNBO
*
ERROR at line :
ORA : parameter cannot be modified because specified value is invalid
ORA : invalid specification for system parameter LOCAL_LISTENER
ORA : syntax error or unresolved neork name LISTENER_CNBO
对于前面出现的错误 给出两种解决方案
一是按照前面local_listener参数值的格式设置新的ip及端口 或者将这个描述信息添加到tnsnames ora文件中
下面我们选用了第二种解决方案
$ echo
》 LISTENER_CNBO =
》 (ADDRESS_LIST =
》 (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
》 ) 》》$ORACLE_HOME/neork/admin/tnsnames ora
再次设置参数local_listener
SQL》 alter system set local_listener= LISTENER_CNBO ;
System altered
下面可以看到实例及服务已经自动注册到监听器LISTENER_CNBO
$ lsnrctl status LISTENER_CNBO
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT= )))
Services Summary
Service has instance(s)
Instance cnbo status READY has handler(s) for this service
Service has instance(s)
Instance cnbo status READY has handler(s) for this service
The mand pleted successfully
下面查看grid用户下原来的服务及实例cnbo也不复存在
$ lsnrctl status
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
Services Summary
Service +ASM has instance(s)
Instance +ASM status READY has handler(s) for this service
The mand pleted successfully
配置非缺省的监听器并实现静态注册
对于非缺省监听器 我们也可以为其配置静态注册方式
首先我们停止监听器 并清空Oracle用户下的listener ora与tnsnames ora
$ lsnrctl stop LISTENER_CNBO
$ cat /dev/null》$ORACLE_HOME/neork/admin/listener ora
$ cat /dev/null》$ORACLE_HOME/neork/admin/tnsnames ora
SQL》 alter system set local_listener= ;
下面使用netmgr来配置监听器及tnsnames
$ export DISPLAY= :
$ netmgr
下面是配置后的结果 此时我们使用了新的端口号 以及新的监听器名字LISTENER_NEW
$ more $ORACLE_HOME/neork/admin/listener ora
# listener ora Neork Configuration File: /u /app/oracle/db_ /neork/admin/listener ora
# Generated by Oracle configuration tools
# 我们使用netmgr为其添加了数据库服务 即SID_LIST_LISTENER_NEW项 而netca无法完成此项任务
LISTENER_NEW =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
ADR_BASE_LISTENER_NEW = /u /app/oracle
SID_LIST_LISTENER_NEW =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = )
(ORACLE_HOME = /u /app/oracle/db_ )
(SID_NAME = cnbo)
)
)
$ more $ORACLE_HOME/neork/admin/tnsnames ora
# tnsnames ora Neork Configuration File: /u /app/oracle/db_ /neork/admin/tnsnames ora
# Generated by Oracle configuration tools
CNBO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = )
)
)
启动新的监听器
$ lsnrctl start LISTENER_NEW
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT= )))
Services Summary
Service has instance(s)
Instance cnbo status UNKNOWN has handler(s) for this service 注意状态为UNKNOWN 表明是静态注册
The mand pleted successfully
我们看看grid用户缺省监听的状态 此时实例cnbo依旧被注册
$ lsnrctl status
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
Services Summary
Service +ASM has instance(s)
Instance +ASM status READY has handler(s) for this service
Service has instance(s)
Instance cnbo status READY has handler(s) for this service
Service has instance(s)
Instance cnbo status READY has handler(s) for this service
The mand pleted successfully
下面检查一下local_listener参数
SQL》 show parameter db_name
NAME TYPE VALUE
db_name string cnbo
SQL》 show parameter local_lis 》参数没有做任何设置
NAME TYPE VALUE
local_listener string
从上面的情形来看 尽管没有设置local_listener参数 此时实例依旧被注册到监听
在此时我们已经可以通过tnsnames连接到数据库 也就是说客户端发起的连接最终还是通过监听器LISTENER_NEW 而不是缺省的监听器
对于这个情形在非RAC环境的Oracle g g 可以不用设置local_listener 也不会注册到缺省监听器
但grid用户下的缺省监听器提供的cnbo服务着实别扭 下面为还是添加监听器信息到tnsnames ora
$ echo
》 LISTENER_NEW =
》 (ADDRESS_LIST =
》 (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
》 ) 》》$ORACLE_HOME/neork/admin/tnsnames ora
》设置local_listener
SQL》 alter system set local_listener= LISTENER_NEW ;
下面的缺省监听状态下不再看到cnbo实例
$ lsnrctl status
LSNRCTL for Linux: Version Production on AUG : :
Listening Endpoints Summary
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= )(PORT= )))
Services Summary
Service +ASM has instance(s)
Instance +ASM status READY has handler(s) for this service
The mand pleted successfully
后记
a 在Oracle g RAC环境下使用dbca创建单实例数据库会自动将实例配置到缺省的监听器以及缺省端口
b 在Oracle g RAC环境下 对于集群监听的配置 需要在grid用户下来完成 这个不同于Oracle g RAC 关于 g RAC监听配置可参考尾部链接
c 注意netca与netmgr在配置监听器时的差异 由上测试可知netca不能为监听添加数据库服务 即SID_LIST_《LISTENER_CNBO》项 而netmgr可以实现 建议使用netmgr
d 动态服务注册需要配置local_listener参数 要么使用DESCRIPTION等一串描述 要么简化到tnsnames ora文件之中
e 对于Oracle g RAC环境下单实例的非缺省监听及端口的静态注册 如果不设置local_listener 尽管会注册到指定的监听器 但同时也会注册到缺省监听器
lishixinzhi/Article/program/Oracle/201311/16877Oracle:浅析监听器安装/配置入门
本地服务名(Tnsname)
Oracle客户端与服务器端的连接是通过客户端发出连接请求 由服务器端监听器对客户端连接请求进行合法检查 如果连接请求有效 则进行连接 否则拒绝该连接
本地服务名是Oracle客户端网络配置的一种 另外还有Oracle名字服务器(Oracle Names Server)等 Oracle常用的客户端配置就是采用的本地服务名 本文中介绍的也主要是基于本地服务名的配置
Oracle网络连接配置方法
配 置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置) 在Windows下 点击 开始/程序/Oracle OraHome /Configuration and Migration Tools/Net Manager 启动Oracle网络管理器工具 在Linux/Unix下 利用netmgr命令来启动图形化Oracle网络管理器 如 $ netmgr
Oracle监听器配置(LISTENER):
选中树形目录中监听程序项 再点击左上侧 + 按钮添加监听程序 点击监听程序目录 默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名) 选中该名称 选中窗口右侧栏下拉选项中的 监听位置 点击添加地址按钮 在出现的网络地址栏的协议下拉选项中选中 TCP/IP 主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端 输入两项之一均有效;如果主机作为服务端并需要通过网络连 接 建议输入IP地址) 端口文本框中输入数字端口 默认是 也可以自定义任意有效数字端口
选 中窗口右侧栏下拉选项中的 数据库服务 点击添加数据库按钮 在出现的数据库栏中输入全局数据库名 如myoracle 注意这里的全局数据库名与数据 库SID有所区别 全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性 就如Windows下的域名控制器 如这里可以输入 myoracle Oracle主目录可以不填写 输入SID 如myoracle
保存以上配置 默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:\oracle\ora \neork\admin\listener ora Linux/Unix下$ ORACLE_HOME/neork/admin/listerer ora) 至此 Oracle服务端监听器配置已经完成
本地服务名配置(Tnsnames):
本地服务名是基于Oracle客户端的网络配置 所以 如果客户端需要连接数据库服务器进行操作 则需要配置该客户端 其依附对象可以是任意一台欲连接数据 库服务器进行操作的PC机 也可以是数据库服务器自身 如前面所介绍 可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置
如果数据库服务器端相关服务启动了 可以点击测试按钮进行连接测试 Oracle默认是通过scott/tiger用户进行测试连接 由于scott用户是 Oracle自带的示例用户 对于正式的业务数据库或专业测试数据库可能没有配置这个用户 所以需要更改成有效的用户登录才可能测试成功 如果这里测试连 接不成功 也不要紧 先点完成按钮结束配置
回到Oracle网络管理器(Oracle Net Manager)主窗口 保存配置 默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:\oracle\ora \neork\admin\tnsnames ora Linux/Unix下$ ORACLE_HOME/neork/admin/ tnsnames ora)
树形目录下的服务命名可以通过菜单里的重命名菜单更改成任意合法字符组成的服务名称 注意服务名称前不能有空格字符 否则可能无法连接数据库服务器
连接数据库服务器:
( )启动服务器端监听器与数据库服务:
Linux/Unix下 启动监听器 $ lsnrctl start
· 关闭监听器 $ lsnrctl stop
· 查看监听状态 $ lsnrctl status
SQL》conn sys@myoracle as sysdba 这里的myoracle是前面配置的客户端本地服务名
或
SQL》conn / as sysdba
SQL》startup
Windows下 启动监听器 C:\lsnrctl start
启动Oracle实例服务 C:\oradim –startup –sid myoracle
关闭Oracle实例服务 C:\oradim –shutdown –sid myoracle
以上服务必须同时启动 客户端才能连接数据库 由于默认配置的监听器名称是Listener 上述命令可以正常启动监听器 如果监听器名称是其它名称 如aListener 则需要用下列方式才能启动
Linux/Unix下 $ lsnrctl start aListener
Windows下 C:\lsnrctl start aListener
( )测试连接数据库服务器
测试的方法多种多样 可以在上面配置本地服务名时进行测试 也可以是第三方客户端工具 如PL/SQL Developer 最方便的是用Oracle自带的SQLplus工具 以下利用SQLplus进行测试
C:\sqlplus /nolog
SQL》conn zgh@myoracle
已连接
客户端连接服务器端常见问题排除方法
要排除客户端与服务器端的连接问题 首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致) 再根据错误提示解决 下面列出几种常见的连接问题
ORA : TNS: 没有监听器
显而易见 服务器端的监听器没有启动 另外检查客户端IP地址或端口填写是否正确 启动监听器
$ lsnrctl start或C:\lsnrctl start
ORA : TNS: 监听程序无法启动专用服务器进程
对于Windows而言 没有启动Oracle实例服务 启动实例服务 C:\oradim –startup sid myoracle
ORA : TNS: 操作超时
出现这个问题的原因很多 但主要跟网络有关 解决这个问题 首先检查客户端与服务端的网络是否畅通 如果网络连通 则检查两端的防火墙是否阻挡了连接
ORA : TNS: 无法处理服务名
检 查输入的服务名与配置的服务名是否一致 另外注意生成的本地服务名文件(Windows下如D:\oracle\ora \neork\admin \tnsnames ora Linux/Unix下$ORACLE_HOME/neork/admin/tnsnames ora)里每项服务的首 行服务名称前不能有空格
ORA : TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager 选中服务名称 检查服务标识栏里的服务名输入是否正确 该服务名必须与服务器端监听器配置的全局数据库名一致
Windows下启动监听服务提示找不到路径
用 命令或在服务窗口中启动监听提示找不到路径 或监听服务启动异常 打开注册表 进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome TNSListener项 查看ImagePath字符串项是否存在 如果没 有 设定值为D:\oracle\ora \BIN\TNSLSNR 不同的安装路径设定值做相应的更改 这种方法同样适用于Oracle实例服务 同上 找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项 查看ImagePath字符串项是否存在 如果没有 则新建 设定值为d:\oracle\ora \ binORACLE EXE MYORACLE
lishixinzhi/Article/program/Oracle/201311/18881oracle 多实例 怎么配置监听
1、设置ORACLE_SID(实例名)的环境变量,如:"ORACLE_SID=orcl",可以通过"echo $ORACLE_SID"查看设置是否成功。
2、通过"sqlplus / as sysdba"登陆指定的Oracle实例orcl。
3、启动数据库"startup",然后启动监听"lsnrctl start"。
4、通过"sys/password@orcl as sysdba"可以登陆到数据库实例orcl。也可以通过netca测试TNS是否成功。
如何在oracle 10g建立监听服务
1、在开始菜单你安装的oracle-》配置和移植工具目录下面,找到Net Configuration Assitant;
2、点击进入配置界面,选择监听程序配置;
3、然后一直下一步...下一步;
4、最后一步选择否,点击下一步就完成了;
Oracle怎么创建监听
打开Oracle Net Manager创建监听
1
在开始菜单,选择oracle,再选择“配置和移值工具”,打开Oracle Net Manager。
2
在弹出的窗口上 选择“监听程序”,点击左边的“+”图标,创建监听。
3
在接下来的窗口上选择监听名称,或者自己起一个监听名称,在点击下方“确定”按钮。
END
添加服务器数据库IP地址配置监听
1
点击“添加地址”按钮,填写好服务器主机ip地址以及端口号并及时保存。
END
配置服务名称
1
选择“服务名称”,创建一个服务名称,最好跟目标主机数据库服务名称一致。
2
点击下一步,选择TC/IP选项,再单击下一步。
3
填写好服务器数据库主机名,一般填写IP地址就可以了,再填写好端口:1521 。下一步的时候,填写好服务名,跟SID一致就可以了。
4
测试是否可以连通,点击“测试”按钮,更改进入数据库操作的账户跟密码点击测试。
5
测试连接成功如下图,如果测试未成功,就按上面的步骤仔细检查看看哪里出问题了。一般查询服务器ip地址、端口、数据库用户名、密码、防火墙等等地方是否有问题。
***隐藏网址***
如何配置Oracle数据库监听
1、打开cmd输入netca。
2、选择【本地net服务名配置】→下一步。
3、选择【添加】→下一步。
4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步。
5、选择【tcp】→下一步。
6、在【主机名】中输入你想要连接的服务器ip,端口号不变→下一步。
7、选择【进行测试】→下一步。(当然你也可以选择不测试)
※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功。】表明测试成功。
※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开。
8、在【net服务名中】输入你想要使用的本地的服务名→下一步。
※就是【sqlplus
user/passwd
@本地服务名】。
9、选择【否】→下一步。
10、出现【net服务配置完毕】字样→下一步。
11、点击【完成】完成服务配置。
12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器:
sqlplus
user_name/password@本地服务名
一定记住,上面的本地服务名是你第8步写的服务名。
13、如果sqlplus
能够进入,PLSQL
Developer也就可以了。
---
以上,希望对你有所帮助。
oracle rac 12c配置scan监听
Oracle 11g/12c 监听器白名单的配置
一、单实例环境:
二、RAC环境:
一、单实例环境:
#1.1 添加白名单IP
修改$ORACLE_HOME/network/admin/sqlnet.ora,如没有sqlnet.ora文件,则从$ORACLE_HOME/network/admin/samples下考备模板进行
#添加如下内容:
TCP.VALIDNODE_CHECKING=yes
TCP.INVITED_NODES=(ip1,ip2,ip3)
#1.2 重启服务
方法一: lsnrctl stop; lsnrctl start
方法二: lsnrctl reload
#查看oracle服务注册情况
lsnrctl status
二、RAC环境:
#2.1 添加白名单IP
修改“$GRID_HOME/network/admin/sqlnet.ora”文件,所有的节点都要修改。如没有sqlnet.ora文件,则从、$GRID_HOME/network/admin/samples下考备模板进行
#2.2 重启服务
方法一:
#重启各节点监听器,先启重一个节点,验证过后再启动其它节点
srvctl
#重启scan
srvctl stop scan_listener; srvctl start scan_listener
方法二:
#重启各节点监听器,先启重一个节点,验证过后再启动其它节点
lsnrctl stop ; lsnrctl start
# 重启scan 监听器,很重要哦
lsnrctl stop listener_scan1
lsnrctl start listener_scan1
#查看oracle服务注册情况
lsnrctl status
注:listener 为各节点本地默认监听器名称
listener_scan1为scan监听----可以通过crsctl stat res -t 查看找到

本文相关文章:
android studio代码混淆(AndroidStudio自带的混淆配置)
2026年9月15日 16:15
linuxbind服务(在Linux系统的服务器中,使用BIND配置域名服务,主配置文件存放在( )中)
2026年9月6日 01:45
eclipse如何配置maven(linux eclipse 怎么配置maven)
2026年9月3日 19:15
idea配置tomcat路径(idea 设置虚拟路径和tomcat配置虚拟目录映射)
2026年7月21日 01:00
cassandra安装(Cassandra与HugeGraph的安装配置)
2026年7月8日 22:15
更多文章:
进制转换的8421法(十进制如何转换成8421码~~请说方法)
2026年5月11日 00:45
线程和进程的区别是什么 面试(linux进程和线程的区别 面试)
2026年1月20日 03:15
rabbitmq最新版本(rabbitmq3.8.2安装步骤及集群配置)
2025年11月21日 11:00
易语言源码打开停止工作(同样一个易语言源码,为什么在我的电脑上运行就卡死,在别人的电脑上运行是正常的)
2026年5月15日 01:30
powershell快捷键打开(windows10的控制面板在哪里找)
2026年8月7日 07:15
oracle数据库完整性(oracle添加记录的时候提示违反完整性约束,未找到父项关键字怎么解决)
2025年10月15日 22:30
java找不到工作想去送快递了(昌平北大青鸟分享学Java找不到工作的原因)
2026年8月6日 10:45
后台管理系统模板如何使用(开源网店iWeb Shop的模板管理后台怎么操作有什么值得注意的地方)
2025年10月30日 18:15
高级程序设计语言的主要功能(高级语言的控制结构主要包含什么)
2025年12月8日 19:00
mapreduce的优势(hadoop与传统的关系型数据库(如oracle)相比,有什么优势及劣势)
2026年2月12日 15:00
java交互界面怎么做(北大青鸟java培训:常见交互设计表现形式)
2026年3月23日 04:00
pull together(pull together是什么意思)
2026年1月6日 13:30
substantial变形单词(哪些英语单词可以表达 “重要的” 以及它们的区别)
2026年1月13日 17:00
floor和ceil函数(Math之ceil、floor、round区别)
2026年1月22日 22:30
汉化版eclipse(在汉化版eclipse中编写java程序,无法解析start是什么意思)
2025年8月6日 22:30
interesting怎么读英语(“interesting”怎么读)
2026年5月11日 15:45








