sqlnet.ora tnsname.ora listener.ora 的作用

sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数.
tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数
listener.ora 用在oracle server端,配置oracle服务端程序的监听参数

一、客户端设置
1.sqlnet.ora
通过这个文件来决定怎样找一个连接中出现的连接字符串


示例文件:
# sqlnet.ora Network Configuration File: 安装盘符:oracleproduct10.2.0client_1networkadminsqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME, ONAMES)

SQLNET.AUTHENTICATION_SERVICES= (NTS)----这个表示采用OS认证,在数据库服务器上,可以利用sqlplus / as sysdba。
一般这个配置在windows上是ok的,在unix环境下可能会有问题,一般在unix下可以去掉这个配置。
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES)----表示将首先利用tnsnames进行解析;如果tnsnames解析不到,将使用hostname解析;如果hostname解析不到,将采用onames进行解析;例如我们客户端输入:sqlplus test1/test1@test ,那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.
如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的IP地址然后去连接这个IP上global_name=test这个实例,当然我这里orcl并不是一个主机名。


2.tnsnames.ora
这个文件放在客户端机器上,记录客户端访问数据库的本地配置,其实就是定义网络服务,只有当sqlnet.ora中有"NAMES.DIRECTORY_PATH= (TNSNAMES)"这样的字样时,也就是客户端解析连接字符串的顺序中有TNSNAMES时,才会尝试使用这个文件。

示例文件:
# tnsnames.ora Network Configuration File: 安装盘符:oracleproduct10.2.0client_1networkADMINtnsnames.ora
# Generated by Oracle configuration tools.

test_link = //网路服务名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 108.108.108.108)(PORT = 1521))//访问数据库使用的协议,数据库计算机的主机名或IP地址,数据库的端口号
)
(CONNECT_DATA =
(SID = test) //数据库实例名
)
)

二、服务器端设置listener.ora
它是listener监听器进程的配置文件。关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。


示例文件:
# listener.ora Network Configuration File: 安装盘符:oracleproduct10.2.0client_1networkadminlistener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =//这里定义LISTENER进程为哪个实例提供服务
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:oracleproduct10.2.0db_1)
(PROGRAM = extproc)
)
)

LISTENER =//监听器的名字,一台数据库可以有不止一个监听器
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))//监听器监听的协议,IP,端口等
(ADDRESS = (PROTOCOL = TCP)(HOST = dabeng)(PORT = 1521))
)
)详细出处参考:http://weiyingjun.blog.hexun.com/40348731_d.html

总结:

sqlnet.ora 类似于操作系统的/etc/netsvc.conf文件,里面对解析的优先顺序进行编排

tnsname.ora类似于操作系统的/etc/hosts文件,本地将TNS名解析为目标IP地址及Service-Name

listener.ora类似于操作系统的/etc/services文件,里面定义了监听的端口、服务名等

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12262773/viewspace-1046212/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12262773/viewspace-1046212/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值