日期:2014-05-16  浏览次数:20394 次

Oracle客户端的安装与远程连接配置

在继续Oracle客户端的安装之前,需要分析一下Oracle客户端与数据库服务器之间的连接机制。

一、Oracle客户端与服务器端的通讯机制

??? 1、Oracle Net协议

??? 如下图所示,Oracle通过Oracle Net协议实现客户端与服务器端的连接以及数据传递。Oracle Net是同时驻留在Oracle数据库服务器端和客户端上的一个软件层,它封装了TCP/IP协议,负责建立与维护客户端应用程序到数据库服务器的连接。

????? 如下图所示,客户端发出的请求首先通过Oracle Net协议转换,转换成可以通过网络传输的信息,通过TCP/IP网络将请求传输到数据库服务器端;服务器端接受到客户请求后要通过Oracle Net协议转换,将请求转换成数据库可以解释执行的本地指令,并在服务器端执行(主要是一些输入输出操作),并将结果通过TCP/IP协议和Oracle Net协议传输给客户端显示。?????????

?

??? 2、客户端与服务器端的连接过程

??? 在分析客户端与服务器端的连接机制之前,先要定义两个概念,一个是Oracle监听器,一个是Oracle网络服务名。

??? Oracle数据库服务器通过一个名为“Oracle Net监听器”的组件接收来自客户端的连接请求。监听器是位于服务器端的一个后台进程,发送给数据库的客户端连接请求,首先被服务器端的监听器所侦听,并将请求所转交给对应的数据库实例,从而建立起客户端与服务器的连接。连接建立后,客户端与服务器端就可以直接进行通讯,不再需要监听器参与。

??? 要实现监听器对客户请求的监听,需要对监听器进行配置,包括监听端口、监听器所在数据库的全局数据库名称、数据库实例等信息。

??? Oracle网络服务名是一个标识符,它代表着客户端连接服务器的配置信息(实际上就是连接请求的内容),包括数据库主机地址、监听端口、全局数据库名称等内容((有关全局数据库、数据库实例等,请参考Oracle数据库安装部分)。

?

??? 如图所示,客户端与服务端的连接过程为:

?? (1)首先在服务器端有一个常驻的监听器(监听服务要打开)监听客户端发出的连接请求。
?? (2)用户在客户端(企业服务器或SQL工具)输入用户名、口令及网络服务名,或在SQL命令行中输入类似“CONNECT username/password@net_Service_name”的类似请求。
?? (3)客户端查看网络服务配置文件tnsname.ora,将网络服务名映射为包含Oracle服务器地址、监听端口和全局数据库名的连接描述符。
?? (4)客户端根据连接描述符定位监听器,并通过网络将连接信息传递给监听器。
?? (5)监听器查询监听配置文件listener.ora,找出所要连接的数据库服务器。
?? (6)客户机和服务器开始通信。

二、监听器配置

??? 1、添加和配置监听器

??? 如下图所示使用Oracle Net Configuration Asistant工具添加并配置服务器的监听器:

?


??? 监听程序配置完成后,数据库系统会自动启动该监听器。

??? 添加和配置监听器后也可以使用Oracle Net Manager工具查看和修改监听器配置,如监听位置、监听器所服务的全局数据库名称等。如下图所示:


?

??? 对于本安装,监听器配置信息记录在E:\Oracle_Server\oracle\ora92 etwork\admin\listener.ora文件中。其主要内容如下:

?? LISTENER =
???? (DESCRIPTION_LIST =
?????? (DESCRIPTION =
???????? (ADDRESS_LIST =
??????????? (ADDRESS = (PROTOCOL = TCP)(HOST = tsinghua-p5z3mm)(PORT = 1521))
???????? )
?????? )
???? )

?? SID_LIST_LISTENER =
??? (SID_LIST =
????? (SID_DESC =
??????? (SID_NAME = PLSExtProc)
????????? (ORACLE_HOME = E:\Oracle_Server\oracle\ora92)
??????????? (PROGRAM = extproc)
??????? )
??????? (SID_DESC =
????????? (GLOBAL_DBNAME = mydb.bawei)
??????????? (ORACLE_HOME = E:\Oracle_Server\oracle\ora92)
????????????? (SID_NAME = mydb)
????????? )
??????? )

三、客户端工具的安装与网络服务的配置

??? 可以在不同于数据库主机的其它机器安装客户端工具,并通过配置客户端网络服务,连接到数据库服务器。客户端安装与配置过程如下图所示(本安装将客户端安装在了与数据库同一台机器的不同目录中,模拟远程访问数据库的情况):

?? 在安装了客户端并配置了客户端网络服务名之后就可以从客户端工具登录和访问远端数据库服务器了。对于本安装,客户端网络服务配置记录在E:\Oracle_Client\oracle\ora92 etwork\admin\tnsnames.ora文件中,其主要内容如下:

??? REMOTEDB =
???? (DESCRIPTION =
?????? (ADDRESS_LIST =
???????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.6)(PORT = 1521))
?????? )
?????? (CONNECT_DATA =
???????? (SERVICE_NAME = mydb.bawei)
?????? )
???? )