oracle 11g 下listener.ora tnsnames.ora 监听及解析文件
通常情况下,在启用数据库时,一般显示启动监听,随后启动数据库,从而保证监听注册到数据库中。 所以监听文件的配置关系到客户端或者程序是否能连接上数据库;监听有多种方式,一是动态监听,而是静态监听
而tnsnames.ora的配置使用户能够在本机或者远程通过数据库服务名称的方式登录数据库(相当于名称解析)
下面我们列举下linux ,windows 两种和监听相关配置文件书写方式:
1、listener.ora (静态监听)例如
linux
[oracle@db1 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521))
)
)
SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=prod)
(SID_NAME=prod)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
)
)
windows:
LISTENER =
(ADDRESS=(PROTOCOL=TCP)(HOST=192.0.2.154)(PORT=1521))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(SID_NAME=orcl)
(ORACLE_HOME="C:\app\Administrator\product\11.2.0\dbhome_1")
)
)
2、tnsnames.ora
windows和linux配置方式一样,例如
prod =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.2.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prod)
)
)
上面二者配置完成后要想实现本机系统用户登录和远程客户端登录 需要完成sqlnet.ora和本地密码文件orapwORACLE_SID文件
1、不配sqlnet.ora 客户端可以在本地或远程登录
2、配置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=(NTS/ALL/NONE) 三种方式
NTS 用在windows 可以实现本地系统登录和远程密码文件登录 (windows下需要配置此项才能本地系统登录,linux无须配置);
ALL 关闭密码文件验证,采用操作系统验证,远程机器采用密码验证;
NONE 关闭操作系统验证,只能密码文件验证
小结:listener.ora、tnsnames.ora、sqlnet.ora 三个文件涉及数据库本地登陆或远程登录,有负责监听的、负责解析的、还有限制登录的参数 ,日常使用中需要分清三个参数的配置,sqlnet.ora文件可以不配,减少配置错误带来的各种奇怪问题!
Good luck.
yicheng16
22.01.11
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69963467/viewspace-2851745/ ,如需转载,请注明出处,否则将追究法律责任。