目前,随着经济的发展,电信、银行、交通以及其它大规模企事业单位的业务需求越来越复杂,很多企业的发展壮大以及由于公司合并重组等原因,使得这些大规模单位的数据库网络变得越来越复杂。应用在这些领域内的分布式数据库系统要满足日益膨胀的业务需求,必须对其数据库网络做出很好的规划设计。Oracle数据库提供了卓越的跨平台功能,根据系统的软硬件以及网络体系结构和通信协议的具体情况,做出合理的配置,Oracle就能显示出在大型数据库系统中的优越性能。
1 Oracle Net网络的体系结构
1.1 Oracle Net网络的组成
Oracle Net网络的基本组成部分一般包括服务器和客户机两部分,这里的服务器不是物理意义上的服务器,而是指逻辑服务器,即某种特殊类型的软件。
图一 Oracle Net网络体系结构
银行系统、电信系统等这样的复杂网络,网络内部可能存在不同操作系统的数据库服务器和客户机的子系统,子网之间又是由不同的远程网络连接而成,各子网内部的客户机与服务器的连接采用的协议也可能不同。
1.2 Oracle Net联网协议
Oracle Net网络能够跨越不同的操作系统,是因为采用了一致的通信协议。Oracle 8i以前该协议称为SQL Net协议,在Oracle 8/8i中,称为Net8协议,在Oracle 9i中被称为Net协议。正是因为这个原因,Oracle 9i数据库网络被称为Oracle Net网络。
图二所示是Oracle Net网络通信协议结构,各层具体作用在此不做详细说明,可参阅相关资料。
图二 Oracle Net网络协议结构
2 Oracle Net基于目录服务器的网络应用解决方案
目前,Oracle Net网络应用解决方案,采用的比较多的有两种,一是客户机/服务器方案,二是基于名字服务器的方案。对于相对简单的网络,一般采用客户机/服务器方案;复杂一些的网络,为了便于集中管理,采用基于名字服务器的方案。这里提出的基于目录服务器的方案,不仅能集中管理网络服务名的解析,还能够对用户的账号、口令和角色等信息进行集中式管理,适合于复杂的网络数据库系统,而且,在这种方案中,客户机的配置非常简单。
2.1基于目录服务器的网络结构
基于目录服务器的网络解决方案如图三所示,下面对各部分作简要说明。
图三 Oracle Net基于目录服务器的网络结构
(1)数据库服务器:安装Oracle 9i数据库系统,安装完毕后需要在目录服务器上完成注册。
(2)目录服务器:安装目录服务软件,集中管理相应网络中所有的数据库服务器的注册信息,为客户机提供网络服务名解析服务。目录服务器采用专门协议LDAP。
(3)客户机:安装客户端应用程序和连接工具,指定使用目录服务器解析网络服务名。
(4)管理工作站:安装管理客户端工具,管理员在此执行对数据库的Et常管理维护,对数据库网络服务名的解析也通过目录服务器进行。
2.2服务器和客户机的处理
在这种方案下,网络中的服务器和客户机的功能配置如下:
(1)数据库每次修改配置或添加新的服务器,都需要在目录服务器上完成注册。
(2)目录服务器上保存全局数据库名称及地址、其他目录服务器的名称及地址,这样可以层层解析,也可以包含数据库的用户名、口令和角色信息以及其他名字服务器信息。
(3)每台客户机上连接到特定的目录服务器,同过目录服务器获得信息后,直接通过网络向数据库服务器发出连接请求。
3 基于目录服务器的网络应用方案实施
3.1安装目录服务器
目录服务器软件集成在Oracle 9i的安装光盘中,在大型实用数据库网络中,一般将该软件单独安装在另外一台单独的服务器上,作为专门的目录服务器。如果将目录服务器跟数据库安装在同一服务器上(Oracle 9i默认安装时,已经安装了目录管理器),两者可以使用不同的TCP端口提供服务。
安装过程中需要注意下面几点,这里以单独安装Oracle9i(9.0.1版)为例加以说明。Oracle9i(9.2.0版)情况一样,只是各组件的版本号不同。
(1)启动安装向导,选择“Oracle 9i Managementand Internet 9.0.1.0.1”,下一步选择自定义安装,选择组件“Oracle Internet Directory 3.0.1.0.1”,这就是目录服务器对应的组件。
(2)选择不使用现有例程,输入全局数据库名“dir.mynet",使用默认安装目录。
(3)选择OlD口令加密,用户口令的散列算法使用默认选择即可,OID大小根据网络具体情况而定。
安装成功后,目录服务器将作为后台服务启动(默认为自动启动),可以在控制面板中查看。本例对应的服务名为“OracleDirectoryServicedir”。
3.2用Net Manager对目录服务器进行基本管理
启动Net Manager,在管理目标导航器中选择“服务命名”,单击“创建”按钮(图标“+”),将在目录服务器上创建一条解析信息。目录服务器的默认管理员为“cn=orcladmin”,口令为“welcome”。认证成功后,在欢迎界面上输入网络服务名,选择“TCP/IP”协议,按提示填好数据库服务器主机名及端口号,测试连接。如果连接成功,在目录服务器中就创建了一条信息;如果客户机通过目录服务命名方法,请求的网络服务名是这里给出,目录服务器就能解析到正确的数据库服务器。
3.3 Oracle Directory Manager的高级管理功能
Net Manager只能对目录服务器的网络服务名进行管理,要对目录服务器进行全面管理,需要使用专门的目录服务器管理工具—— “Directory Manager”。本例有了上述Net Manager的配置,目录服务器已经可以对客户机连接请求进行网络服务名的解析了。下面简单介绍一下“Directory Manager”的管理功能:
(1)访问控制管理:管理若干个访问控制点,包含存储在条目自身内的安全指令,其安全性可以下传至目录树中较低点的所有条目。
(2)条目管理:按条目的属性和属性值管理条目。
(3)服务器管理:管理所有活动的目录服务器的例程类型、例程号、调试级别和主机名、最大数据库连接数和子进程数等,还可以管理复制服务器和集成服务器等。
(4)方案管理:用于添加新的对象类和更改现有对象类,对象类是由属性组成的组。
(5)审核日志管理:对审计日志进行管理。
3.4配置客户机
对客户机的配置有两个主要操作:
(1)目录使用配置
启动Net Configuration Assistant程序,选择“目录使用配置”,按提示进行配置,这里目录类型选择“Oracle Intemet Directory”。设置目录服务器信息处,主机名填写安装了目录服务器的服务器网络标识或其IP地址,默认端口为389。如果使用了SSL协议安全高级选项,其默认端口为636。
配置工具如果跟指定的目录服务器连接成功,客户机就能使用目录服务器完成各种目录功能,包括使用“Oracle Database Configuration Assistant”向目录中注册数据库服务,以及通过目录命名方法连接到数据库等。
(2)命名方法配置
目录使用配置完成后,还需要修改客户机的命名方法,这样客户机提交连接请求时首先使用目录服务来解析网络服务名。
启动Net Configuration Assistant程序,选择“命名方法配置”,按提示进行配置即可。
这一步其实是修改命名方法配置文件sqlnet.ora,同时建立一个名为ldap.ora的目录服务配置文件。客户机如果发出和服务器的连接请求,先到sqlnet.ora中询问连接方法,即使用目录命名方法,然后在ldap.ora中查找目录服务器的信息。目录服务器监听389端日,发现有客户机解析请求,就到自己的信息数据库中查找相关匹配记录,反馈给客户机,客户机就知道数据库服务器的位置了。
3.5通过目录服务器登录数据库
启动SQL Plus Worksheet,用SYSTEM用户以Normal身份登录,选择直接连接到数据库,服务名选择用3.2中Net Manager所设置的网络服务名,将出现连接成功的提示信息,这说明,目录服务器正确解析了客户机的请求。如果SYSTEM用户以SYS-DBA身份登录,必须先在目录服务器中为它设置权限,否则会出现权限不够的提示,不能登录。
4 结束语
在大型Oracle Net的规划设计中,采用基于目录服务器的应用方案,目录服务器将集中管理网络服务命名解析、用户和角色信息,为管理带来极大的方便。但是,集中式解析也存在一个弊端,就是目录服务器的安全和可用性是整个网络的命脉,如果目录服务器不能正常工作,整个数据库网络就会处于瘫痪状态,所以保证目录服务器的高可用性对于整个网络至关重要。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于目录服务器的OracleNet应用