1.引言
隨著企業(yè)信息化建設不斷深入,陸續(xù)上線實施了OA、PDM、ERP、人力資源管理、財務管理、DNC、制造執(zhí)行(MES)、成本管理、供應鏈(SRM)等系統(tǒng),這些系統(tǒng)使用不同的數(shù)據(jù)庫,主要分屬于Oracle數(shù)據(jù)庫和MSSQLServer數(shù)據(jù)庫。由于上線實施分屬于不同時期、不同廠商的系統(tǒng),系統(tǒng)與系統(tǒng)之間相互孤立,信息孤島比較突出,這一因素的存在,在一定程度上制約并影響著企業(yè)信息化后續(xù)的發(fā)展。系統(tǒng)集成如何實現(xiàn),數(shù)據(jù)中心如何構建,本文將緊密圍繞這兩個問題展開論述,為企業(yè)信息化建設開啟一個更廣闊的思路。
2.數(shù)據(jù)集成與數(shù)據(jù)中心思路
系統(tǒng)集成的本質是數(shù)據(jù)集成,分布于網(wǎng)絡內(nèi)相互獨立的各個物理數(shù)據(jù)庫(OA數(shù)據(jù)庫、PDM數(shù)據(jù)庫、ERP數(shù)據(jù)庫、HR數(shù)據(jù)庫、NC數(shù)據(jù)庫等),邏輯上可以看成為一個相對統(tǒng)一的大型數(shù)據(jù)庫系統(tǒng),這個相對統(tǒng)一的大型數(shù)據(jù)庫系統(tǒng)內(nèi)部間的數(shù)據(jù)庫與數(shù)據(jù)庫之間采用DataBaseLink建立互聯(lián)互通,業(yè)務應用系統(tǒng)通過DataBaseLink實現(xiàn)對各數(shù)據(jù)庫數(shù)據(jù)的直接訪問,從而實現(xiàn)業(yè)務應用系統(tǒng)之間的協(xié)同處理不在區(qū)分彼此,達到數(shù)據(jù)共享通用的目的。
數(shù)據(jù)中心它籠絡的是企業(yè)的核心數(shù)據(jù),這些數(shù)據(jù)源于業(yè)務應用系統(tǒng)數(shù)據(jù)庫,由業(yè)務應用系統(tǒng)產(chǎn)生、維護與管理,數(shù)據(jù)中心的作用是將離散于各業(yè)務應用系統(tǒng)數(shù)據(jù)庫內(nèi)、而又面向公共服務的數(shù)據(jù),按照內(nèi)在的聯(lián)系,有機的組織并存儲在一起。數(shù)據(jù)中心是各業(yè)務應用系統(tǒng)內(nèi)有效版本數(shù)據(jù)的副本,與業(yè)務應用系統(tǒng)內(nèi)的源數(shù)據(jù)同生命周期,構建數(shù)據(jù)中心的目的就是為近一步實現(xiàn)或增強各業(yè)務應用系統(tǒng)間數(shù)據(jù)的開放性、業(yè)務數(shù)據(jù)組織的靈活性和業(yè)務數(shù)據(jù)使用的直觀性。數(shù)據(jù)中心基于Oracle11G物化視圖技術構建,通過DataBaseLink把離散于各業(yè)務應用系統(tǒng)內(nèi)相互關聯(lián)的業(yè)務數(shù)據(jù)集中存儲于物化視圖,形成企業(yè)數(shù)據(jù)中心。
3.企業(yè)數(shù)據(jù)中心架構
通過Oracle數(shù)據(jù)庫物化視圖技術構建數(shù)據(jù)中心數(shù)據(jù)庫,采用DataBaseLink技術把企業(yè)內(nèi)部各業(yè)務應用系統(tǒng)數(shù)據(jù)庫聯(lián)接起來,構建企業(yè)互聯(lián)互通的數(shù)據(jù)中心系統(tǒng)。基于Oracle數(shù)據(jù)庫的DataBaseLink技術與物化視圖技術的企業(yè)數(shù)據(jù)中心架構如下圖所示。
圖1 企業(yè)數(shù)據(jù)中心架構
4.關鍵技術與應用方法
企業(yè)實施的業(yè)務應用系統(tǒng)大多采用Oracle數(shù)據(jù)庫或MSSQLServer數(shù)據(jù)庫,這類數(shù)據(jù)庫建立于關系數(shù)據(jù)模型的基礎之上,就是我們常說的關系型數(shù)據(jù)庫。關系型數(shù)據(jù)庫最大的優(yōu)點就是可以讓我們采用數(shù)據(jù)之間的相互關聯(lián)關系來實現(xiàn)不斷變化的查詢需求,從而更加靈活的實現(xiàn)業(yè)務應用系統(tǒng)對數(shù)據(jù)的處理、保存、分析與挖掘,讓企業(yè)通過數(shù)據(jù)實現(xiàn)更大的價值追求。
企業(yè)數(shù)據(jù)中心與集成架構主要應用了基于Oracle11g數(shù)據(jù)庫的兩項關鍵技術:DataBaseLink技術與物化視圖技術。
4.1 基于Oracle11g的DataBaseLink技術
DataBaseLink在數(shù)據(jù)庫中被描述為一個Link對象,數(shù)據(jù)庫之間建立Link對象后,數(shù)據(jù)庫之間就建立了一條數(shù)據(jù)互訪通道,可以簡單理解為數(shù)據(jù)訪問通訊通道。如企業(yè)數(shù)據(jù)中心架構圖中所示,在OA數(shù)據(jù)庫與PDM數(shù)據(jù)庫分別建立PDM_LINK對象和OA_LINK對象,那么就可以在OA數(shù)據(jù)庫中通過PDM_LINK對象直接訪問PDM數(shù)據(jù)庫中的數(shù)據(jù),同時也可以在PDM數(shù)據(jù)庫中采用OA_LINK對象直接訪問OA數(shù)據(jù)庫中的數(shù)據(jù)。
Oracle數(shù)據(jù)庫創(chuàng)建DataBaseLink的語法如下:
CREATE[PUBLIC]DATABASELINKLINK_NAME
CONNECTTOUSERNAMEIDENTIFIEDBYPASSWORD
USING‘CONNECTSTRING’
說明:
1)“LINK_NAME”即為語法中創(chuàng)建的LINK對象的對象名稱;
2)“USERNAME”與“PASSWORD”指登錄遠程數(shù)據(jù)庫的賬號與密碼,LINK對象一旦創(chuàng)建成功,在系統(tǒng)內(nèi)隱式的顯示密碼;
3)“CONNECTSTRING”在本地創(chuàng)建的遠程數(shù)據(jù)庫服務名,采用OracleNetManager工具創(chuàng)建,其中包括了遠程數(shù)據(jù)庫實例名、主機地址、TCP/IP協(xié)議端口等信息。
經(jīng)過反復實驗并進行經(jīng)驗總結,DataBaseLink要成功創(chuàng)建LINK對象,必須滿足以下條件:
1)創(chuàng)建“LINK_NAME”對象時,當前用戶須具備CreateDATABASELINK權限;
2)“USERNAME”為遠程數(shù)據(jù)庫用戶,須具備CreateSession權限、CONNECTION權限,為確保業(yè)務應用系統(tǒng)數(shù)據(jù)安全,在滿足其它業(yè)務應用系統(tǒng)數(shù)據(jù)訪問需求的基礎上,應嚴格控制訪問權限和訪問范圍;
3)創(chuàng)建“LINK_NAME”對象時,若不指定用戶與密碼,則采用當前賬號與密碼訪問遠程數(shù)據(jù)庫;
4)數(shù)據(jù)庫全局服務名參數(shù)必須設置為FALSE,具體方法如下:
ALTERSYSTEMSETGLOBAL_NAMES=FALSE;(注意:修改此參數(shù)須重啟數(shù)據(jù)庫才能生效)
4.2 基于Oracle11g的物化視圖技術
物化視圖是一種特殊的視圖對象,與普通視圖相比較,物化視圖具有物理存儲空間,可以像表對象一樣,能夠存儲數(shù)據(jù)。物化視圖是基于Oracle10g在普通視圖基礎上產(chǎn)生的一項新技術,Oracle11g繼承了這項技術,并將它優(yōu)化完善后形成一套技術規(guī)范。
Oracle數(shù)據(jù)庫創(chuàng)建物化視圖的語法如下:
CREATEMATERIALIZEDVIEWMT_VIEW
BUILDIMMEDIATE
REFRESHFASTONCOMMIT
ENABLEQUERYREWRITE
AS
SELECTTABLE01_NAME.DEPARTNO,TABLE02_NAME.FUNCTIONARY
FROMTABLE01_NAME,TABLE01_NAME
WHERETABLE01_NAME.DEPARTNO=TABLE02_NAME.DEPARTNO
說明:
1)“MATERIALIZED”創(chuàng)建物化視圖的關鍵字,如不帶此關建字,那么創(chuàng)建的就是一個普通視圖對象;
2)“MT_VIEW”即為語法中創(chuàng)建的物化視圖對象名稱;
3)“BUILDIMMEDIATE”表示立即創(chuàng)建物化視圖,與立即對應的就是延時,使用“BUILDDEFFERED”參數(shù);
4)“REFRESHFASTONCOMMIT”說明刷新數(shù)據(jù)的類型為“FAST”類型,即快速刷新;
5)“ENABLEQUERYREWRITE”說明啟用查詢重寫功能。
經(jīng)過反復實驗并進行經(jīng)驗總結,要成功創(chuàng)建物化視圖對象,必須滿足以下條件:
1)創(chuàng)建物化視圖的數(shù)據(jù)庫賬號須具備CREATEMATERIALIZEDVIEW權限、QUERYREWRITE權限、CREATEANYTABLE權限、SELECTANYTABLE權限等;
2)數(shù)據(jù)庫必須啟用查詢重寫技術,具體方法如下:
ALTERSYSTEMQUERY_REWRITE_ENABLED=TRUE;(同樣必須重啟才能生效)采用物化視圖具有以下優(yōu)點:
1)數(shù)據(jù)倉庫服務應用
針對基表或視圖中海量的數(shù)據(jù),企業(yè)往往都有統(tǒng)計分析、匯總等需求,如果每次都是基于海量的數(shù)據(jù)開展統(tǒng)計查詢,那么將極大影響的查詢效率,讓用戶處于未知時間的等待中,從而造成用戶體驗感也極差,通過物化視圖,把用于統(tǒng)計、匯總、計算等發(fā)布的數(shù)據(jù)存儲到物化視圖中,用戶訪問只需簡單的查詢物化視圖就可以得到同樣的結果,從而更加快捷的支持決策。
2)分布式環(huán)境應用
由于物化視圖具有查詢重寫功能,它能夠基于源表或視圖通過不斷刷同步數(shù)據(jù),因此可以適應分布式環(huán)境,把數(shù)據(jù)分布到不同的物理空間中,更好的響應用戶的查詢。
5.企業(yè)數(shù)據(jù)中心構建規(guī)范
5.1 業(yè)務應用系統(tǒng)數(shù)據(jù)庫創(chuàng)建通用數(shù)據(jù)庫用戶
在每個業(yè)務應用系統(tǒng)數(shù)據(jù)庫中創(chuàng)建統(tǒng)一名稱的數(shù)據(jù)庫用戶,并設置符合滿足復雜度要求的密碼,此用戶與密碼用于遠程數(shù)據(jù)庫通過LINK對象訪問本地數(shù)據(jù)庫時,提供憑據(jù)驗證。創(chuàng)建用戶與授權方法如下:
1)在HR數(shù)據(jù)庫中創(chuàng)建遠程訪問用戶
SQLPLUS/NOLOG
CONN***/*********@HRASSYSDBA
CREATEUSER‘USERNAME’
IDENTIFIEDBY‘PASSWORD’DEFAULTTABLESPACE‘TABLESPACE_NAME’
TEMPORARYTABLESPACE‘TEMP_TABLESPACE_NAME’
ACCOUNTUNLOCK
COMMIT;
2)為創(chuàng)建的遠程訪問用戶授權
GRANTCONNECTTO‘USERNAME’WITHGRANTOPTION;
GRANTRESOURCETO‘USERNAME’WITHGRANTOPTION;
GRANTSELECTON‘TABLE_NAME’TO‘USERNAME’WITHGRANTOPTION;
COMMIT;
值得說明的是,針對創(chuàng)建的“USERNAME”用戶,應該依據(jù)需求制定嚴格的訪問控制,為了確保數(shù)據(jù)安全,有必要建立一張權限控制表,通過權限控制表能夠清楚的查看到該用戶權限與訪問范圍。
5.2 業(yè)務應用系統(tǒng)數(shù)據(jù)庫創(chuàng)建DataBaseLink對象
在HR數(shù)據(jù)庫與NC數(shù)據(jù)庫中分別創(chuàng)建NC_LINK對象與HR_LINK對象,實現(xiàn)HR數(shù)據(jù)庫與NC數(shù)據(jù)庫之間數(shù)據(jù)的相互訪問與數(shù)據(jù)共享。具體方法如下:
SQLPLUS/NOLOG
CONN***/*********@HRASSYSDBA
CREATEPUBLICDATABASELINKNC_LINK
CONNECTTO‘USERNAME’INDETIFIEDBY‘PASSWORD’
USING‘NC’
CONN***/*********@NCASSYSDBA
CREATEPUBLICDATABASELINKNR_LINK
CONNECTTO‘USERNAME’INDETIFIEDBY‘PASSWORD’
USING‘HR’
5.3 在本地數(shù)據(jù)庫實現(xiàn)訪問遠程數(shù)據(jù)庫
建立了DataBaseLink對象后,即建立了數(shù)據(jù)庫間的數(shù)據(jù)訪問通道,就可以在數(shù)據(jù)庫間相互訪問數(shù)據(jù)。如在NC數(shù)據(jù)庫中訪問HR數(shù)據(jù)庫中的人員組織結構數(shù)據(jù),方法如下:
SQLPLUS/NOLOG
CONN***/*********@NCASSYSDBA
SELECT*FROMhr_interface@HR_LINKORDERBYdeptcodeASC;
執(zhí)行后就可以查看到HR數(shù)據(jù)庫中關于人員組織結構的數(shù)據(jù)。以下使用SQLPLUS工具可以更直觀的看到相應的結果。
圖2 通LINK訪問HR數(shù)據(jù)庫中的人員組織結構數(shù)據(jù)
5.4 通過物化視圖構建核心數(shù)據(jù)公用數(shù)據(jù)庫
創(chuàng)建“DATACENTER01”公用數(shù)據(jù)庫(不在本文范圍內(nèi),略過),通過物化視圖將PDM系統(tǒng)內(nèi)有關產(chǎn)品信息的數(shù)據(jù)存儲到“DATACENTER01”公用數(shù)據(jù)庫中,公用數(shù)據(jù)庫由企業(yè)自己把握、維護與管理,當涉及新實施的業(yè)務應用系統(tǒng)需要獲取PDM系統(tǒng)中的產(chǎn)品數(shù)據(jù)時,新實施的業(yè)務應用系統(tǒng)無須與PDM系統(tǒng)建立聯(lián)系實施集成,可直接通過數(shù)據(jù)庫底層LINK技術訪問“DATACENTER01”公用數(shù)據(jù)庫,就可以有效的獲取產(chǎn)品數(shù)據(jù)。實施方法如下:
1)在“DATACENTER01”公用數(shù)據(jù)庫創(chuàng)建“DATACENTER”名稱的LINK對象
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
CREATEPUBLICDATABASELINKDATACENTER
CONNECTTOPDM
USING‘KMPDM’
通過SQLPLUS工具可以直接的查看到結果如下:
圖3 創(chuàng)建LINK對象
2)創(chuàng)建物化視圖“SFC_PROCESS_INTEGRATION”,通過LINK對象,將PDM數(shù)據(jù)庫中的產(chǎn)品工藝進程信息存儲到物化視圖“SFC_PROCESS_INTEGRATION”中。實施方法如下:
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
CREATEMATERIALIZEDVIEWSFC_PROCESS_INTEGRATIONAS
SELECT*FROMSFC_PROCESS_INTEGRATION@DATACENTER
通過SQLPLUS工具可以直接的查看到結果如下:
圖4 創(chuàng)建的SFC_PROCESS_INTEGRATION物化視圖
3)在“DATACENTER01”公用數(shù)據(jù)庫中查詢產(chǎn)品工藝進程數(shù)據(jù)
SQLPLUS/NOLOG
CONN***/*******@DATACENTER01ASSYSDBA
SELECT*FROMSFC_PROCESS_INTEGRATION;
執(zhí)行后就可以查看到物化視圖“SFC_PROCESS_INTEGRATION”中存儲的產(chǎn)品工藝進程數(shù)據(jù)。使用SQLPLUSA工具可以更直觀的看到相應的結果。
圖5 查詢物化視圖“SFC_PROCESS_INTEGRATION”中的數(shù)據(jù)
6.結論
通過上述思路構建企業(yè)數(shù)據(jù)中心系統(tǒng),一方面較好的實現(xiàn)了業(yè)務應用系統(tǒng)間數(shù)據(jù)的相互訪問與共享,同時實現(xiàn)了牢牢將涉及企業(yè)核心的數(shù)據(jù)(產(chǎn)品數(shù)據(jù)、物料編碼數(shù)據(jù)、人員結構數(shù)據(jù))掌握在企業(yè)自身手中,有效避開了對系統(tǒng)廠商的依賴與限制,既節(jié)省了企業(yè)成本,為后續(xù)業(yè)務應用系統(tǒng)數(shù)據(jù)集成建立順暢的通道;同時這種方式也適用于現(xiàn)有業(yè)務應用系統(tǒng),使現(xiàn)有業(yè)務應用系統(tǒng)在不做較大的改動的前提下,也能夠有效的實現(xiàn)補足,使業(yè)務應用系統(tǒng)在現(xiàn)有基礎上發(fā)揮更大的價值。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:基于DataBase Link技術與物化視圖技術的企業(yè)數(shù)據(jù)中心構建應用與研究
本文網(wǎng)址:http://www.oesoe.com/html/support/11121515201.html