oracle 常用的3个配置文件解析:
我们先将这三个配置文件分分类。sqlnet.ora,tnsnames.ora属于客户端,listener.ora属于服务器端。
第一类,客户端文件:sqlnet.ora,tnsnames.ora
在我们上面的操作过程中,我们使用了以下的语句:
“I_AM_SERIVCE”不是一个“服务”的名字,但是至于这个名字有什么内涵。我们需要oracle客户端做出解释。(注意:这里的oracle客户端指的是oracle客户端软件对应的进程集)
oracle客户端是这样子完成对“I_AM_SERIVCE”这一个名字作出解释的:
步骤一:
查看sqlnet.ora配置文件,内容如下:
NAMES.DIRECTORY_PATH = (TNSNAMES ,HOSTNAME ,EZCONNECT )
其中第二个条目NAMES.DIRECTORY_PATH,从左至右,指示首先由哪些文件来解释名字。
如上面的例子,就是指示,先由TNSNAMES.ora文件,然后是客户端所在系统的hosts文件……解释名字
步骤二:
因为,sqlnet.ora文件指出先由TNSNAMES.ora文件解释。
我们查看TNSNAMES.ora文件,里面关于“I_AM_SERIVCE”有以下的内容:
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP )(HOST = 127. 0. 0. 1) (PORT = 1521) )
(CONNECT_DATA =
(SERVER = DEDICATED )
(SERVICE_NAME = mzoa )
)
)
在这里我们可以清晰看到关于这个“I_AM_SERIVCE”的名字的详细信息了。通过这个名字,我们可以请求数据库服务器所在地址:127.0.0.1,“服务”的名字是“mzoa”。
而端口号:1521正是我们这篇文章的主人公监听器(listener)正在监听的端口号。
通过以上信息,我们可以知道客户端的请求可以通过访问服务器“服务”的形式发送到监听器(listener)上。
第二类,服务器端:listener.ora。
内容以及解释如下:
# Generated by Oracle configuration tools.
#下面定义监听器(LISTENER)进程为哪个实例提供服务
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC )(KEY = EXTPROC1521 ))
(ADDRESS = (PROTOCOL = TCP )(HOST = 127. 0. 0. 1) (PORT = 1521) )
(ADDRESS = (PROTOCOL = TCP )(HOST = SuDa - 20110705FF) (PORT = 1521) )
)
)
ADR_BASE_LISTENER = D :\app\Administrator