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