如果数据库端设置了SERVICE_NAMES后,监听器应该怎样配置。例如如下一个数据库系统,为数据库设置多个服务名(通过SCOPE=both设置,同时修改了参数文件):
SQL> show parameter service_name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string eygle SQL> alter system set service_names='eygle,julia' scope=both; System altered. SQL> show parameter service_names NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string eygle,Julia
复制
同样在$ORACLE_HOME/network/admin目录下可以找到listener.ora文件,以下是一个监听器文件的典型配置:
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.33.11)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/oracle/product/9.2.0) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = eygle) (ORACLE_HOME = /opt/oracle/product/9.2.0) (SID_NAME = eygle) ) (SID_DESC = (GLOBAL_DBNAME = julia) (ORACLE_HOME = /opt/oracle/product/9.2.0) (SID_NAME = eygle) ) )
复制
监听器文件主要包括两个部分:
第一部分LISTENER信息,这部分包含了监听的协议、地址以及端口等信息。
第二部分SID_LIST_LISTENER信息,这部分信息用于提供对外的数据库服务列表。第一个SID_DESC部分(SID_NAME = PLSExtProc)是数据库缺省就包含的对外部存储过程提供的本地监听,此外两个SID_DESC部分就是对数据库的两个SERVICE_NAMES所设置的监听服务,对于同一个SID对应的数据库,可以对外提供多个服务名供客户端访问。
设置服务名的参数为GLOBAL_DBNAME,当处理客户端连接请求时,监听器首先尝试将GLOBAL_DBNAME和客户端请求中的SERVICE_NAME相匹配;如果客户端连接请求的是SID信息,则Oracle不检查GLOBAL_DBNAME设置,而是对监听器中设置的SID_NAME进行匹配。
启动这个监听器后,可以看到对于不同服务名Oracle所启动的监听信息。首先输出的信息显示了监听器文件地址以及监听日志文件位置(监听器日志在诊断数据库异常或攻击信息时非常有用):
[oracle@jumper admin]$ lsnrctl start LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 16-FEB-2007 16:50:37 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Starting /opt/oracle/product/9.2.0/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 9.2.0.4.0 - Production System parameter file is /opt/oracle/product/9.2.0/network/admin/listener.ora Log messages written to /opt/oracle/product/9.2.0/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.33.11)(PORT=1521)))
复制
最后部分包含了启动的相关服务信息,本例包含三个服务:
Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "eygle" has 1 instance(s). Instance "eygle", status UNKNOWN, has 1 handler(s) for this service... Service "julia" has 1 instance(s). Instance "eygle", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
778次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
657次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
583次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
541次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
527次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
507次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
490次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
462次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
379次阅读
2025-05-05 19:28:36
TA的专栏