千家信息网

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

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,listener.ora 文件里面的内容如下:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCO
千家信息网最后更新 2025年02月06日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安全错误 数据库的锁怎样保障安全 软件开发平台价格表 arcmap地理数据库怎么导入 汕尾虚拟服务器管理软件 云计算中包含哪些网络技术 dnf手游服务器繁忙进不去 软件开发同样的问题反复出现 数据库的select show 普陀区参考数据库服务价钱 陕西项目软件开发服务商 方舟一直尝试加入服务器 笔记本搭建服务器配置公网域名 查找数据库表的所属表空间 ftp 服务器搭建 监狱网络安全管理上夜班吗 达梦数据库到期 计算机网络技术专业学的内容 软件开发 30以上 数据库设备授权记录表的名称 韩国的网络技术 服务器管理员密码取消 vivo账号服务器连不上 公安 防控网络安全 如何在万方数据库阅读论文 魔兽怀旧服无缘无故与服务器断开 网络安全预警分几种 循环备份数据库表 江苏浪潮服务器维修维保哪家好 网络安全形势 网络情报 村居开展网络安全宣传活动 长虹电视连不上服务器
0