千家信息网

listener.ora文件与tnsnames.ora之间的关系

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,listener.ora 文件里面的内容如下:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCO
千家信息网最后更新 2026年11月04日listener.ora文件与tnsnames.ora之间的关系

listener.ora 文件里面的内容如下:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = d10063)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
(GLOBAL_DBNAME = gsid)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = paul)
(GLOBAL_DBNAME = paul)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = paul)
)
)

tnsnames.ora文件内容如下:

PAUL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.163)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = paul)
)
)

PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.163)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gsid)
)
)

SQL> show parameter service_names

NAME TYPE VALUE
------------------------------------ ----------- -----------
service_names string gsid, paul,paultest

由以上可知道 监听器提供静态和动态注册服务名

而tnsnames.ora文件 根据服务名进行客户端连接

而primary这些是连接字符串

C:\Documents and Settings\Paul Yi>lsnrctl status

LSNRCTL for 32-bit Windows: Version 9.2.0.4.0 - Production on 18-DEC-2007 09:47:
21

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=d10063)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Produc
tion
Start Date 18-DEC-2007 09:40:34
Uptime 0 days 0 hr. 6 min. 46 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File D:\oracle\ora92\network\admin\listener.ora
Listener Log File D:\oracle\ora92\network\log\listener1.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=d10063.avocado.local)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
Services Summary...
Service "gsid" has 2 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Instance "paul", status READY, has 1 handler(s) for this service...
Service "paul" has 1 instance(s).
Instance "paul", status READY, has 1 handler(s) for this service...
Service "paultest" has 1 instance(s).
Instance "paul", status READY, has 1 handler(s) for this service...
The command completed successfully

从lsnrctl status 处可以看出

初始化参数设置:instance_name=paul service_names=paul,gsid ,paultest

所以动态注册时也会对外提供三个服务:paul和gsid ,paultest

C:\Documents and Settings\Paul Yi>tnsping primary

TNS Ping Utility for 32-bit Windows: Version 9.2.0.4.0 - Production on 18-DEC-20
07 09:50:59

Copyright (c) 1997 Oracle Corporation. All rights reserved.

Used parameter files:
D:\oracle\ora92\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.1.163)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = gsid)))
OK (0 msec)

所以综上所述:instance_name只有唯一的一个名称,而service_name可以有多个用于tnsnames.ora客户端连接

连接字符串也可以随意取名

对于客户端来说,它不用关心数据库的名字、实例名到底是什么,它只需要知道数据库对外提供的服务名就行了,这个名字可能和实例名一样,也可能不一样。

服务 文件 客户 客户端 内容 动态 名字 字符 字符串 实例 数据 数据库 对外 三个 不用 参数 只有 名称 多个 监听器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华宇互联网科技 奇酷互联网科技 壹账通互联网科技 亿账通互联网科技 广州紫鲸互联网科技 天扬科技互联网广告 金融科技和互联网金融 镁科技互联网资讯平台 成都仁贤领冠互联网科技有限公司 开启互联网科技时代小说 北京三清互联网科技 科技与互联网哪个更好 互联网科技项目计划书材料类 港股科技和互联网 哈尔滨屹滨互联网科技有限公司 元气玛特互联网科技公司是外包吗 东营紫格互联网科技 绵阳真晨互联网科技有限公司 上海旺乐尼互联网科技有限公司 互联网大会出现的黑科技 手磨咖啡 湖北九亚互联网络科技有限公司 蓝思科技飞鸽互联网 兼蜜互联网科技 中国最先进互联网科技公司 宁夏科技产业互联网案例 国大互联网教育科技有限公司薪资 深圳互联网科技的发展 互联网风格科技公司名称 艺电能源互联网科技有限公司招聘
0