1.引言
随着企业信息化建设不断深入,陆续上线实施了OA、PDM、ERP、人力资源管理、财务管理、DNC、制造执行(MES)、成本管理、供应链(SRM)等系统,这些系统使用不同的数据库,主要分属于Oracle数据库和MSSQLServer数据库。由于上线实施分属于不同时期、不同厂商的系统,系统与系统之间相互孤立,信息孤岛比较突出,这一因素的存在,在一定程度上制约并影响着企业信息化后续的发展。系统集成如何实现,数据中心如何构建,本文将紧密围绕这两个问题展开论述,为企业信息化建设开启一个更广阔的思路。
2.数据集成与数据中心思路
系统集成的本质是数据集成,分布于网络内相互独立的各个物理数据库(OA数据库、PDM数据库、ERP数据库、HR数据库、NC数据库等),逻辑上可以看成为一个相对统一的大型数据库系统,这个相对统一的大型数据库系统内部间的数据库与数据库之间采用DataBaseLink建立互联互通,业务应用系统通过DataBaseLink实现对各数据库数据的直接访问,从而实现业务应用系统之间的协同处理不在区分彼此,达到数据共享通用的目的。
数据中心它笼络的是企业的核心数据,这些数据源于业务应用系统数据库,由业务应用系统产生、维护与管理,数据中心的作用是将离散于各业务应用系统数据库内、而又面向公共服务的数据,按照内在的联系,有机的组织并存储在一起。数据中心是各业务应用系统内有效版本数据的副本,与业务应用系统内的源数据同生命周期,构建数据中心的目的就是为近一步实现或增强各业务应用系统间数据的开放性、业务数据组织的灵活性和业务数据使用的直观性。数据中心基于Oracle11G物化视图技术构建,通过DataBaseLink把离散于各业务应用系统内相互关联的业务数据集中存储于物化视图,形成企业数据中心。
3.企业数据中心架构
通过Oracle数据库物化视图技术构建数据中心数据库,采用DataBaseLink技术把企业内部各业务应用系统数据库联接起来,构建企业互联互通的数据中心系统。基于Oracle数据库的DataBaseLink技术与物化视图技术的企业数据中心架构如下图所示。
图1 企业数据中心架构
4.关键技术与应用方法
企业实施的业务应用系统大多采用Oracle数据库或MSSQLServer数据库,这类数据库建立于关系数据模型的基础之上,就是我们常说的关系型数据库。关系型数据库最大的优点就是可以让我们采用数据之间的相互关联关系来实现不断变化的查询需求,从而更加灵活的实现业务应用系统对数据的处理、保存、分析与挖掘,让企业通过数据实现更大的价值追求。
企业数据中心与集成架构主要应用了基于Oracle11g数据库的两项关键技术:DataBaseLink技术与物化视图技术。
4.1 基于Oracle11g的DataBaseLink技术
DataBaseLink在数据库中被描述为一个Link对象,数据库之间建立Link对象后,数据库之间就建立了一条数据互访通道,可以简单理解为数据访问通讯通道。如企业数据中心架构图中所示,在OA数据库与PDM数据库分别建立PDM_LINK对象和OA_LINK对象,那么就可以在OA数据库中通过PDM_LINK对象直接访问PDM数据库中的数据,同时也可以在PDM数据库中采用OA_LINK对象直接访问OA数据库中的数据。
Oracle数据库创建DataBaseLink的语法如下:
CREATE[PUBLIC]DATABASELINKLINK_NAME
CONNECTTOUSERNAMEIDENTIFIEDBYPASSWORD
USING‘CONNECTSTRING’
说明:
1)“LINK_NAME”即为语法中创建的LINK对象的对象名称;
2)“USERNAME”与“PASSWORD”指登录远程数据库的账号与密码,LINK对象一旦创建成功,在系统内隐式的显示密码;
3)“CONNECTSTRING”在本地创建的远程数据库服务名,采用OracleNetManager工具创建,其中包括了远程数据库实例名、主机地址、TCP/IP协议端口等信息。
经过反复实验并进行经验总结,DataBaseLink要成功创建LINK对象,必须满足以下条件:
1)创建“LINK_NAME”对象时,当前用户须具备CreateDATABASELINK权限;
2)“USERNAME”为远程数据库用户,须具备CreateSession权限、CONNECTION权限,为确保业务应用系统数据安全,在满足其它业务应用系统数据访问需求的基础上,应严格控制访问权限和访问范围;
3)创建“LINK_NAME”对象时,若不指定用户与密码,则采用当前账号与密码访问远程数据库;
4)数据库全局服务名参数必须设置为FALSE,具体方法如下:
ALTERSYSTEMSETGLOBAL_NAMES=FALSE;(注意:修改此参数须重启数据库才能生效)
4.2 基于Oracle11g的物化视图技术
物化视图是一种特殊的视图对象,与普通视图相比较,物化视图具有物理存储空间,可以像表对象一样,能够存储数据。物化视图是基于Oracle10g在普通视图基础上产生的一项新技术,Oracle11g继承了这项技术,并将它优化完善后形成一套技术规范。
Oracle数据库创建物化视图的语法如下:
CREATEMATERIALIZEDVIEWMT_VIEW
BUILDIMMEDIATE
REFRESHFASTONCOMMIT
ENABLEQUERYREWRITE
AS
SELECTTABLE01_NAME.DEPARTNO,TABLE02_NAME.FUNCTIONARY
FROMTABLE01_NAME,TABLE01_NAME
WHERETABLE01_NAME.DEPARTNO=TABLE02_NAME.DEPARTNO
说明:
1)“MATERIALIZED”创建物化视图的关键字,如不带此关建字,那么创建的就是一个普通视图对象;
2)“MT_VIEW”即为语法中创建的物化视图对象名称;
3)“BUILDIMMEDIATE”表示立即创建物化视图,与立即对应的就是延时,使用“BUILDDEFFERED”参数;
4)“REFRESHFASTONCOMMIT”说明刷新数据的类型为“FAST”类型,即快速刷新;
5)“ENABLEQUERYREWRITE”说明启用查询重写功能。
经过反复实验并进行经验总结,要成功创建物化视图对象,必须满足以下条件:
1)创建物化视图的数据库账号须具备CREATEMATERIALIZEDVIEW权限、QUERYREWRITE权限、CREATEANYTABLE权限、SELECTANYTABLE权限等;
2)数据库必须启用查询重写技术,具体方法如下:
ALTERSYSTEMQUERY_REWRITE_ENABLED=TRUE;(同样必须重启才能生效)采用物化视图具有以下优点:
1)数据仓库服务应用
针对基表或视图中海量的数据,企业往往都有统计分析、汇总等需求,如果每次都是基于海量的数据开展统计查询,那么将极大影响的查询效率,让用户处于未知时间的等待中,从而造成用户体验感也极差,通过物化视图,把用于统计、汇总、计算等发布的数据存储到物化视图中,用户访问只需简单的查询物化视图就可以得到同样的结果,从而更加快捷的支持决策。
2)分布式环境应用
由于物化视图具有查询重写功能,它能够基于源表或视图通过不断刷同步数据,因此可以适应分布式环境,把数据分布到不同的物理空间中,更好的响应用户的查询。
5.企业数据中心构建规范
5.1 业务应用系统数据库创建通用数据库用户
在每个业务应用系统数据库中创建统一名称的数据库用户,并设置符合满足复杂度要求的密码,此用户与密码用于远程数据库通过LINK对象访问本地数据库时,提供凭据验证。创建用户与授权方法如下:
1)在HR数据库中创建远程访问用户
SQLPLUS/NOLOG
CONN***/*********@HRASSYSDBA
CREATEUSER‘USERNAME’
IDENTIFIEDBY‘PASSWORD’DEFAULTTABLESPACE‘TABLESPACE_NAME’
TEMPORARYTABLESPACE‘TEMP_TABLESPACE_NAME’
ACCOUNTUNLOCK
COMMIT;
2)为创建的远程访问用户授权
GRANTCONNECTTO‘USERNAME’WITHGRANTOPTION;
GRANTRESOURCETO‘USERNAME’WITHGRANTOPTION;
GRANTSELECTON‘TABLE_NAME’TO‘USERNAME’WITHGRANTOPTION;
COMMIT;
值得说明的是,针对创建的“USERNAME”用户,应该依据需求制定严格的访问控制,为了确保数据安全,有必要建立一张权限控制表,通过权限控制表能够清楚的查看到该用户权限与访问范围。
5.2 业务应用系统数据库创建DataBaseLink对象
在HR数据库与NC数据库中分别创建NC_LINK对象与HR_LINK对象,实现HR数据库与NC数据库之间数据的相互访问与数据共享。具体方法如下:
SQLPLUS/NOLOG
CONN***/*********@HRASSYSDBA
CREATEPUBLICDATABASELINKNC_LINK
CONNECTTO‘USERNAME’INDETIFIEDBY‘PASSWORD’
USING‘NC’
CONN***/*********@NCASSYSDBA
CREATEPUBLICDATABASELINKNR_LINK
CONNECTTO‘USERNAME’INDETIFIEDBY‘PASSWORD’
USING‘HR’
5.3 在本地数据库实现访问远程数据库
建立了DataBaseLink对象后,即建立了数据库间的数据访问通道,就可以在数据库间相互访问数据。如在NC数据库中访问HR数据库中的人员组织结构数据,方法如下:
SQLPLUS/NOLOG
CONN***/*********@NCASSYSDBA
SELECT*FROMhr_interface@HR_LINKORDERBYdeptcodeASC;
执行后就可以查看到HR数据库中关于人员组织结构的数据。以下使用SQLPLUS工具可以更直观的看到相应的结果。
图2 通LINK访问HR数据库中的人员组织结构数据
5.4 通过物化视图构建核心数据公用数据库
创建“DATACENTER01”公用数据库(不在本文范围内,略过),通过物化视图将PDM系统内有关产品信息的数据存储到“DATACENTER01”公用数据库中,公用数据库由企业自己把握、维护与管理,当涉及新实施的业务应用系统需要获取PDM系统中的产品数据时,新实施的业务应用系统无须与PDM系统建立联系实施集成,可直接通过数据库底层LINK技术访问“DATACENTER01”公用数据库,就可以有效的获取产品数据。实施方法如下:
1)在“DATACENTER01”公用数据库创建“DATACENTER”名称的LINK对象
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
CREATEPUBLICDATABASELINKDATACENTER
CONNECTTOPDM
USING‘KMPDM’
通过SQLPLUS工具可以直接的查看到结果如下:
图3 创建LINK对象
2)创建物化视图“SFC_PROCESS_INTEGRATION”,通过LINK对象,将PDM数据库中的产品工艺进程信息存储到物化视图“SFC_PROCESS_INTEGRATION”中。实施方法如下:
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
CREATEMATERIALIZEDVIEWSFC_PROCESS_INTEGRATIONAS
SELECT*FROMSFC_PROCESS_INTEGRATION@DATACENTER
通过SQLPLUS工具可以直接的查看到结果如下:
图4 创建的SFC_PROCESS_INTEGRATION物化视图
3)在“DATACENTER01”公用数据库中查询产品工艺进程数据
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
SELECT*FROMSFC_PROCESS_INTEGRATION;
执行后就可以查看到物化视图“SFC_PROCESS_INTEGRATION”中存储的产品工艺进程数据。使用SQLPLUSA工具可以更直观的看到相应的结果。
图5 查询物化视图“SFC_PROCESS_INTEGRATION”中的数据
6.结论
通过上述思路构建企业数据中心系统,一方面较好的实现了业务应用系统间数据的相互访问与共享,同时实现了牢牢将涉及企业核心的数据(产品数据、物料编码数据、人员结构数据)掌握在企业自身手中,有效避开了对系统厂商的依赖与限制,既节省了企业成本,为后续业务应用系统数据集成建立顺畅的通道;同时这种方式也适用于现有业务应用系统,使现有业务应用系统在不做较大的改动的前提下,也能够有效的实现补足,使业务应用系统在现有基础上发挥更大的价值。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/