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