版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、79/79第一章 DB2 UDB 概況1.1、DB2 UDB的產(chǎn)品家族 UDB(Universal Database )的前身為DB2,是IBM公司開發(fā)的關(guān)系型數(shù)據(jù)庫(kù)治理系統(tǒng)。從其誕生之日開始,DB2就定位于要為各種規(guī)模的企業(yè)提供穩(wěn)定、高效的數(shù)據(jù)治理支持。能夠講,DB2是當(dāng)前適用范圍最廣泛的數(shù)據(jù)庫(kù)產(chǎn)品。我們對(duì)DB2產(chǎn)品的劃分通常分為兩種方法:一種方法是按其所能支持的硬件和操作系統(tǒng)平臺(tái)進(jìn)行劃分,另一種方法是按其所能支持的用戶規(guī)模的不同進(jìn)行劃分。 DB2產(chǎn)品幾乎覆蓋了當(dāng)前所有流行的硬件和操作系統(tǒng)平臺(tái)。在大型機(jī)操作系統(tǒng)上,有DB2 for OS/390、DB2 for MVS/ESA、DB2 for
2、 VSE 和DB2 for VM等多種產(chǎn)品;在由IBM公司設(shè)計(jì)的小型機(jī)AS/400上,DB2差不多嵌入在操作系統(tǒng)OS/400之中,成為其不可分割的一部分。DB2對(duì)UNIX操作系統(tǒng)的支持同樣十分廣泛,能夠在AIX、HP-UX、 Solaris、SCO-UNIX、SINIX 等多種系統(tǒng)上找到其相應(yīng)的版本。另外,在PC操作系統(tǒng)上,DB2能夠?qū)indow 9x、Windows NT以及OS/2等多種操作系統(tǒng)提供支持。UDB 6.1還增加了對(duì)Linux操作系統(tǒng)的支持。以上我們所提到的只是DB2服務(wù)器所能運(yùn)行的平臺(tái),DB2的客戶端所能支持的平臺(tái)更為廣泛,除了以上提到的所有平臺(tái)之外,DB2的客戶端還能運(yùn)行
3、在Dos、Windows 3.x、Mac OS以及SGI公司的IRIS系統(tǒng)之上。UDB產(chǎn)品除了能夠?qū)Ω鞣N硬件和操作系統(tǒng)平臺(tái)進(jìn)行支持之外,為了適應(yīng)不同用戶群的需要,UDB提供了不同級(jí)不的產(chǎn)品,對(duì)小到個(gè)人用戶,大到跨國(guó)企業(yè)的不同需求提供支持。以下是對(duì)UDB 6.1版本不同級(jí)不產(chǎn)品的特點(diǎn)介紹: UDB衛(wèi)星版:是專門為移動(dòng)用戶設(shè)計(jì)的小型數(shù)據(jù)庫(kù)產(chǎn)品。適合于間或連接 DB2操縱服務(wù)器來(lái)與公司系統(tǒng)交換數(shù)據(jù)的單用戶系統(tǒng)。它既能同意用戶對(duì)本地?cái)?shù)據(jù)進(jìn)行各種修改,又能夠同意遠(yuǎn)程衛(wèi)星操縱器的集中治理,減輕本地用戶的治理負(fù)擔(dān)。該版本只能運(yùn)行在Windows平臺(tái)。(該版本屬于UDB 6.1版本新增版本)UDB個(gè)人版:是專
4、門為個(gè)人用戶設(shè)計(jì)的功能完備的個(gè)人數(shù)據(jù)庫(kù)產(chǎn)品,同意用戶在本地建立數(shù)據(jù)庫(kù)、更改數(shù)據(jù)、開發(fā)應(yīng)用程序從本地對(duì)數(shù)據(jù)庫(kù)治理系統(tǒng)進(jìn)行存取以及通過內(nèi)置的客戶端對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行治理。該版本的限制在于不能對(duì)遠(yuǎn)程應(yīng)用程序提供全面支持。該版本能夠運(yùn)行在Windows、OS/2以及Linux平臺(tái)。UDB工作組版:適用于小型局域網(wǎng)的數(shù)據(jù)治理需求。具有UDB個(gè)人版的全部功能,并能夠?qū)h(yuǎn)程應(yīng)用程序提供全面支持。該版本能夠運(yùn)行在Windows、OS/2以及Linux平臺(tái)。(UDB工作組版 5.0能夠運(yùn)行在UNIX平臺(tái))UDB企業(yè)版: 簡(jiǎn)稱為UDB EE,適用于企業(yè)級(jí)的數(shù)據(jù)治理需求。具有UDB工作組版的全部功能,并能夠利用
5、對(duì)稱多處理(SMP)技術(shù)提高系統(tǒng)性能。在它的程序包中,包含了DB2 Connect企業(yè)版,同意Intel平臺(tái)和UNIX平臺(tái)的客戶端應(yīng)用程序訪問大型機(jī)和AS/400上的數(shù)據(jù)庫(kù)服務(wù)。UDB企業(yè)版能夠運(yùn)行在Windows、OS/2、Linux以及UNIX平臺(tái)。UDB企業(yè)擴(kuò)展版:簡(jiǎn)稱為UDB EEE,適用于大規(guī)模的企業(yè)應(yīng)用。大規(guī)模的企業(yè)應(yīng)用的差不多要求是穩(wěn)定(宕機(jī)時(shí)刻短)和高效(處理速度快),UDB企業(yè)擴(kuò)展版能夠利用群集(cluster)和大規(guī)模并行處理(MPP)技術(shù)提高系統(tǒng)的穩(wěn)定性和性能。UDB豐富的產(chǎn)品線給用戶提供了極大的選擇余地。是構(gòu)造企業(yè)信息系統(tǒng)的基石。1.2、對(duì)DB的存取方法 對(duì)DB的存取能
6、夠通過SQL語(yǔ)言和UDB內(nèi)置的API兩種手段來(lái)實(shí)現(xiàn)。只是這兩種手段不是能夠相互替代的。SQL語(yǔ)言是國(guó)際標(biāo)準(zhǔn),各數(shù)據(jù)庫(kù)廠商在實(shí)現(xiàn)時(shí)一般會(huì)有一定程度的擴(kuò)展。SQL語(yǔ)言要緊是完成對(duì)數(shù)據(jù)的查詢和更改、數(shù)據(jù)庫(kù)對(duì)象的建立及權(quán)限的操縱等功能。而API要緊是針對(duì)數(shù)據(jù)庫(kù)的治理任務(wù),比如數(shù)據(jù)的備份和恢復(fù)、數(shù)據(jù)庫(kù)服務(wù)的啟動(dòng)和停止等工作。在一個(gè)應(yīng)用程序中,可能既需要用到SQL語(yǔ)言來(lái)完成對(duì)數(shù)據(jù)的存取,同時(shí)又需要調(diào)用API來(lái)完成治理工作。 1.3、從WEB上存取UDB Internet的廣泛使用帶來(lái)了從WEB對(duì)企業(yè)數(shù)據(jù)進(jìn)行存取的要求。假如開發(fā)人員要開發(fā)基于Web的UDB應(yīng)用程序,能夠使用以下方法:1.3.1、通過JDBC
7、來(lái)存取UDBJDBC是SUN公司提供的利用JAVA語(yǔ)言對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存取的標(biāo)準(zhǔn)。在WEB上我們能夠通過編寫JAVA Applet或者JAVA Servlet來(lái)實(shí)現(xiàn)對(duì)UDB的存取。其中Applet運(yùn)行在客戶端,只需要一個(gè)支持JAVA的掃瞄器(如IE和Netscape等)即可運(yùn)行,客戶端不需要安裝其它軟件。Applet能夠通過指定端口與服務(wù)器端的JDBC服務(wù)器進(jìn)行通信,提供對(duì)數(shù)據(jù)的存取。Servlet是適應(yīng)當(dāng)今瘦客戶機(jī)進(jìn)展方向的一種編程模式,具有效率高,可移植性好等特點(diǎn)。Servlet運(yùn)行在WEB服務(wù)器端,需要Servlet引擎(如Websphere Application Server)的支
8、持,服務(wù)器端通常還需要安裝Run-time Client組件。1.3.2、通過Net.Data來(lái)存取UDBNet.Data是IBM公司開發(fā)的通過WEB對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存取的工具。它提供了一種宏語(yǔ)言的開發(fā)和執(zhí)行環(huán)境,同時(shí)具有HTML的簡(jiǎn)易性和SQL語(yǔ)言的功能。開發(fā)人員能夠按照Net.Data的語(yǔ)法編寫Net.Data宏,WEB用戶能夠通過HTML頁(yè)面上的鏈接來(lái)調(diào)用相應(yīng)的Net.Data宏,Net.Data解釋器會(huì)對(duì)其進(jìn)行分析,能夠提取Net.Data宏中的SQL成分,提交給數(shù)據(jù)庫(kù),然后按照Net.Data宏中規(guī)定的格式將數(shù)據(jù)庫(kù)治理器傳回的結(jié)果格式化成HTML頁(yè)面,傳遞給掃瞄器。1.3.3、其它
9、方法除了以上提到的方法之外,還有專門多其他的解決方案。如Active Server Page、PHP等,具體的選擇要看實(shí)際的需要。1.4、實(shí)例的概念和治理 1.4.1、實(shí)例的概念: 數(shù)據(jù)庫(kù)治理器(Database Manager)是提供數(shù)據(jù)庫(kù)治理操縱功能的程序。實(shí)例(Instance)確實(shí)是邏輯的數(shù)據(jù)庫(kù)治理器,是真正的數(shù)據(jù)庫(kù)治理器在內(nèi)存中的映象。實(shí)例提供了一個(gè)可標(biāo)識(shí)的數(shù)據(jù)庫(kù)服務(wù)器的環(huán)境。 在安裝了UDB的工作站上能夠同時(shí)創(chuàng)建和運(yùn)行多個(gè)實(shí)例,每個(gè)實(shí)例都有自己的內(nèi)存空間,并具有單獨(dú)的權(quán)限操縱。一般來(lái)講,在一臺(tái)機(jī)器上運(yùn)行多個(gè)實(shí)例基于以下幾種考慮:對(duì)數(shù)據(jù)庫(kù)環(huán)境進(jìn)行調(diào)試和開發(fā)的需要 假如直接在提供正式數(shù)
10、據(jù)服務(wù)的實(shí)例內(nèi)部對(duì)進(jìn)行各種調(diào)試和開發(fā),有可能會(huì)阻礙系統(tǒng)的性能,甚至?xí)拐麄€(gè)系統(tǒng)崩潰。這時(shí)用戶能夠創(chuàng)建一個(gè)新的實(shí)例,在新的實(shí)例內(nèi)進(jìn)行調(diào)試和開發(fā),因?yàn)楦鱾€(gè)實(shí)例都有自己的內(nèi)存空間,一個(gè)實(shí)例中的工作可不能干擾其他實(shí)例正常的數(shù)據(jù)庫(kù)服務(wù)。出于對(duì)安全性的考慮。 因?yàn)槊總€(gè)實(shí)例有單獨(dú)的權(quán)限操縱,我們能夠?yàn)椴煌膶?shí)例設(shè)定不同的治理人員,加強(qiáng)安全性的操縱。比如你能夠把你的個(gè)人信息存放在由你操縱的實(shí)例中,其他的實(shí)例擁有者無(wú)權(quán)查看。出于優(yōu)化的考慮不同的數(shù)據(jù)庫(kù)可能會(huì)需要不同的數(shù)據(jù)庫(kù)治理器的配置參數(shù)來(lái)達(dá)到最優(yōu)的性能,假如把它們放到同一個(gè)實(shí)例中,不能滿足需要。 因此,系統(tǒng)中的實(shí)例不是越多越好,假如在系統(tǒng)中創(chuàng)建的實(shí)例過多,不僅
11、會(huì)造成額外的資源消耗(內(nèi)存、硬盤空間等),也會(huì)增大治理開銷。 每個(gè)實(shí)例在創(chuàng)建后都會(huì)有自己的配置文件,文件內(nèi)的參數(shù)會(huì)阻礙該實(shí)例的性能。 數(shù)據(jù)庫(kù)在建立時(shí)還會(huì)自動(dòng)地產(chǎn)生一組系統(tǒng)編目表,系統(tǒng)編目表實(shí)際上確實(shí)是DB2數(shù)據(jù)庫(kù)的數(shù)據(jù)字典,它詳盡地描述了數(shù)據(jù)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)。在系統(tǒng)編目表中保存著各種數(shù)據(jù)庫(kù)對(duì)象的定義、用于查詢優(yōu)化的統(tǒng)計(jì)信息以及系統(tǒng)授權(quán)信息。是一個(gè)數(shù)據(jù)庫(kù)中極其重要的組成部分。 1.4.2、實(shí)例的治理: 要?jiǎng)?chuàng)建一個(gè)實(shí)例,能夠使用db2icrt命令,命令語(yǔ)法如下: db2icrt -a AuthType -p PortName -s InstType -u FencedID InstName 其
12、中: -a AuthType是實(shí)例的認(rèn)證類型(能夠?yàn)镾ERVER、CLIENT、 DCS、DCE、 SERVER_ENCRYPT、DCS_ENCRYPT 或 DCE_SERVER_ENCRYPT中的一種)。 -p PortName 是此實(shí)例要使用的端口名或端口號(hào)。 -s InstType 是要?jiǎng)?chuàng)建的實(shí)例的類型(eee、ee 或 client)。 -u FencedID 是用戶名,被隔離UDF 和被隔離的存儲(chǔ)過程將在該用戶名之下運(yùn)行。 InstName 是實(shí)例的名稱。 要列出當(dāng)前系統(tǒng)上創(chuàng)建的所有實(shí)例,能夠使用db2ilist命令。 要?jiǎng)h除某個(gè)實(shí)例,能夠使用db2idrop命令。 1.4.3、實(shí)例
13、級(jí)的操作 在DB2中,某些任務(wù)只能在實(shí)例級(jí)不上執(zhí)行。比如,創(chuàng)建數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)治理器配置參數(shù)等工作。這時(shí)候,就需要應(yīng)用程序連接到特定的實(shí)例之上,然后才能進(jìn)行操作。要連接到一個(gè)實(shí)例上,用戶能夠使用ATTACH命令,語(yǔ)法為: attach to 實(shí)例名 user 用戶名using 用戶口令 假如用戶在執(zhí)行實(shí)例級(jí)不的任務(wù)時(shí),沒有使用ATTACH命令,則系統(tǒng)將使用在DB2INSTANCE環(huán)境變量中指定的缺省實(shí)例來(lái)試圖完成該任務(wù)。 1.4.4、數(shù)據(jù)庫(kù)治理服務(wù)器(DAS): UDB的數(shù)據(jù)庫(kù)治理服務(wù)器實(shí)際上也是一個(gè)實(shí)例,只只是那個(gè)實(shí)例不是用于數(shù)據(jù)服務(wù)的,而是用于治理目的。數(shù)據(jù)庫(kù)治理服務(wù)器提供以下功能:同意
14、遠(yuǎn)程客戶端的治理請(qǐng)求,將遠(yuǎn)程的治理請(qǐng)求在數(shù)據(jù)庫(kù)服務(wù)器端實(shí)現(xiàn)同意用戶進(jìn)行任務(wù)調(diào)度同意用戶對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控響應(yīng)DB2 Discovery,為其提供系統(tǒng)信息數(shù)據(jù)庫(kù)治理服務(wù)器能夠在系統(tǒng)安裝時(shí)自動(dòng)生成,也能夠在安裝后手工創(chuàng)建,在一個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)中只能有一個(gè)數(shù)據(jù)庫(kù)治理服務(wù)器。1.4.5、數(shù)據(jù)庫(kù)治理服務(wù)器的使用 假如沒有在安裝時(shí)創(chuàng)建數(shù)據(jù)庫(kù)治理服務(wù)器,能夠使用命令手工創(chuàng)建。具體命令如下: dasicrt 治理服務(wù)器的名字 (UNIX平臺(tái)) db2admin create (INTEL平臺(tái)) 啟動(dòng)和停止數(shù)據(jù)庫(kù)治理服務(wù)器的命令: db2admin start 啟動(dòng)治理服務(wù)器 db2admin stop 停止治理服
15、務(wù)器 顯示當(dāng)前數(shù)據(jù)庫(kù)治理服務(wù)器名: dasilist (UNIX平臺(tái)) db2admin (INTEL平臺(tái)) 刪除當(dāng)前數(shù)據(jù)庫(kù)治理服務(wù)器: dasidrop 治理服務(wù)器的名字 (UNIX平臺(tái)) db2admin drop (INTEL平臺(tái))1.5、DB2環(huán)境變量的設(shè)置 1.5.1、DB2環(huán)境變量除了實(shí)例配置文件和數(shù)據(jù)庫(kù)配置文件中所包含的參數(shù)之外,還有一些配置參數(shù)對(duì)數(shù)據(jù)庫(kù)環(huán)境起到操縱作用。這些配置參數(shù)分為三類:環(huán)境變量:這類變量的設(shè)置方法因操作系統(tǒng)的不同而有所差異。例如在Windows NT環(huán)境中,選擇操縱面板系統(tǒng)環(huán)境來(lái)設(shè)置;在OS/2中則要更改config.sys文件。這類變量在更改后專門可能需
16、要重新啟動(dòng)系統(tǒng)才生效。 實(shí)例級(jí)登記項(xiàng):作用范圍是某一特定實(shí)例。能夠用db2set命令來(lái)設(shè)置。更改后需要重新啟動(dòng)該實(shí)例才生效。 全局級(jí)登記項(xiàng):作用范圍是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。能夠用db2set命令來(lái)設(shè)置。更改后需要重新啟動(dòng)所有實(shí)例才生效。舉例:變量類型變量名稱變量作用環(huán)境變量DB2INSTANCE缺省的DB2實(shí)例,假如沒有顯式地連接到某個(gè)實(shí)例,則所有的操作都被假定是對(duì)該實(shí)例進(jìn)行的。環(huán)境變量DB2DBDFT缺省的數(shù)據(jù)庫(kù),假如沒有顯式地連接到某個(gè)數(shù)據(jù)庫(kù),則所有的操作都被假定是對(duì)該數(shù)據(jù)庫(kù)進(jìn)行的。實(shí)例級(jí)登記項(xiàng)DB2COMM設(shè)置該實(shí)例用那種網(wǎng)絡(luò)協(xié)議與客戶端通信。全局級(jí)登記項(xiàng)DB2SYSTEM該DB2系統(tǒng)的名字。
17、全局級(jí)登記項(xiàng)DB2ADMINSERVER該系統(tǒng)上所使用的數(shù)據(jù)庫(kù)治理服務(wù)器的名字 系統(tǒng)在檢查系統(tǒng)的變量時(shí),按照先環(huán)境變量,再實(shí)例級(jí)登記項(xiàng)、最后全局級(jí)登記項(xiàng)的順序來(lái)搜索。 1.5.2、db2set命令 db2set命令能夠用來(lái)治理和設(shè)置DB2的登記項(xiàng),命令語(yǔ)法如下: db2set variable=value 其中常用的命令選項(xiàng): -g: 更改全局級(jí)變量 -i:instance 假如更改的是實(shí)例登記項(xiàng),指定該實(shí)例的名字 -l: 列出所有的實(shí)例登記項(xiàng) -lr: 列出所有的登記項(xiàng) 例子: db2set DB2ADMINSERVER 顯示當(dāng)前的數(shù)據(jù)庫(kù)治理服務(wù)器 db2set DB2COMM=TCPIP,
18、NETBIOS 設(shè)置缺省實(shí)例的交流協(xié)議為TCP/IP 和NETBIOS db2set all 列出當(dāng)前所有的登記項(xiàng)的值1.6、訪問操縱權(quán)限1.6.1、DB2訪問操縱的層次結(jié)構(gòu) SYSADMSYSCTRL 權(quán)力DBADMSYSMAINT特權(quán) DB2中的訪問操縱層次如上圖所示。能夠?qū)B2的用戶賦于不同級(jí)不的權(quán)力和各種特權(quán)。其中權(quán)力(Authorities)是對(duì)一組數(shù)據(jù)庫(kù)對(duì)象進(jìn)行存取的特權(quán)集,有特定的名稱。而特權(quán)(Privileges)則是對(duì)特定對(duì)象訪問的權(quán)利。 權(quán)力(Authorities)分為以下級(jí)不:(1)、SYSADM系統(tǒng)治理該權(quán)限是一個(gè)實(shí)例中的最高權(quán)限。能夠完成一個(gè)實(shí)例范圍內(nèi)任何治理工作
19、。能夠通過實(shí)例配置變量中的SYSADM_GROUP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限。假如該參數(shù)為空,在Windows NT環(huán)境下,創(chuàng)建該實(shí)例的用戶擁有該權(quán)限;在UNIX環(huán)境下,與實(shí)例同名的用戶擁有該權(quán)限。(2)、SYSCTRL系統(tǒng)操縱該權(quán)限能夠完成系統(tǒng)中的治理功能,但不能訪問數(shù)據(jù)。但擁有該權(quán)限的用戶能夠創(chuàng)建數(shù)據(jù)庫(kù),并治理自己創(chuàng)建的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。能夠通過實(shí)例配置變量中的SYSCTRL_GROUP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限 (3)、SYSMAINT系統(tǒng)維護(hù)該權(quán)限只能完成系統(tǒng)中與維護(hù)有關(guān)的任務(wù),但不能訪問數(shù)據(jù),而且擁有該權(quán)限的用戶不能創(chuàng)建數(shù)據(jù)庫(kù)。能夠通過實(shí)例配置變量中的 SYSMAINT_GRO
20、UP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限。(4)、DBADM數(shù)據(jù)庫(kù)治理該權(quán)限是數(shù)據(jù)庫(kù)級(jí)的權(quán)限,能夠完成數(shù)據(jù)庫(kù)的治理工作。該權(quán)限能夠通過SQL語(yǔ)句授予。 四種級(jí)不的權(quán)力對(duì)比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植數(shù)據(jù)庫(kù)能夠更改實(shí)例配置參數(shù)能夠給予或撤消DBADM權(quán)限能夠指定SYSCTRL組能夠指定SYSMAINT組能夠更改數(shù)據(jù)庫(kù)目錄能夠能夠中斷應(yīng)用程序能夠能夠創(chuàng)建/刪除數(shù)據(jù)庫(kù)能夠能夠創(chuàng)建/刪除表空間能夠能夠利用恢復(fù)建立一個(gè)數(shù)據(jù)庫(kù)能夠能夠更改數(shù)據(jù)庫(kù)配置參數(shù)能夠能夠能夠備份數(shù)據(jù)庫(kù)和表空間能夠能夠能夠恢復(fù)一個(gè)存在的數(shù)據(jù)庫(kù)能夠能夠能夠執(zhí)行前滾恢復(fù)能夠能夠能夠啟動(dòng)/停止實(shí)例能夠能夠能夠
21、恢復(fù)表空間能夠能夠能夠使用TRACE工具能夠能夠能夠獵取實(shí)例和數(shù)據(jù)庫(kù)的快照信息能夠能夠能夠查詢表空間狀態(tài)能夠能夠能夠能夠更改日志歷史文件能夠能夠能夠能夠休止表空間能夠能夠能夠能夠使用RUNSTATS工具能夠能夠能夠能夠?qū)Ρ碜鯨OAD能夠能夠讀日志文件能夠能夠能夠創(chuàng)建/刪除/激活事件監(jiān)視器能夠能夠能夠第二章 DB2的圖形用戶界面2.1、DB2的圖形界面概述 在UDB之前的DB2產(chǎn)品中,提供給用戶的圖形界面專門少。大部分的治理工作和操作只能通過手工鍵入命令的方式來(lái)實(shí)現(xiàn)。UDB的出現(xiàn)改變了這一現(xiàn)狀,它提供了豐富的圖形化工具,使得治理工作變得更加輕松。 2.2、DB2的圖形化工具2.2.1、客戶端配置
22、工具CCA要對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)行存取,首先要設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接。那個(gè)過程是一個(gè)比較復(fù)雜的過程,需要用戶對(duì)網(wǎng)絡(luò)參數(shù)、配置命令要有一定程度的了解。CCA確實(shí)是一個(gè)用來(lái)關(guān)心用戶設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫(kù)連接,減輕用戶負(fù)擔(dān)的工具。它提供了三種配置方法供用戶選擇:人工方法 該方法對(duì)用戶的要求較高,需要用戶了解要連接的數(shù)據(jù)庫(kù)服務(wù)器的相關(guān)信息,例如使用那些網(wǎng)絡(luò)協(xié)議、要連接的數(shù)據(jù)庫(kù)的名稱等。用戶能夠通過CCA提供的界面輸入網(wǎng)絡(luò)連接所需信息,完成連接配置。自動(dòng)搜索方法 該方法不需要用戶有任何網(wǎng)絡(luò)知識(shí),它會(huì)自動(dòng)利用一種叫DB2 Discovery的機(jī)制在局域網(wǎng)中自動(dòng)搜索DB2服務(wù)器。它會(huì)與遠(yuǎn)程數(shù)據(jù)庫(kù)節(jié)點(diǎn)
23、上的數(shù)據(jù)庫(kù)治理服務(wù)器(DAS)進(jìn)行通訊,然后將數(shù)據(jù)庫(kù)治理服務(wù)器搜集的信息返回。用戶能夠依照返回信息選擇要連接的數(shù)據(jù)庫(kù)。載入配置文件方法 該方法同意從要連接的數(shù)據(jù)庫(kù)所在的服務(wù)器端或者從差不多配置成功的客戶端生成一個(gè)配置文檔。在文檔中包含了相應(yīng)的配置信息,用戶能夠在CCA中載入該文檔,完成連接配置。 用戶能夠通過以上任一種方法進(jìn)行網(wǎng)絡(luò)配置,完成對(duì)遠(yuǎn)程的數(shù)據(jù)庫(kù)的連接,CLI/ODBC數(shù)據(jù)源的配置,將應(yīng)用程序綁定到數(shù)據(jù)庫(kù)上等工作。CCA除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入db2cca命令存取。具體界面如下圖。2.2.2、產(chǎn)品信息和文檔 UDB提供了豐富的關(guān)心信息。幾乎所有的信息
24、都能夠通過信息中心(Information Center)來(lái)存取。在信息中心中,我們能夠按照以下幾種方法獵取相關(guān)信息: 任務(wù):獵取完成特定任務(wù)所需的信息 書籍:UDB隨機(jī)提供了許多技術(shù)手冊(cè),如治理員手冊(cè)、開發(fā)人員手冊(cè)等等。 用戶能夠通過這些聯(lián)機(jī)手冊(cè)來(lái)查找信息。 疑難:能夠依照你遇到的疑難錯(cuò)誤來(lái)查找相應(yīng)的解決方法。 樣例程序:能夠查找到各種語(yǔ)言、各種接口進(jìn)行數(shù)據(jù)庫(kù)編程的例子。 Web信息:指引你到相關(guān)Web站點(diǎn)上獵取相應(yīng)的信息。 除了這幾種手段以外,信息中心還提供了強(qiáng)大的搜索工具,關(guān)心你在聯(lián)機(jī)手冊(cè)中進(jìn)行全文檢索,找到匹配的關(guān)鍵詞。 信息中心除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下
25、鍵入db2ic命令存取。 具體界面見下圖。 除了信息中心之外,還有一個(gè)小程序第一步(First Step)來(lái)關(guān)心新用戶按照一系列的步驟來(lái)熟悉數(shù)據(jù)庫(kù)操作。它能夠關(guān)心用戶建立一個(gè)樣例數(shù)據(jù)庫(kù),查看樣例數(shù)據(jù)庫(kù)中的內(nèi)容,以及對(duì)樣例數(shù)據(jù)庫(kù)進(jìn)行操作。 First Step除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入db2steps命令存取。具體界面如下圖。2.2.3、命令中心(Command Center) 命令中心是用于輸入DB2命令的圖形化工具。能夠講,命令中心確實(shí)是一個(gè)圖形化的命令行處理器(CLP),我們能夠在命令中心中輸入DB2命令或調(diào)用現(xiàn)成的命令腳本,執(zhí)行后查看輸出結(jié)果。 命令中心
26、能夠?qū)⒁演斎氲拿钭鳛槟_本保存在腳本中心中,也能夠?qū)Ρ4嬖谀_本中心中的腳本加以調(diào)度。 另外,命令中心一個(gè)特不有用的功能是同意用戶通過它查看SQL語(yǔ)句的存取打算,存取打算中包含著SQL語(yǔ)句執(zhí)行情況的統(tǒng)計(jì)結(jié)果,用戶能夠通過命令中心為SQL語(yǔ)句生成存取打算,并以可視化的形式表現(xiàn)出來(lái)。 命令中心能夠通過系統(tǒng)菜單(Windows NT操作系統(tǒng))或操縱中心(Control Center)來(lái)調(diào)用,也能夠通過在命令行下鍵入db2cctr命令來(lái)執(zhí)行。具體界面如下圖。 2.2.4、腳本中心(Script Center)腳本中心的要緊功能有:創(chuàng)建、編輯、保存和運(yùn)行命令腳本(能夠包括DB2命令和操作系統(tǒng)命令)運(yùn)行一個(gè)
27、往常保存的腳本文件對(duì)一個(gè)往常保存的命令腳本進(jìn)行調(diào)度,指定其在特定的時(shí)刻的運(yùn)行,被調(diào)度的作業(yè)將以暫掛作業(yè)的形式將在下面介紹的日志工具中被監(jiān)控。腳本中心的優(yōu)點(diǎn)在于能夠?qū)⒚钜晕募姆绞酱娣牛貜?fù)利用,同時(shí)腳本中能夠直接包含操作系統(tǒng)命令(在CLP中假如要執(zhí)行操作系統(tǒng)命令需要在命令的前面加“!”)。腳本的運(yùn)行狀態(tài)也能夠在日志工具中查看到。腳本中心的具體界面如下圖。2.2.5、日志(Journal) 通過日志能夠查看幾類信息: 作業(yè)信息包括暫掛作業(yè)(Pending Job )信息、正在運(yùn)行的作業(yè)(Running Job) 信息以及差不多完成的作業(yè)的信息。關(guān)于Pending Job,能夠?qū)ζ溥M(jìn)行重新調(diào)度、
28、顯示與它相關(guān)的腳本或立即運(yùn)行它。恢復(fù)歷史信息 提供了對(duì)數(shù)據(jù)庫(kù)進(jìn)行的備份、恢復(fù)過程的詳細(xì)信息,比如:備份的時(shí)刻、備份的類型等,這些信息實(shí)際都被保存在一個(gè)稱為恢復(fù)歷史文件的文件當(dāng)中。 警報(bào)信息 包含了系統(tǒng)發(fā)出的警報(bào)信息。系統(tǒng)信息 包含了UDB數(shù)據(jù)庫(kù)治理器生成的信息。 日志除了包含以上信息以外,也能夠?qū)Σ畈欢啾荒_本中心調(diào)度的作業(yè)重新進(jìn)行調(diào)度。 日志的具體界面見下圖。 2.2.6、警報(bào)中心(Alert Center)警報(bào)中心搜集所有數(shù)據(jù)庫(kù)治理器發(fā)出的警告信息,治理人員能夠依照這些警告信息對(duì)某些系統(tǒng)錯(cuò)誤進(jìn)行分析。查找出系統(tǒng)的潛在問題??蓪ⅰ熬瘓?bào)中心”設(shè)置為自動(dòng)打開,顯示已超過其閾值并因此處于警報(bào)或警告狀
29、態(tài)的各種受監(jiān)控對(duì)象。閾值的設(shè)置用可從“操縱中心”調(diào)用的“性能監(jiān)控程序”來(lái)完成。圖符的顏色指示警告的嚴(yán)峻性。紅色圖符指示報(bào)警信號(hào)。黃色圖符指示警告。并顯示為性能變量返回的數(shù)據(jù)。1.2.7、許可證中心(License Center)許可證中心能夠?qū)DB的許可證信息提供集中治理,能夠同意用戶增添、更改和刪除UDB產(chǎn)品的許可證。用戶也能夠掃瞄當(dāng)前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱、產(chǎn)品的版本、過期時(shí)刻及同意的用戶數(shù)目等信息。具體界面見下圖。2.2.8、操縱中心(Control Center)操縱中心是UDB的治理工具的核心,絕大多數(shù)的治理任務(wù)和對(duì)其他治理工具的存取都能夠通過操縱中心來(lái)完成
30、。具體界面如下圖。操縱中心有如下組成部分: 菜單條:菜單條在屏幕的頂部。從菜單條選擇菜單同意您執(zhí)行許多功能,如關(guān)閉 DB2 工具、存取圖形工具以及存取聯(lián)機(jī)關(guān)心和產(chǎn)品信息。可通過單擊菜單條上的每一項(xiàng)來(lái)熟悉這些功能通過菜單的方式完成對(duì)操縱中心的存取。 工具欄:位于菜單條下方的一組圖形按鈕,通過點(diǎn)擊能夠調(diào)用其他的治理工具,如命令中心、腳本中心等以上所提到的工具 對(duì)象窗格:對(duì)象窗格位于屏幕的左邊窗格中,它按照UDB數(shù)據(jù)庫(kù)對(duì)象的層次關(guān)系(UDB系統(tǒng)-實(shí)例數(shù)據(jù)庫(kù)-數(shù)據(jù)庫(kù)內(nèi)部對(duì)象)對(duì)系統(tǒng)進(jìn)行組織,以樹狀的形式顯示。用戶能夠方便地從中找到要治理的對(duì)象。對(duì)象窗格中的某些對(duì)象包含其他對(duì)象。對(duì)象左面的加號(hào) (+)
31、指示該對(duì)象是折疊的。可單擊加號(hào)展開它。當(dāng)展開對(duì)象后,在它的左面會(huì)出現(xiàn)一個(gè)減號(hào) (-)。要折疊此對(duì)象,單擊減號(hào)。 內(nèi)容窗格:位于屏幕的右邊窗格中。此窗格顯示在對(duì)象窗格中選定對(duì)象包含的所有對(duì)象,例如,若您在對(duì)象窗格中選擇表文件夾,數(shù)據(jù)庫(kù)中所有的表都將出現(xiàn)在“內(nèi)容”窗格中。若您選擇數(shù)據(jù)庫(kù)文件夾,內(nèi)容窗格會(huì)變?yōu)閷?shí)例中的所有數(shù)據(jù)庫(kù)。 用戶能夠在對(duì)象窗格或內(nèi)容窗格中選擇要操作的對(duì)象,按鼠標(biāo)右鍵按出彈出式菜單,能對(duì)該對(duì)象所進(jìn)行的所有操作幾乎都包含在菜單中。操縱中心除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入 db2cc命令存取。2.2.9、工具設(shè)置(Tool Settings)工具設(shè)置能夠用
32、來(lái)更改某些系統(tǒng)工具的設(shè)置,比如設(shè)定SQL語(yǔ)句之間的分隔符、 假如DB2實(shí)例沒有啟動(dòng),是否需要在UDB工具啟動(dòng)的時(shí)候自動(dòng)啟動(dòng)實(shí)例。工具設(shè)置能夠從工具欄上的圖形按鈕存取。具體界面如下圖。 2.2.10、快速向?qū)В⊿martGuides)UDB中專門多任務(wù)的完成涉及到專門多術(shù)語(yǔ)和參數(shù),假如用戶對(duì)這些信息不是專門了解,會(huì)阻礙到任務(wù)的完成效果。為了能夠?qū)@些用戶提供關(guān)心,UDB中提供了專門多快速向?qū)?。這些快速向?qū)軌蜥槍?duì)不同的任務(wù)向用戶提出一些比較淺顯的問題,依照用戶對(duì)問題的回答設(shè)定相應(yīng)的參數(shù)。關(guān)心用戶完成相應(yīng)的任務(wù)。UDB中提供的快速向?qū)Х譃橐韵聨最悾?對(duì)象創(chuàng)建類:在創(chuàng)建數(shù)據(jù)庫(kù)、表空間和表時(shí)提供關(guān)心。
33、 數(shù)據(jù)庫(kù)治理任務(wù):在備份和恢復(fù)數(shù)據(jù)庫(kù)時(shí)提供關(guān)心。 多點(diǎn)更改:在分布式環(huán)境下,對(duì)涉及到多數(shù)據(jù)庫(kù)更改的事務(wù)進(jìn)行操縱。 性能調(diào)節(jié):關(guān)心用戶對(duì)系統(tǒng)性能進(jìn)行調(diào)節(jié)。 具體的快速向?qū)в校?創(chuàng)建數(shù)據(jù)庫(kù)快速向?qū)В和庥脩魟?chuàng)建數(shù)據(jù)庫(kù)、分配存儲(chǔ)空間以及選擇差不多性能選項(xiàng)。要調(diào)用 它,選擇對(duì)象窗格中的“數(shù)據(jù)庫(kù)”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建數(shù)據(jù)庫(kù)。 創(chuàng)建表快速向?qū)В捍丝焖傧驅(qū)шP(guān)心用戶使用預(yù)定義的列模板來(lái)設(shè)計(jì)列,創(chuàng)建表的主關(guān)鍵字并將一個(gè)或多個(gè)表空間分配給表。要調(diào)用它,選擇“表”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表。 創(chuàng)建表空間快速向?qū)В?/p>
34、此快速向?qū)庥脩魟?chuàng)建一個(gè)新的表空間并設(shè)置存儲(chǔ)及性能選項(xiàng)。要調(diào)用它,選擇“表空間”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表空間。 索引快速向?qū)В涸摽焖傧驅(qū)шP(guān)心用戶確定對(duì)給定的一組 SQL 語(yǔ)句,要?jiǎng)?chuàng)建或刪除哪些索引,才能使給定的語(yǔ)句性能最優(yōu)。要調(diào)用它選擇“索引”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建索引。 性能配置。此快速向?qū)шP(guān)心您依照有關(guān)數(shù)據(jù)庫(kù)的用途來(lái)調(diào)諧數(shù)據(jù)庫(kù)。然后它對(duì)數(shù)據(jù)庫(kù)和實(shí)例建議新的配置參數(shù),并在需要時(shí)自動(dòng)應(yīng)用它們。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫(kù)的圖符,單擊鼠標(biāo)按鈕 2,然后選擇使用 SmartGuide 配置。 復(fù)原數(shù)
35、據(jù)庫(kù)快速向?qū)В捍丝焖傧驅(qū)?jīng)歷恢復(fù)數(shù)據(jù)庫(kù)的全過程。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫(kù)的圖符,單擊鼠標(biāo)按鈕 2,然后選擇復(fù)原 - 使用 SmartGuide 復(fù)原數(shù)據(jù)庫(kù)。 備份數(shù)據(jù)庫(kù)快速向?qū)В核儐栍脩絷P(guān)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)、數(shù)據(jù)庫(kù)的可用性以及可恢復(fù)性要求 等差不多問題。然后它建議一個(gè)備份方案、創(chuàng)建作業(yè)腳本并調(diào)度它。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫(kù)的圖符,單擊鼠標(biāo)按鈕 2,然后選擇備份 - 使用 SmartGuide 備份數(shù)據(jù)庫(kù)。 配置多站點(diǎn)更新快速向?qū)В涸摽焖傧驅(qū)шP(guān)心用戶在分布式環(huán)境下,對(duì)涉及到多數(shù)據(jù)庫(kù)更改的事務(wù)進(jìn)行操縱。要使用它,選擇相應(yīng)實(shí)例,單擊鼠標(biāo)按鈕 2,然后選擇多站點(diǎn)更新 - 使用 SmartGuide
36、 配置。2.2.11、通用工具選項(xiàng)除了以上提供的工具之外,UDB還有幾個(gè)其它相關(guān)工具選項(xiàng)。例如:顯示SQL(Show SQL)和顯示命令(Show Command) 假如某個(gè)工具生成了SQL語(yǔ)句,比如創(chuàng)建表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個(gè)按鈕之一,能夠查看該工具依照用戶在圖形界面中所做選擇而生成的SQL語(yǔ)句或DB2命令。關(guān)心用戶了解該界面是如何工作的。另外該選項(xiàng)也同意用戶將語(yǔ)句或命令另存為腳本以備今后使用。若用戶希望再次運(yùn)行相同的語(yǔ)句或命令,能夠不必重新輸入SQL語(yǔ)句或DB2命令。一旦SQL語(yǔ)句或DB2命令已保
37、存到腳本中,用戶能夠調(diào)度腳本、編輯此腳本進(jìn)行更改或創(chuàng)建類似的腳本而不必重新輸入語(yǔ)句或命令。顯示相關(guān)對(duì)象(Show Related) 顯示相關(guān)項(xiàng)顯示表、索引、視圖、不名、觸發(fā)器、表空間、 “用戶定義函數(shù)”以及“用戶定義類型”之間的直接關(guān)系。顯示相關(guān)對(duì)象能夠關(guān)心用戶了解一個(gè)對(duì)象與哪些對(duì)象相關(guān),分析數(shù)據(jù)庫(kù)的結(jié)構(gòu)以及推斷可能執(zhí)行的操作會(huì)造成的阻礙。例如,假如用戶希望刪除有從屬視圖的表,顯示相關(guān)項(xiàng)會(huì)告訴用戶假如進(jìn)行刪除操作后,哪些視圖將變?yōu)闊o(wú)效視圖。 從“操縱中心”的內(nèi)容窗格中的專門多對(duì)象中,單擊鼠標(biāo)按鈕2。都會(huì)看到“顯示相關(guān)對(duì)象”的選項(xiàng)。第三章 數(shù)據(jù)移動(dòng)3.1、數(shù)據(jù)移動(dòng)概述 在數(shù)據(jù)庫(kù)的使用過程中,經(jīng)常
38、需要將一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)遷移到另外的一個(gè)數(shù)據(jù)庫(kù)中。為了實(shí)現(xiàn)這種功能,我們能夠使用數(shù)據(jù)庫(kù)復(fù)制技術(shù),這種技術(shù)在大多數(shù)的關(guān)系型數(shù)據(jù)庫(kù)中都有相應(yīng)的實(shí)現(xiàn),只是這種方法對(duì)治理的要求較高,而且需要網(wǎng)絡(luò)的連接。更常用的方法是利用某種類型的外部文件作為中介,將一個(gè)數(shù)據(jù)庫(kù)中的某個(gè)表中的數(shù)據(jù)導(dǎo)出到一個(gè)外部文件中,然后把該文件中的數(shù)據(jù)導(dǎo)入到另外一個(gè)數(shù)據(jù)庫(kù)中。 DB2中實(shí)現(xiàn)以上功能的要緊工具有三個(gè):EXPORT、IMPORT和LOAD。其中EXPORT的功能是將表中的數(shù)據(jù)導(dǎo)出到外部文件中;而IMPORT和LOAD的功能是將外部文件中的數(shù)據(jù)導(dǎo)入到一個(gè)表中。IMPORT和LOAD的功能類似,但在實(shí)現(xiàn)手段上有專門大差異。 能
39、夠被DB2所支持用作數(shù)據(jù)移動(dòng)的中間文件的格式有四種:非定界ASCII碼文件(ASCII)、定界ASCII碼文件(DEL ASCII)、WSF文件和PC/IXF文件。其特點(diǎn)是: ASCII:純文本格式,每個(gè)數(shù)據(jù)列之間中有分隔符,但數(shù)據(jù)行之間沒有分隔符。ASCII文件不能被EXPORT支持。、 DEL: 純文本格式,數(shù)據(jù)列之間有分隔符,數(shù)據(jù)行之間也有分隔符。 WSF:Lotus 1-2-3工作表格式。WSF文件不能被LOAD支持。 PC/IXF:一種特不通用的格式,被多種數(shù)據(jù)庫(kù)治理系統(tǒng)所支持。能夠用作在異種數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)轉(zhuǎn)移。 3.2、EXPORT的功能和使用EXPORT 用于將一個(gè)表或多個(gè)表中
40、的數(shù)據(jù)導(dǎo)出到外部文件中。 下面是EXPORT的一個(gè)例子:db2 connect to sampledb2 export to myfile of ixf messages msg select , staff.dept, org.location form org, staff, where org.deptname=staff.dept 在該例中,staff和org中的相應(yīng)數(shù)據(jù)將被輸出到myfile文件中,該文件為PC/IXF格式。注意事項(xiàng): 在做EXPORT之前,首先要連接到相應(yīng)的數(shù)據(jù)庫(kù)上。因?yàn)橐獙?duì)表或視圖(EXPORT支持對(duì)視圖進(jìn)行操作)進(jìn)行SELECT操作,執(zhí)行EX
41、PORT的用戶至少要有相關(guān)表或視圖上的SELECT權(quán)限。假如使用PC/IXF文件,文件中將包含表中的索引定義。能夠通過DB2 Connect將主機(jī)上的數(shù)據(jù)導(dǎo)出到外部文件中。3.3、IMPORT的功能和使用 IMPORT能夠被看作是EXPORT的逆過程,用于將數(shù)據(jù)從外部文件中導(dǎo)入到數(shù)據(jù)庫(kù)之中。下面是一個(gè)IMPORT的例子:db2 connect to musicdbdb2 import from artexprt of ixf messages artmsg create into artists in index in long in 在該例中,artexprt文件的數(shù)據(jù)被導(dǎo)入到表artist
42、s中,那個(gè)表在IMPORT之前并不存在,系統(tǒng)將依照artexprt文件的格式創(chuàng)建表后,再進(jìn)行數(shù)據(jù)導(dǎo)入。注意事項(xiàng): 在做IMPORT之前,首先要連接到相應(yīng)的數(shù)據(jù)庫(kù)上。因?yàn)橐獙?duì)表或視圖(IMPORT支持對(duì)視圖進(jìn)行操作)進(jìn)行修改操作,執(zhí)行EXPORT的用戶至少要有相關(guān)表或視圖上的相關(guān)權(quán)限(依據(jù)導(dǎo)入模式的不同而不同)。比如,使用INSERT模式,至少要有相應(yīng)表上的INSERT權(quán)限;假如使用CREATE模式,則需要數(shù)據(jù)庫(kù)上的CREATETAB權(quán)限。假如使用CREATE模式,必須使用PC/IXF文件進(jìn)行數(shù)據(jù)導(dǎo)入。能夠通過DB2 Connect向主機(jī)上的數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)。3.4、LOAD的功能和使用 3.1、
43、LOAD概述LOAD的功能與IMPORT類似,但實(shí)現(xiàn)的方式有專門大區(qū)不。其操作方式更加貼近底層。LOAD會(huì)把要導(dǎo)入的數(shù)據(jù)格式化成數(shù)據(jù)頁(yè),利用并行I/O寫入存儲(chǔ)介質(zhì)。在LOAD 過程中,只進(jìn)行極少量的日志記錄,而且不進(jìn)行約束檢查。因此,LOAD導(dǎo)入的速度要比IMPORT快專門多,尤其是數(shù)據(jù)量比較的的時(shí)候,LOAD的速度優(yōu)勢(shì)十分明顯。LOAD能夠從三種格式的文件進(jìn)行數(shù)據(jù)導(dǎo)入,分不是非定界ASCII碼文件、定界ASCII碼文件和IXF文件格式。LOAD不支持WSF文件作為數(shù)據(jù)導(dǎo)入文件。 3.4.2、LOAD的三個(gè)時(shí)期與IMPORT相比,LOAD盡管在速度上有明顯的優(yōu)勢(shì),但對(duì)治理上的要求比較高。LOA
44、D能夠分成三個(gè)時(shí)期。第一個(gè)時(shí)期叫LOAD時(shí)期。在那個(gè)時(shí)期中,數(shù)據(jù)被導(dǎo)入到表中,假如表上有索引存在,LOAD將按照索引定義搜集索引關(guān)鍵字,然后進(jìn)行排序。假如有不符合表定義的數(shù)據(jù)行,LOAD將會(huì)把它們放到一個(gè)文件(DUMP FILE)中,同時(shí)在消息文件(MESSAGE FILE)中進(jìn)行記錄。假如在命令中指定了SAVECOUNT參數(shù),LOAD將每隔一定數(shù)目的數(shù)據(jù)行進(jìn)行一次保存。第二個(gè)時(shí)期叫BUILD時(shí)期。在那個(gè)時(shí)期中,LOAD會(huì)利用在LOAD時(shí)期搜集的索引關(guān)鍵字構(gòu)造索引。假如表上沒有索引,那個(gè)過程將被忽略。另外,假如表上定義了唯一性約束,LOAD會(huì)在那個(gè)時(shí)期進(jìn)行檢查。假如有違反唯一性約束的數(shù)據(jù)行,L
45、OAD將會(huì)把它們拷貝到一個(gè)專門的表例外表(Exception Table)中。相應(yīng)的信息會(huì)保存在信息文件(MESSAGE FILE)中。第三個(gè)時(shí)期叫DELETE時(shí)期。在那個(gè)時(shí)期中,所有違反唯一性約束的行將被從表中刪除。 3.4.3、異常情況的處理由于某些操作的失敗,表空間可能處于某種異常狀態(tài)。表空間的狀態(tài)能夠通過DB2 LIST TABLESPACES。假如狀態(tài)的編碼為0 x0000,表明表空間狀態(tài)正常,否則表明表空間處于某種異常狀態(tài)。比如0 x0008表明表空間處于裝載掛起(LOAD PENDING)狀態(tài),0 x010表明表空間處于刪除掛起(DELETE PENDING)狀態(tài),0 x020表
46、明表空間處于備份掛起(BACKUP PENDING)狀態(tài)。上面提到的幾個(gè)狀態(tài)差不多上在LOAD過程中有可能發(fā)生的。我們下面就來(lái)探詢其緣故及解決方法。、LOAD PENDING狀態(tài) 假如LOAD由于用戶的錯(cuò)誤而沒有運(yùn)行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對(duì)表空間的狀態(tài)可不能有任何阻礙。 假如LOAD在向表中導(dǎo)入數(shù)據(jù)的時(shí)候出現(xiàn)了錯(cuò)誤,LOAD會(huì)終止,同時(shí)將要導(dǎo)入數(shù)據(jù)的表所在的表空間置于LOAD PENDING狀態(tài)。假如表空間處于LOAD PENDING,除了使用LOAD工具對(duì)表空間進(jìn)行操作來(lái)消除LOAD PENDING狀態(tài)以外,不能對(duì)該表空間進(jìn)行其他操作。出現(xiàn)了
47、LOAD PENDING狀態(tài)以后,應(yīng)該對(duì)LOAD生成的MESSAGE文件進(jìn)行檢查,查看是在LOAD的哪一個(gè)時(shí)期出現(xiàn)的問題。然后能夠使用LOAD的RESTART選項(xiàng)重新進(jìn)行LOAD,LOAD會(huì)自動(dòng)的從上一個(gè)一致性點(diǎn)進(jìn)行恢復(fù)。比如指定了SAVECOUNT為100,在導(dǎo)入到531行記錄時(shí)出現(xiàn)異常終止,則LOAD會(huì)從第501條記錄重新開始導(dǎo)入。假如是在LOAD過程中的BUILD時(shí)期和DELETE時(shí)期時(shí)出現(xiàn)了錯(cuò)誤,LOAD會(huì)從這兩個(gè)時(shí)期的起始點(diǎn)重新開始。假如利用RESTART選項(xiàng)后,LOAD能夠成功,則LOAD PENDING狀態(tài)能夠被消除。 假如使用RESTART選項(xiàng)仍然不能成功,則能夠使用TERMI
48、NATE選項(xiàng)來(lái)終止LOAD過程,同時(shí)消除LOAD PENDING狀態(tài)。假如我們?cè)诮K止LOAD時(shí)使用了INSERT選項(xiàng),則能夠?qū)⒈砘謴?fù)到LOAD往常的狀態(tài)。假如我們使用的是REPLACE選項(xiàng),則表中的數(shù)據(jù)被清空。、BACKUP PENDING狀態(tài) LOAD PENDING狀態(tài)是LOAD失敗后出現(xiàn)的異常狀態(tài)。但即使LOAD成功了,也不能保證表空間處于正常狀態(tài),這取決于LOAD時(shí)選擇的復(fù)制選項(xiàng)。假如我們選擇的是COPY YES(缺省選項(xiàng)),則LOAD成功后會(huì)將表空間置成BACKUP PENDING狀態(tài),需要對(duì)該表空間進(jìn)行備份才能消除;假如我們選擇的是COPY YES,則系統(tǒng)在LOAD過
49、程中自動(dòng)對(duì)載入的數(shù)據(jù)進(jìn)行備份,LOAD成功后表空間處于正常狀態(tài);假如我們選擇的是NONRECOVERABLE,則系統(tǒng)在LOAD過程中不對(duì)載入數(shù)據(jù)進(jìn)行備份,在LOAD成功后也不把表空間置于BACKUP PENDING狀態(tài)。 之因此LOAD要提供幾種復(fù)制選項(xiàng)的緣故是由于出于數(shù)據(jù)完整性的考慮。我們?cè)谇懊娌畈欢嘟榻B過,LOAD只做專門少的日志,導(dǎo)入的數(shù)據(jù)不被記錄在日志之中。假如在LOAD以后,數(shù)據(jù)庫(kù)崩潰了,LOAD導(dǎo)入的數(shù)據(jù)將無(wú)法得到恢復(fù),造成數(shù)據(jù)的不完整。假如使用COPY NO選項(xiàng),系統(tǒng)會(huì)強(qiáng)制用戶在LOAD之后對(duì)表空間進(jìn)行備份,假如以后需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),則能夠從中恢復(fù)LOAD導(dǎo)入的數(shù)據(jù);假如使用
50、COPY YES選項(xiàng),則系統(tǒng)在LOAD過程中會(huì)自動(dòng)對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行備份,能夠用于日后的恢復(fù);假如使用NONRECOVERABLE選項(xiàng),則等于用戶明確表示日后不想恢復(fù)LOAD導(dǎo)入的數(shù)據(jù),那個(gè)選項(xiàng)一般用于接收數(shù)據(jù)導(dǎo)入的表被用于只讀操作,假如需要對(duì)數(shù)據(jù)進(jìn)行恢復(fù),重新進(jìn)行LOAD就能夠。 3.5、IMPORT和LOAD的對(duì)比 IMPORT和LOAD在功能上相似,但在實(shí)現(xiàn)方式和使用上有專門大不同,我們將通過下表將這兩中工具進(jìn)行一下對(duì)比。IMPORTLOAD講明在導(dǎo)入大量數(shù)據(jù)時(shí)速度較慢在導(dǎo)入大量數(shù)據(jù)時(shí)速度明顯比IMPORT快LOAD是將數(shù)據(jù)格式化成數(shù)據(jù)頁(yè)的形式直接寫入數(shù)據(jù)庫(kù)假如使用IXF文件格式,表和索引
51、能夠不存在在導(dǎo)入數(shù)據(jù)之前,表和索引必須存在IMPORT能夠在導(dǎo)入數(shù)據(jù)時(shí)創(chuàng)建表和索引支持WSF文件格式不支持WSF文件格式能夠?qū)Ρ砗鸵晥D進(jìn)行IMPORTLOAD的對(duì)象必須是表在進(jìn)行IMPORT時(shí),其他程序能夠?qū)Ρ磉M(jìn)行存取在進(jìn)行LOAD時(shí),其他程序不能對(duì)表進(jìn)行存取LOAD將導(dǎo)入數(shù)據(jù)的表所在表空間置為排它狀態(tài)導(dǎo)入的所有數(shù)據(jù)都被日志所記錄LOAD只做極少量的日志IMPORT會(huì)激活觸發(fā)器LOAD可不能激活觸發(fā)器IMPORT能夠使用COMMITCOUNT參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次提交,假如IMPORT失敗,能夠從最后的一次提交點(diǎn)重新開始。LOAD能夠使用SAVECOUNT參數(shù)指定每隔一定數(shù)目的
52、數(shù)據(jù)行就進(jìn)行一次保存,假如LOAD失敗,能夠從最后的一次提交點(diǎn)重新開始。IMPORT使用的是數(shù)據(jù)庫(kù)內(nèi)部的臨時(shí)表空間LOAD使用的是數(shù)據(jù)庫(kù)以外的臨時(shí)空間所有的約束在IMPORT過程中都將被總結(jié)在LOAD過程中只檢查唯一性約束LOAD關(guān)閉約束檢查,需要在LOAD后用SET INTEGERITY消除表上的CHECK PENDING狀態(tài)在IMPORT過程中,當(dāng)每一行被導(dǎo)入時(shí),索引關(guān)鍵字被插入到索引中在LOAD過程中,LOAD在LOAD時(shí)期搜集索引關(guān)鍵字,在BULID時(shí)期統(tǒng)一生成索引假如需要重新搜集統(tǒng)計(jì)信息,在IMPORT后使用RUNSTAT工具假如需要重新搜集統(tǒng)計(jì)信息,能夠在LOAD后使用RUNSTA
53、T工具,也能夠在LOAD過程中進(jìn)行搜集在LOAD中直接搜集統(tǒng)計(jì)信息會(huì)延長(zhǎng)LOAD所需時(shí)刻IMPORT能夠被DB2 Connect支持LOAD能夠被DB2 Connect支持?jǐn)?shù)據(jù)導(dǎo)入文件必須在執(zhí)行IMPORT的節(jié)點(diǎn)上數(shù)據(jù)導(dǎo)入文件必須在要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫(kù)所在的節(jié)點(diǎn)上IMPORT不需要備份依照復(fù)制選項(xiàng)的不同,可能需要進(jìn)行備份IMPORT導(dǎo)入的數(shù)據(jù)在日志中會(huì)有記錄第四章 數(shù)據(jù)庫(kù)恢復(fù)在防止關(guān)鍵數(shù)據(jù)的丟失當(dāng)中,恢復(fù)用戶自己的環(huán)境十分重要。有一些工具能夠關(guān)心用戶治理自己的環(huán)境和保證用戶能夠?qū)ψ约旱臄?shù)據(jù)實(shí)施充分的恢復(fù)措施。我們將討論在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的日志存檔概念,因?yàn)樗鼘儆跀?shù)據(jù)庫(kù)的恢復(fù)功能的組成部分。日志文
54、件是由DB2用來(lái)確保數(shù)據(jù)庫(kù)完整性,即使當(dāng)出現(xiàn)某些不可預(yù)見的問題引起用戶系統(tǒng)癱瘓時(shí),比如發(fā)生斷電故障,也能做到這一點(diǎn)。要充分理解日志工作的目的,首先解釋清晰工作單元(unit of work)和事務(wù) (transaction)這兩個(gè)概念。4.1 工作單元為了確保數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性,應(yīng)用程序經(jīng)常必須立即實(shí)施一些變更。類似,它必須禁止所有的變更。這就叫做工作單元(unit of work)。工作單元是應(yīng)用程序進(jìn)程內(nèi)可恢復(fù)的操作序列。工作單元是應(yīng)用程序用來(lái)確保在數(shù)據(jù)庫(kù)中不引入不一致數(shù)據(jù)的差不多機(jī)制。在任何時(shí)刻,應(yīng)用程序進(jìn)程都有一個(gè)工作單元,而應(yīng)用程序進(jìn)程的生存期可能涉及許多工作單元。4.2事務(wù)在象D
55、B2如此的關(guān)系數(shù)據(jù)庫(kù)中,工作單元被稱為事務(wù) (transaction)。事務(wù)是應(yīng)用程序進(jìn)程內(nèi)的一個(gè)可恢復(fù)的SQL操作序列。對(duì)數(shù)據(jù)庫(kù)的任何一次讀或?qū)懖畈欢嗌显谀炒问聞?wù)內(nèi)完成的。任何一個(gè)成功地與數(shù)據(jù)庫(kù)相連接的應(yīng)用程序都自動(dòng)地啟動(dòng)一個(gè)事務(wù)。應(yīng)用程序必須通過發(fā)出一條 SQL COMMIT(托付確認(rèn))或SQL ROLLBACK(退回)語(yǔ)句去結(jié)束該事務(wù)。 SQL的 COMMIT語(yǔ)句告訴數(shù)據(jù)庫(kù)治理員立即對(duì)數(shù)據(jù)庫(kù)實(shí)施事務(wù)中的所有數(shù)據(jù)庫(kù)變動(dòng)(插入、更新、刪除)。SQL的 ROLLBACK語(yǔ)句告訴數(shù)據(jù)庫(kù)治理器不實(shí)施這些變動(dòng),但將受到阻礙的行返回到開始該事務(wù)之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶數(shù)據(jù)的完整
56、性,DB2差不多實(shí)施提早寫日志存檔模式。提早寫日志存檔的基礎(chǔ)是指:當(dāng)發(fā)出刪除、插入或更新數(shù)據(jù)庫(kù)中某一數(shù)據(jù)的 SQL調(diào)用時(shí),所做出數(shù)據(jù)變更首先要寫到日志文件中去。當(dāng)發(fā)出一條 SQL托付確認(rèn)命令時(shí) DB2要保證把為了重新運(yùn)作(replay)所需要的日志文件都寫入磁盤中。在發(fā)生斷電之類的不幸事故時(shí),日志文件能夠用來(lái)把數(shù)據(jù)庫(kù)退回到原來(lái)的某個(gè)一致性狀態(tài)。所有被托付確認(rèn)的事務(wù)都將重新再做一遍,所有非托付確認(rèn)的事務(wù)都將回退到原有起點(diǎn)。所有數(shù)據(jù)庫(kù)都有與它們相關(guān)聯(lián)的日志文件。日志文件有預(yù)先定義的長(zhǎng)度。因此,當(dāng)日志文件被填滿時(shí),日志存檔過程就要在另一個(gè)日志文件中接著進(jìn)行。4.4日志治理配置4.4.1日志的類型 現(xiàn)
57、在我們來(lái)考查可能出現(xiàn)在DB2中的兩類日志: 循環(huán)日志 (Circular logging) 歸檔日志 (Archival logging)4.4.2循環(huán)日志用這種類型的日志,將按順序使用各個(gè)日志文件。當(dāng)保留在這類日志文件中的所有工作單元被托付確認(rèn)或退回時(shí),這些日志文件能夠被重新使用。所托付確認(rèn)的變更將被反映在支持?jǐn)?shù)據(jù)庫(kù)的磁盤上。循環(huán)日志(circular logging)方法如圖6.3中所示。 1主日志文件 2“n”輔日志文件夾 3 圖4.3 循環(huán)日志 循環(huán)日志使用兩類日志文件:主日志文件(Primary log files)輔助日志文件(Second log files)主日志文件是預(yù)先分配
58、的,而輔助日志文件僅在需要時(shí)才分配。假如數(shù)據(jù)庫(kù)治理器需要序列中的下一個(gè)日志,同時(shí)不能被重用,那么將分配一個(gè)輔助日志文件,至直主日志文件變得可供重用或者所分配輔助日志文件的數(shù)目被超出為止。一旦數(shù)據(jù)庫(kù)治理器決定輔助日志文件不再需要時(shí),輔助日志文件便被收回。當(dāng)數(shù)據(jù)庫(kù)激活時(shí),分配主日志文件。主日志文件和輔助日志文件的數(shù)目由數(shù)據(jù)庫(kù)參數(shù)LOGPRIMARY和 LOGSECOND來(lái)決定。當(dāng)數(shù)據(jù)庫(kù)最初被創(chuàng)建時(shí),循環(huán)日志方式作為默認(rèn)的日志方式被激活。配置以循環(huán)方式的數(shù)據(jù)庫(kù)僅能恢復(fù)到曾經(jīng)做過備份的點(diǎn)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)時(shí),自從進(jìn)行備份以后對(duì)數(shù)據(jù)庫(kù)所做的任何工作都將丟失。由于那個(gè)緣故,循環(huán)日志方式最適合用于那些只供查
59、詢的數(shù)據(jù)庫(kù)。4.4.3歸檔日志 歸檔日志(archival logging)是如此一種日志治理技術(shù),其中的日志文件處于非活動(dòng)狀態(tài)時(shí)便將它們做歸檔處理。歸檔日志方法如圖 6.4所示。12活動(dòng)的一包含有關(guān)非托付確認(rèn)的或非擴(kuò)充的事務(wù)。DATA1314聯(lián)機(jī)歸檔一包含被托付確認(rèn)的和被擴(kuò)充的事務(wù)。存放于ACTIVE日志子目錄中。15 脫機(jī)歸檔 歸檔數(shù)據(jù)來(lái) ACTIVE日志子目錄 (也可能在其它介質(zhì)上)。16 圖4.4 歸檔日志方法Active(活動(dòng)的)(由數(shù)15 和16表示) 這些文件包含與尚未托付確認(rèn)(或退回)工作的事務(wù)相關(guān)的信息。它們還包括差不多被委托確認(rèn)但它們的變更還沒有寫回到數(shù)據(jù)庫(kù)文件中的事務(wù)信息
60、。On_ line Archival (聯(lián)機(jī)歸檔)(由數(shù)14表示)這些文件包含有差不多完成不再需要崩潰恢復(fù)愛護(hù)的事務(wù)有關(guān)的信息。它們叫做聯(lián)機(jī)(on_ line)是因?yàn)樗鼈凂v留在與活動(dòng)日志文件相同的子目錄中。Off-line Archival(脫機(jī)歸檔)(由數(shù)12和 13表示) 這些文件差不多被從活動(dòng)的日志文件子目錄傳送出。傳送這些文件的方法可能是一個(gè)手工過程,比如,通過 user exit調(diào)用的手工過程。只要簡(jiǎn)單地通過把歸檔日志文件傳遞至另一個(gè)目錄,把它們存儲(chǔ)到磁帶或其它某種介質(zhì)上,就能夠把歸檔日志文件置為 “脫機(jī)的”(off-line)。 兩個(gè)配置參數(shù)同意用戶去配置進(jìn)行歸檔日志的數(shù)據(jù)庫(kù): L
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 停車位建設(shè)項(xiàng)目可行性報(bào)告
- 大學(xué)生讀書心得筆記
- 租房合同范本集錦15篇
- 啟動(dòng)儀式領(lǐng)導(dǎo)講話稿(集合15篇)
- 手機(jī)銷售辭職報(bào)告15篇
- 關(guān)于小學(xué)個(gè)人教師述職報(bào)告十篇
- 數(shù)學(xué)教學(xué)心得體會(huì)
- 房地產(chǎn)銷售個(gè)人工作總結(jié)(匯編15篇)
- 幼兒園班主任辭職報(bào)告錦集7篇
- 新媒體營(yíng)銷(第三版) 課件 項(xiàng)目二 新媒體營(yíng)銷定位與策劃
- 甲狀腺功能檢測(cè)醫(yī)學(xué)課件
- 電梯維保服務(wù)質(zhì)量年度考核表格
- HSK一到六級(jí)分等級(jí)詞匯
- 三菱M64串口使用說明
- 梅溪湖給排水計(jì)算書(施工圖)
- 口腔材料學(xué)課件
- 工資審核流程
- 手工鎢極氬弧焊焊接工藝指導(dǎo)書
- 北師大七年級(jí)上數(shù)學(xué)易錯(cuò)題(共8頁(yè))
- 供應(yīng)商供方履約評(píng)價(jià)表(參考模板)
- 徒步行軍pt課件
評(píng)論
0/150
提交評(píng)論