(完整)Listener.ora、sqlnet.ora、tnsnames.ora三个配置文件区别

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Listener。ora、sqlnet。ora、tnsnames.ora三个配置文件区别

分类:Oracle

2014-10—30 10:57:36

Listener.ora、sqlnet.ora、tnsnames。ora三个配置文件区别

listener。ora、sqlnet.ora、tnsnames。ora ,都是放在$ORACLE_HOME\network\admin目录

[oracle@testdb1 ~]$ cd /app/oracle/ora11g/network/admin

[oracle@testdb1 admin]$ ll

total 16

—rw-r—-r-—。 1 oracle oinstall 162 Oct 22 14:35 listener。ora

drwxr—xr—x. 2 oracle oinstall 4096 Jul 10 07:10 samples

—rw—r-—r--。 1 oracle oinstall 381 Dec 17 2012 shrept.lst

-rw-r——r—-。 1 oracle oinstall 367 Oct 22 14:33 tnsnames.ora

[oracle@testdb1 admin]$

三个文件的作用和使用

##########################################

sqlnet.ora--——-作用类似于linux或者其他unix的nsswitch。conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串,

例如我们客户端输入

sqlplus sys/oracle@orcl

假如我的sqlnet。ora是下面这个样子

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES。DIRECTORY_PATH= (TNSNAMES,HOSTNAME)

那么,客户端就会首先在tnsnames.ora文件中找orcl的记录。如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去

解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名

如果我是这个样子

NAMES。DIRECTORY_PATH= (TNSNAMES)

那么客户端就只会从tnsnames.ora查找orcl的记录

括号中还有其他选项,如LDAP等并不常用.

#########################################

Tnsnames.ora—-——--这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet。ora 中类似

NAMES。DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。

例子中有两个,ORCL 对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接,

一句一句说

#你所要连接的时候输入得TNSNAME

[oracle@testdb1 admin]$ cat tnsnames。ora

testdb1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.235)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = testdb1) #show parameter service_name;

)

)

testdb2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192。168。9。236)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = testdb2) #show parameter service_name;

客户端完了我们来看服务器端

listener。ora—-———-listener监听器进程的配置文件

关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的

连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。Listener。ora文件的例子

[oracle@testdb1 admin]$ cat listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192。168。9。235)(PORT = 1521)) )

)

#监听器的名字,一台数据库可以有不止一个监听器

上面的例子是一个最简单的例子,但也是最普遍的。一个listener进程为一个instance(SID)提供服务。

多实例监听:

[oracle@testdb3 admin]:testdb1> cat listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192。168.9.235)(PORT = 1521)) )

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = testdb1)

(ORACLE_HOME = /app/oracle/ora11g)

(SID_NAME = testdb1)

(SID_DESC =

(GLOBAL_DBNAME = testdb3)

(ORACLE_HOME = /app/oracle/ora11g)

(SID_NAME = testdb3)

)

)

相关文档
最新文档