版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
H:\精品資料\建筑精品網(wǎng)原稿ok(刪除公文)\建筑精品網(wǎng)5未上傳百度第一章DB2UDB概況1.1、DB2UDB的產(chǎn)品家族UDB(UniversalDatabase)的前身為DB2,是IBM公司開(kāi)發(fā)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。從其誕生之日開(kāi)始,DB2就定位于要為各種規(guī)模的企業(yè)提供穩(wěn)定、高效的數(shù)據(jù)管理支持。能夠說(shuō),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)上,有DB2forOS/390、DB2forMVS/ESA、DB2forVSE和DB2forVM等多種產(chǎn)品;在由IBM公司設(shè)計(jì)的小型機(jī)AS/400上,DB2已經(jīng)嵌入在操作系統(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ū)indow9x、WindowsNT以及OS/2等多種操作系統(tǒng)提供支持。UDB6.1還增加了對(duì)Linux操作系統(tǒng)的支持。以上我們所提到的只是DB2服務(wù)器所能運(yùn)行的平臺(tái),DB2的客戶端所能支持的平臺(tái)更為廣泛,除了以上提到的所有平臺(tái)之外,DB2的客戶端還能運(yùn)行在Dos、Windows3.x、MacOS以及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ì)UDB6.1版本不同級(jí)別產(chǎn)品的特點(diǎn)介紹:UDB衛(wèi)星版:是專門(mén)為移動(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)。(該版本屬于UDB6.1版本新增版本)UDB個(gè)人版:是專門(mén)為個(gè)人用戶設(shè)計(jì)的功能完備的個(gè)人數(shù)據(jù)庫(kù)產(chǎn)品,允許用戶在本地建立數(shù)據(jù)庫(kù)、更改數(shù)據(jù)、開(kāi)發(fā)應(yīng)用程序從本地對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行存取以及經(jīng)過(guò)內(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)稱為UDBEE,適用于企業(yè)級(jí)的數(shù)據(jù)管理需求。具有UDB工作組版的全部功能,并能夠利用對(duì)稱多處理(SMP)技術(shù)提高系統(tǒng)性能。在它的程序包中,包含了DB2Connect企業(yè)版,允許Intel平臺(tái)和UNIX平臺(tái)的客戶端應(yīng)用程序訪問(wèn)大型機(jī)和AS/400上的數(shù)據(jù)庫(kù)服務(wù)。UDB企業(yè)版能夠運(yùn)行在Windows、OS/2、Linux以及UNIX平臺(tái)。UDB企業(yè)擴(kuò)展版:簡(jiǎn)稱為UDBEEE,適用于大規(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的存取能夠經(jīng)過(guò)SQL語(yǔ)言和UDB內(nèi)置的API兩種手段來(lái)實(shí)現(xiàn)。不過(guò)這兩種手段不是能夠相互替代的。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上存取UDBInternet的廣泛使用帶來(lái)了從WEB對(duì)企業(yè)數(shù)據(jù)進(jìn)行存取的要求。如果開(kāi)發(fā)人員要開(kāi)發(fā)基于Web的UDB應(yīng)用程序,能夠使用以下方法:1.3.1JDBC是SUN公司提供的利用JAVA語(yǔ)言對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存取的標(biāo)準(zhǔn)。在WEB上我們能夠經(jīng)過(guò)編寫(xiě)JAVAApplet或者JAVAServlet來(lái)實(shí)現(xiàn)對(duì)UDB的存取。其中Applet運(yùn)行在客戶端,只需要一個(gè)支持JAVA的瀏覽器(如IE和Netscape等)即可運(yùn)行,客戶端不需要安裝其它軟件。Applet能夠經(jīng)過(guò)指定端口與服務(wù)器端的JDBC服務(wù)器進(jìn)行通信,提供對(duì)數(shù)據(jù)的存取。Servlet是適應(yīng)當(dāng)今瘦客戶機(jī)發(fā)展方向的一種編程模式,具有效率高,可移植性好等特點(diǎn)。Servlet運(yùn)行在WEB服務(wù)器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服務(wù)器端一般還需要安裝Run-timeClient組件。1.3.2Net.Data是IBM公司開(kāi)發(fā)的經(jīng)過(guò)WEB對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存取的工具。它提供了一種宏語(yǔ)言的開(kāi)發(fā)和執(zhí)行環(huán)境,同時(shí)具有HTML的簡(jiǎn)易性和SQL語(yǔ)言的功能。開(kāi)發(fā)人員能夠按照Net.Data的語(yǔ)法編寫(xiě)Net.Data宏,WEB用戶能夠經(jīng)過(guò)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除了以上提到的方法之外,還有很多其它的解決方案。如ActiveServerPage、PHP等,具體的選擇要看實(shí)際的需要。1.4、實(shí)例的概念和管理1.4.1、實(shí)例的概念:數(shù)據(jù)庫(kù)管理器(DatabaseManager)是提供數(shù)據(jù)庫(kù)管理控制功能的程序。實(shí)例(Instance)就是邏輯的數(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)說(shuō),在一臺(tái)機(jī)器上運(yùn)行多個(gè)實(shí)例基于以下幾種考慮:對(duì)數(shù)據(jù)庫(kù)環(huán)境進(jìn)行調(diào)試和開(kāi)發(fā)的需要如果直接在提供正式數(shù)據(jù)服務(wù)的實(shí)例內(nèi)部對(duì)進(jìn)行各種調(diào)試和開(kāi)發(fā),有可能會(huì)影響系統(tǒng)的性能,甚至?xí)拐麄€(gè)系統(tǒng)崩潰。這時(shí)用戶能夠創(chuàng)立一個(gè)新的實(shí)例,在新的實(shí)例內(nèi)進(jìn)行調(diào)試和開(kāi)發(fā),因?yàn)楦鱾€(gè)實(shí)例都有自己的內(nèi)存空間,一個(gè)實(shí)例中的工作不會(huì)干擾其它實(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í)例中,不能滿足需要。當(dāng)然,系統(tǒng)中的實(shí)例不是越多越好,如果在系統(tǒng)中創(chuàng)立的實(shí)例過(guò)多,不但會(huì)造成額外的資源消耗(內(nèi)存、硬盤(pán)空間等),也會(huì)增大管理開(kāi)銷(xiāo)。每個(gè)實(shí)例在創(chuàng)立后都會(huì)有自己的配置文件,文件內(nèi)的參數(shù)會(huì)影響該實(shí)例的性能。數(shù)據(jù)庫(kù)在建立時(shí)還會(huì)自動(dòng)地產(chǎn)生一組系統(tǒng)編目表,系統(tǒng)編目表實(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要?jiǎng)?chuàng)立一個(gè)實(shí)例,能夠使用db2icrt命令,命令語(yǔ)法如下:db2icrt[-aAuthType][-pPortName][-sInstType]-uFencedIDInstName其中:-aAuthType是實(shí)例的認(rèn)證類型(能夠?yàn)镾ERVER、CLIENT、DCS、DCE、SERVER_ENCRYPT、DCS_ENCRYPT或DCE_SERVER_ENCRYPT中的一種)。-pPortName是此實(shí)例要使用的端口名或端口號(hào)。-sInstType是要?jiǎng)?chuàng)立的實(shí)例的類型(eee、ee或client)。-uFencedID是用戶名,被隔離UDF和被隔離的存儲(chǔ)過(guò)程將在該用戶名之下運(yùn)行。InstName是實(shí)例的名稱。要列出當(dāng)前系統(tǒng)上創(chuàng)立的所有實(shí)例,能夠使用db2ilist命令。要?jiǎng)h除某個(gè)實(shí)例,能夠使用db2idrop命令。1.4.3在DB2中,某些任務(wù)只能在實(shí)例級(jí)別上執(zhí)行。比如,創(chuàng)立數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)管理器配置參數(shù)等工作。這時(shí)候,就需要應(yīng)用程序連接到特定的實(shí)例之上,然后才能進(jìn)行操作。要連接到一個(gè)實(shí)例上,用戶能夠使用ATTACH命令,語(yǔ)法為:attachto[實(shí)例名]user[用戶名]using[用戶口令]如果用戶在執(zhí)行實(shí)例級(jí)別的任務(wù)時(shí),沒(méi)有使用ATTACH命令,則系統(tǒng)將使用在DB2INSTANCE環(huán)境變量中指定的缺省實(shí)例來(lái)試圖完成該任務(wù)。1.4.4UDB的數(shù)據(jù)庫(kù)管理服務(wù)器實(shí)際上也是一個(gè)實(shí)例,只不過(guò)這個(gè)實(shí)例不是用于數(shù)據(jù)服務(wù)的,而是用于管理目的。數(shù)據(jù)庫(kù)管理服務(wù)器提供以下功能:接受遠(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)DB2Discovery,為其提供系統(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如果沒(méi)有在安裝時(shí)創(chuàng)立數(shù)據(jù)庫(kù)管理服務(wù)器,能夠使用命令手工創(chuàng)立。具體命令如下:dasicrt管理服務(wù)器的名字(UNIX平臺(tái))db2admincreate(INTEL平臺(tái))啟動(dòng)和停止數(shù)據(jù)庫(kù)管理服務(wù)器的命令:db2adminstart啟動(dòng)管理服務(wù)器db2adminstop停止管理服務(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))db2admindrop(INTEL平臺(tái))1.5、DB2環(huán)境變量的設(shè)置1.5除了實(shí)例配置文件和數(shù)據(jù)庫(kù)配置文件中所包含的參數(shù)之外,還有一些配置參數(shù)對(duì)數(shù)據(jù)庫(kù)環(huán)境起到控制作用。這些配置參數(shù)分為三類:環(huán)境變量:這類變量的設(shè)置方法因操作系統(tǒng)的不同而有所差異。例如在WindowsNT環(huán)境中,選擇控制面板系統(tǒng)環(huán)境來(lái)設(shè)置;在OS/2中則要更改config.sys文件。這類變量在更改后很可能需要重新啟動(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í)例,如果沒(méi)有顯式地連接到某個(gè)實(shí)例,則所有的操作都被假定是對(duì)該實(shí)例進(jìn)行的。環(huán)境變量DB2DBDFT缺省的數(shù)據(jù)庫(kù),如果沒(méi)有顯式地連接到某個(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)的名字。全局級(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.5db2set命令能夠用來(lái)管理和設(shè)置DB2的登記項(xiàng),命令語(yǔ)法如下:db2set<option>variable=value其中常見(jiàn)的命令選項(xiàng):-g:更改全局級(jí)變量-i:instance如果更改的是實(shí)例登記項(xiàng),指定該實(shí)例的名字-l:列出所有的實(shí)例登記項(xiàng)-lr:列出所有的登記項(xiàng)例子:db2setDB2ADMINSERVER顯示當(dāng)前的數(shù)據(jù)庫(kù)管理服務(wù)器db2setDB2COMM=TCPIP,NETBIOS設(shè)置缺省實(shí)例的交流協(xié)議為T(mén)CP/IP和NETBIOSdb2set–all列出當(dāng)前所有的登記項(xiàng)的值1.6、訪問(wèn)控制—權(quán)限1.6.1、DB2訪問(wèn)控制的層次結(jié)構(gòu)SYSADMSYSADMSYSCTRL權(quán)力DBADM權(quán)力DBADMSYSMAINTSYSMAINT特權(quán)特權(quán)DB2中的訪問(wèn)控制層次如上圖所示。能夠?qū)B2的用戶賦于不同級(jí)別的權(quán)力和各種特權(quán)。其中權(quán)力(Authorities)是對(duì)一組數(shù)據(jù)庫(kù)對(duì)象進(jìn)行存取的特權(quán)集,有特定的名稱。而特權(quán)(Privileges)則是對(duì)特定對(duì)象訪問(wèn)的權(quán)利。權(quán)力(Authorities)分為以下級(jí)別:(1)、SYSADM—系統(tǒng)管理該權(quán)限是一個(gè)實(shí)例中的最高權(quán)限。能夠完成一個(gè)實(shí)例范圍內(nèi)任何管理工作。能夠經(jīng)過(guò)實(shí)例配置變量中的SYSADM_GROUP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限。如果該參數(shù)為空,在WindowsNT環(huán)境下,創(chuàng)立該實(shí)例的用戶擁有該權(quán)限;在UNIX環(huán)境下,與實(shí)例同名的用戶擁有該權(quán)限。(2)、SYSCTRL—系統(tǒng)控制該權(quán)限能夠完成系統(tǒng)中的管理功能,但不能訪問(wèn)數(shù)據(jù)。但擁有該權(quán)限的用戶能夠創(chuàng)立數(shù)據(jù)庫(kù),并管理自己創(chuàng)立的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。能夠經(jīng)過(guò)實(shí)例配置變量中的SYSCTRL_GROUP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限(3)、SYSMAINT—系統(tǒng)維護(hù)該權(quán)限只能完成系統(tǒng)中與維護(hù)有關(guān)的任務(wù),但不能訪問(wèn)數(shù)據(jù),而且擁有該權(quán)限的用戶不能創(chuàng)立數(shù)據(jù)庫(kù)。能夠經(jīng)過(guò)實(shí)例配置變量中的SYSMAINT_GROUP參數(shù)來(lái)指定一個(gè)用戶組擁有該權(quán)限。(4)、DBADM—數(shù)據(jù)庫(kù)管理該權(quán)限是數(shù)據(jù)庫(kù)級(jí)的權(quán)限,能夠完成數(shù)據(jù)庫(kù)的管理工作。該權(quán)限能夠經(jīng)過(guò)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í)例能夠能夠能夠恢復(fù)表空間能夠能夠能夠使用TRACE工具能夠能夠能夠獲取實(shí)例和數(shù)據(jù)庫(kù)的快照信息能夠能夠能夠查詢表空間狀態(tài)能夠能夠能夠能夠更改日志歷史文件能夠能夠能夠能夠休止表空間能夠能夠能夠能夠使用RUNSTATS工具能夠能夠能夠能夠?qū)Ρ碜鯨OAD能夠能夠讀日志文件能夠能夠能夠創(chuàng)立/刪除/激活事件監(jiān)視器能夠能夠能夠第二章DB2的圖形用戶界面2.1、DB2的圖形界面概述在UDB之前的DB2產(chǎn)品中,提供給用戶的圖形界面很少。大部分的管理工作和操作只能經(jīng)過(guò)手工鍵入命令的方式來(lái)實(shí)現(xiàn)。UDB的出現(xiàn)改變了這一現(xiàn)狀,它提供了豐富的圖形化工具,使得管理工作變得更加輕松。2.2、DB2的圖形化工具2.2.1、客戶端配置工具—CCA要對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)行存取,首先要設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接。這個(gè)過(guò)程是一個(gè)比較復(fù)雜的過(guò)程,需要用戶對(duì)網(wǎng)絡(luò)參數(shù)、配置命令要有一定程度的了解。CCA就是一個(gè)用來(lái)幫助用戶設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫(kù)連接,減輕用戶負(fù)擔(dān)的工具。它提供了三種配置方法供用戶選擇:人工方法該方法對(duì)用戶的要求較高,需要用戶了解要連接的數(shù)據(jù)庫(kù)服務(wù)器的相關(guān)信息,例如使用那些網(wǎng)絡(luò)協(xié)議、要連接的數(shù)據(jù)庫(kù)的名稱等。用戶能夠經(jīng)過(guò)CCA提供的界面輸入網(wǎng)絡(luò)連接所需信息,完成連接配置。自動(dòng)搜索方法該方法不需要用戶有任何網(wǎng)絡(luò)知識(shí),它會(huì)自動(dòng)利用一種叫DB2Discovery的機(jī)制在局域網(wǎng)中自動(dòng)搜索DB2服務(wù)器。它會(huì)與遠(yuǎn)程數(shù)據(jù)庫(kù)節(jié)點(diǎn)上的數(shù)據(jù)庫(kù)管理服務(wù)器(
DAS)進(jìn)行通訊,然后將數(shù)據(jù)庫(kù)管理服務(wù)器搜集的信息返回。用戶能夠根據(jù)返回信息選擇要連接的數(shù)據(jù)庫(kù)。載入配置文件方法該方法允許從要連接的數(shù)據(jù)庫(kù)所在的服務(wù)器端或者從已經(jīng)配置成功的客戶端生成一個(gè)配置文檔。在文檔中包含了相應(yīng)的配置信息,用戶能夠在CCA中載入該文檔,完成連接配置。用戶能夠經(jīng)過(guò)以上任一種方法進(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提供了豐富的幫助信息。幾乎所有的信息都能夠經(jīng)過(guò)信息中心(InformationCenter)來(lái)存取。在信息中心中,我們能夠按照以下幾種方法獲取相關(guān)信息:任務(wù):獲取完成特定任務(wù)所需的信息書(shū)籍:UDB隨機(jī)提供了許多技術(shù)手冊(cè),如《管理員手冊(cè)》、《開(kāi)發(fā)人員手冊(cè)》等等。用戶能夠經(jīng)過(guò)這些聯(lián)機(jī)手冊(cè)來(lái)查找信息。疑難:能夠根據(jù)你遇到的疑難錯(cuò)誤來(lái)查找相應(yīng)的解決方法。樣例程序:能夠查找到各種語(yǔ)言、各種接口進(jìn)行數(shù)據(jù)庫(kù)編程的例子。Web信息:指引你到相關(guān)Web站點(diǎn)上獲取相應(yīng)的信息。除了這幾種手段以外,信息中心還提供了強(qiáng)大的搜索工具,幫助你在聯(lián)機(jī)手冊(cè)中進(jìn)行全文檢索,找到匹配的關(guān)鍵詞。信息中心除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入db2ic命令存取。具體界面見(jiàn)下圖。除了信息中心之外,還有一個(gè)小程序—第一步(FirstStep)來(lái)幫助新用戶按照一系列的步驟來(lái)熟悉數(shù)據(jù)庫(kù)操作。它能夠幫助用戶建立一個(gè)樣例數(shù)據(jù)庫(kù),查看樣例數(shù)據(jù)庫(kù)中的內(nèi)容,以及對(duì)樣例數(shù)據(jù)庫(kù)進(jìn)行操作。FirstStep除了能夠從DB2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入db2steps命令存取。具體界面如下圖。2.2.3、命令中心(CommandCenter)命令中心是用于輸入DB2命令的圖形化工具。能夠說(shuō),命令中心就是一個(gè)圖形化的命令行處理器(CLP),我們能夠在命令中心中輸入DB2命令或調(diào)用現(xiàn)成的命令腳本,執(zhí)行后查看輸出結(jié)果。命令中心能夠?qū)⒁演斎氲拿钭鳛槟_本保存在腳本中心中,也能夠?qū)Ρ4嬖谀_本中心中的腳本加以調(diào)度。另外,命令中心一個(gè)非常有用的功能是允許用戶經(jīng)過(guò)它查看SQL語(yǔ)句的存取計(jì)劃,存取計(jì)劃中包含著SQL語(yǔ)句執(zhí)行情況的統(tǒng)計(jì)結(jié)果,用戶能夠經(jīng)過(guò)命令中心為SQL語(yǔ)句生成存取計(jì)劃,并以可視化的形式表現(xiàn)出來(lái)。命令中心能夠經(jīng)過(guò)系統(tǒng)菜單(WindowsNT操作系統(tǒng))或控制中心(ControlCenter)來(lái)調(diào)用,也能夠經(jīng)過(guò)在命令行下鍵入db2cctr命令來(lái)執(zhí)行。具體界面如下圖。2.2.4、腳本中心(ScriptCenter)腳本中心的主要功能有:創(chuàng)立、編輯、保存和運(yùn)行命令腳本(能夠包括DB2命令和操作系統(tǒng)命令)運(yùn)行一個(gè)以前保存的腳本文件對(duì)一個(gè)以前保存的命令腳本進(jìn)行調(diào)度,指定其在特定的時(shí)間的運(yùn)行,被調(diào)度的作業(yè)將以暫掛作業(yè)的形式將在下面介紹的日志工具中被監(jiān)控。腳本中心的優(yōu)點(diǎn)在于能夠?qū)⒚钜晕募姆绞酱娣?重復(fù)利用,而且腳本中能夠直接包含操作系統(tǒng)命令(在CLP中如果要執(zhí)行操作系統(tǒng)命令需要在命令的前面加”!”)。腳本的運(yùn)行狀態(tài)也能夠在日志工具中查看到。腳本中心的具體界面如下圖。2.2.5、日志(Journal)經(jīng)過(guò)日志能夠查看幾類信息:作業(yè)信息包括暫掛作業(yè)(PendingJob)信息、正在運(yùn)行的作業(yè)(RunningJob)信息以及已經(jīng)完成的作業(yè)的信息。對(duì)于PendingJob,能夠?qū)ζ溥M(jìn)行重新調(diào)度、顯示與它相關(guān)的腳本或立即運(yùn)行它?;謴?fù)歷史信息提供了對(duì)數(shù)據(jù)庫(kù)進(jìn)行的備份、恢復(fù)過(guò)程的詳細(xì)信息,比如:備份的時(shí)間、備份的類型等,這些信息實(shí)際都被保存在一個(gè)稱為恢復(fù)歷史文件的文件當(dāng)中。警報(bào)信息包含了系統(tǒng)發(fā)出的警報(bào)信息。系統(tǒng)信息包含了UDB數(shù)據(jù)庫(kù)管理器生成的信息。日志除了包含以上信息以外,也能夠?qū)σ呀?jīng)被腳本中心調(diào)度的作業(yè)重新進(jìn)行調(diào)度。日志的具體界面見(jiàn)下圖。2.2.6警報(bào)中心搜集所有數(shù)據(jù)庫(kù)管理器發(fā)出的警告信息,管理人員能夠根據(jù)這些警告信息對(duì)某些系統(tǒng)錯(cuò)誤進(jìn)行分析。查找出系統(tǒng)的潛在問(wèn)題??蓪ⅰ本瘓?bào)中心”設(shè)置為自動(dòng)打開(kāi),顯示已超過(guò)其閾值并因此處于警報(bào)或警告狀態(tài)的各種受監(jiān)控對(duì)象。閾值的設(shè)置用可從”控制中心”調(diào)用的”性能監(jiān)控程序”來(lái)完成。圖符的顏色指示警告的嚴(yán)重性。紅色圖符指示報(bào)警信號(hào)。黃色圖符指示警告。并顯示為性能變量返回的數(shù)據(jù)。1.2.7、許可證中心(LicenseCenter)許可證中心能夠?qū)DB的許可證信息提供集中管理,能夠允許用戶增添、更改和刪除UDB產(chǎn)品的許可證。用戶也能夠?yàn)g覽當(dāng)前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱、產(chǎn)品的版本、過(guò)期時(shí)間及允許的用戶數(shù)目等信息。具體界面見(jiàn)下圖。2.2.8、控制中心(ControlCenter)控制中心是UDB的管理工具的核心,絕大多數(shù)的管理任務(wù)和對(duì)其它管理工具的存取都能夠經(jīng)過(guò)控制中心來(lái)完成。具體界面如下圖??刂浦行挠腥缦陆M成部分:菜單條:菜單條在屏幕的頂部。從菜單條選擇菜單允許您執(zhí)行許多功能,如關(guān)閉DB2工具、存取圖形工具以及存取聯(lián)機(jī)幫助和產(chǎn)品信息。可經(jīng)過(guò)單擊菜單條上的每一項(xiàng)來(lái)熟悉這些功能經(jīng)過(guò)菜單的方式完成對(duì)控制中心的存取。工具欄:位于菜單條下方的一組圖形按鈕,經(jīng)過(guò)點(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)行組織,以樹(shù)狀的形式顯示。用戶能夠方便地從中找到要管理的對(duì)象。對(duì)象窗格中的某些對(duì)象包含其它對(duì)象。對(duì)象左面的加號(hào)(+)指示該對(duì)象是折疊的。可單擊加號(hào)展開(kāi)它。當(dāng)展開(kāi)對(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)行的所有操作幾乎都包含在菜單中??刂浦行某四軌驈腄B2桌面的文件夾中進(jìn)行存取,也能夠在命令行下鍵入db2cc命令存取。2.2.9、工具設(shè)置(ToolSettings)工具設(shè)置能夠用來(lái)更改某些系統(tǒng)工具的設(shè)置,比如設(shè)定SQL語(yǔ)句之間的分隔符、如果DB2實(shí)例沒(méi)有啟動(dòng),是否需要在UDB工具啟動(dòng)的時(shí)候自動(dòng)啟動(dòng)實(shí)例。工具設(shè)置能夠從工具欄上的圖形按鈕存取。具體界面如下圖。2.2.10、快速向?qū)?SmartGuides)UDB中很多任務(wù)的完成涉及到很多術(shù)語(yǔ)和參數(shù),如果用戶對(duì)這些信息不是很了解,會(huì)影響到任務(wù)的完成效果。為了能夠?qū)@些用戶提供幫助,UDB中提供了很多快速向?qū)А_@些快速向?qū)軌蜥槍?duì)不同的任務(wù)向用戶提出一些比較淺顯的問(wèn)題,根據(jù)用戶對(duì)問(wèn)題的回答設(shè)定相應(yīng)的參數(shù)。幫助用戶完成相應(yīng)的任務(wù)。UDB中提供的快速向?qū)Х譃橐韵聨最?對(duì)象創(chuàng)立類:在創(chuàng)立數(shù)據(jù)庫(kù)、表空間和表時(shí)提供幫助。數(shù)據(jù)庫(kù)管理任務(wù):在備份和恢復(fù)數(shù)據(jù)庫(kù)時(shí)提供幫助。多點(diǎn)更改:在分布式環(huán)境下,對(duì)涉及到多數(shù)據(jù)庫(kù)更改的事務(wù)進(jìn)行控制。性能調(diào)節(jié):幫助用戶對(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ū)椭脩羰褂妙A(yù)定義的列模板來(lái)設(shè)計(jì)列,創(chuàng)立表的主關(guān)鍵字并將一個(gè)或多個(gè)表空間分配給表。要調(diào)用它,選擇”表”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)立->使用SmartGuide創(chuàng)立表。創(chuàng)立表空間快速向?qū)?此快速向?qū)г试S用戶創(chuàng)立一個(gè)新的表空間并設(shè)置存儲(chǔ)及性能選項(xiàng)。要調(diào)用它,選擇”表空間”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)立->使用SmartGuide創(chuàng)立表空間。索引快速向?qū)?該快速向?qū)椭脩舸_定對(duì)給定的一組SQL語(yǔ)句,要?jiǎng)?chuàng)立或刪除哪些索引,才能使給定的語(yǔ)句性能最優(yōu)。要調(diào)用它選擇”索引”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)立->使用SmartGuide創(chuàng)立索引。性能配置。此快速向?qū)椭鶕?jù)有關(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ù)據(jù)庫(kù)快速向?qū)?此快速向?qū)?jīng)歷恢復(fù)數(shù)據(jù)庫(kù)的全過(guò)程。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫(kù)的圖符,單擊鼠標(biāo)按鈕2,然后選擇復(fù)原->使用SmartGuide復(fù)原數(shù)據(jù)庫(kù)。備份數(shù)據(jù)庫(kù)快速向?qū)?它詢問(wèn)用戶關(guān)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)、數(shù)據(jù)庫(kù)的可用性以及可恢復(fù)性要求等基本問(wèn)題。然后它建議一個(gè)備份方案、創(chuàng)立作業(yè)腳本并調(diào)度它。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫(kù)的圖符,單擊鼠標(biāo)按鈕2,然后選擇備份->使用SmartGuide備份數(shù)據(jù)庫(kù)。配置多站點(diǎn)更新快速向?qū)?該快速向?qū)椭脩粼诜植际江h(huán)境下,對(duì)涉及到多數(shù)據(jù)庫(kù)更改的事務(wù)進(jìn)行控制。要使用它,選擇相應(yīng)實(shí)例,單擊鼠標(biāo)按鈕2,然后選擇多站點(diǎn)更新->使用SmartGuide配置。2.2.11、通用工具選項(xiàng)除了以上提供的工具之外,UDB還有幾個(gè)其它相關(guān)工具選項(xiàng)。例如:顯示SQL(ShowSQL)和顯示命令(ShowCommand)如果某個(gè)工具生成了SQL語(yǔ)句,比如創(chuàng)立表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個(gè)按鈕之一,能夠查看該工具根據(jù)用戶在圖形界面中所做選擇而生成的SQL語(yǔ)句或DB2命令。幫助用戶了解該界面是如何工作的。另外該選項(xiàng)也允許用戶將語(yǔ)句或命令另存為腳本以備將來(lái)使用。若用戶希望再次運(yùn)行相同的語(yǔ)句或命令,能夠不必重新輸入SQL語(yǔ)句或DB2命令。一旦SQL語(yǔ)句或DB2命令已保存到腳本中,用戶能夠調(diào)度腳本、編輯此腳本進(jìn)行更改或創(chuàng)立類似的腳本而不必重新輸入語(yǔ)句或命令。顯示相關(guān)對(duì)象(ShowRelated)顯示相關(guān)項(xiàng)顯示表、索引、視圖、別名、觸發(fā)器、表空間、”用戶定義函數(shù)”以及”用戶定義類型”之間的直接關(guān)系。顯示相關(guān)對(duì)象能夠幫助用戶了解一個(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ù)的使用過(guò)程中,經(jīng)常需要將一個(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),不過(guò)這種方法對(duì)管理的要求較高,而且需要網(wǎng)絡(luò)的連接。更常見(jiàn)的方法是利用某種類型的外部文件作為中介,將一個(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)手段上有很大差異。能夠被DB2所支持用作數(shù)據(jù)移動(dòng)的中間文件的格式有四種:非定界ASCII碼文件(ASCII)、定界ASCII碼文件(DELASCII)、WSF文件和PC/IXF文件。其特點(diǎn)是:ASCII:純文本格式,每個(gè)數(shù)據(jù)列之間中有分隔符,但數(shù)據(jù)行之間沒(méi)有分隔符。ASCII文件不能被EXPORT支持。、DEL:純文本格式,數(shù)據(jù)列之間有分隔符,數(shù)據(jù)行之間也有分隔符。WSF:Lotus1-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è)表中的數(shù)據(jù)導(dǎo)出到外部文件中。下面是EXPORT的一個(gè)例子:,staff.dept,org.locationformorg,staff,whereorg.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í)行EXPORT的用戶至少要有相關(guān)表或視圖上的SELECT權(quán)限。如果使用PC/IXF文件,文件中將包含表中的索引定義。能夠經(jīng)過(guò)DB2Connect將主機(jī)上的數(shù)據(jù)導(dǎo)出到外部文件中。3.3、IMPORT的功能和使用IMPORT能夠被看作是EXPORT的逆過(guò)程,用于將數(shù)據(jù)從外部文件中導(dǎo)入到數(shù)據(jù)庫(kù)之中。下面是一個(gè)IMPORT的例子:db2connecttomusicdbdb2importfromartexprtofixfmessagesartmsgcreateintoartistsin<tablespace>indexin<indextablespace>longin<longtablesapce>在該例中,artexprt文件的數(shù)據(jù)被導(dǎo)入到表artists中,這個(gè)表在IMPORT之前并不存在,系統(tǒng)將根據(jù)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)入。能夠經(jīng)過(guò)DB2Connect向主機(jī)上的數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)。3.4、LOAD的功能和使用3.1、LOAD概述LOAD的功能與IMPORT類似,但實(shí)現(xiàn)的方式有很大區(qū)別。其操作方式更加貼近底層。LOAD會(huì)把要導(dǎo)入的數(shù)據(jù)格式化成數(shù)據(jù)頁(yè),利用并行I/O寫(xiě)入存儲(chǔ)介質(zhì)。在LOAD過(guò)程中,只進(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è)階段與IMPORT相比,LOAD雖然在速度上有明顯的優(yōu)勢(shì),但對(duì)管理上的要求比較高。LOAD能夠分成三個(gè)階段。第一個(gè)階段叫LOAD階段。在這個(gè)階段中,數(shù)據(jù)被導(dǎo)入到表中,如果表上有索引存在,LOAD將按照索引定義搜集索引關(guān)鍵字,然后進(jìn)行排序。如果有不符合表定義的數(shù)據(jù)行,LOAD將會(huì)把它們放到一個(gè)文件(DUMPFILE)中,同時(shí)在消息文件(MESSAGEFILE)中進(jìn)行記錄。如果在命令中指定了SAVECOUNT參數(shù),LOAD將每隔一定數(shù)目的數(shù)據(jù)行進(jìn)行一次保存。第二個(gè)階段叫BUILD階段。在這個(gè)階段中,LOAD會(huì)利用在LOAD階段搜集的索引關(guān)鍵字構(gòu)造索引。如果表上沒(méi)有索引,這個(gè)過(guò)程將被忽略。另外,如果表上定義了唯一性約束,LOAD會(huì)在這個(gè)階段進(jìn)行檢查。如果有違反唯一性約束的數(shù)據(jù)行,LOAD將會(huì)把它們拷貝到一個(gè)特殊的表—例外表(ExceptionTable)中。相應(yīng)的信息會(huì)保存在信息文件(MESSAGEFILE)中。第三個(gè)階段叫DELETE階段。在這個(gè)階段中,所有違反唯一性約束的行將被從表中刪除。3.4.3、異常情況的處理由于某些操作的失敗,表空間可能處于某種異常狀態(tài)。表空間的狀態(tài)能夠經(jīng)過(guò)DB2LISTTABLESPACES。如果狀態(tài)的編碼為0x0000,表明表空間狀態(tài)正常,否則表明表空間處于某種異常狀態(tài)。比如0x0008表明表空間處于裝載掛起(LOADPENDING)狀態(tài),0x010表明表空間處于刪除掛起(
DELETEPENDING)狀態(tài),0x020表明表空間處于備份掛起(BACKUPPENDING)狀態(tài)。上面提到的幾個(gè)狀態(tài)都是在LOAD過(guò)程中有可能發(fā)生的。我們下面就來(lái)探詢其原因及解決辦法。3.4.4如果LOAD由于用戶的錯(cuò)誤而沒(méi)有運(yùn)行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對(duì)表空間的狀態(tài)不會(huì)有任何影響。如果LOAD在向表中導(dǎo)入數(shù)據(jù)的時(shí)候出現(xiàn)了錯(cuò)誤,LOAD會(huì)終止,同時(shí)將要導(dǎo)入數(shù)據(jù)的表所在的表空間置于LOADPENDING狀態(tài)。如果表空間處于LOADPENDING,除了使用LOAD工具對(duì)表空間進(jìn)行操作來(lái)消除LOADPENDING狀態(tài)以外,不能對(duì)該表空間進(jìn)行其它操作。出現(xiàn)了LOADPENDING狀態(tài)以后,應(yīng)該對(duì)LOAD生成的MESSAGE文件進(jìn)行檢查,查看是在LOAD的哪一個(gè)階段出現(xiàn)的問(wè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條記錄重新開(kāi)始導(dǎo)入。如果是在LOAD過(guò)程中的BUILD階段和DELETE階段時(shí)出現(xiàn)了錯(cuò)誤,LOAD會(huì)從這兩個(gè)階段的起始點(diǎn)重新開(kāi)始。如果利用RESTART選項(xiàng)后,LOAD能夠成功,則LOADPENDING狀態(tài)能夠被消除。如果使用RESTART選項(xiàng)依然不能成功,則能夠使用TERMINATE選項(xiàng)來(lái)終止LOAD過(guò)程,同時(shí)消除LOADPENDING狀態(tài)。如果我們?cè)诮K止LOAD時(shí)使用了INSERT選項(xiàng),則能夠?qū)⒈砘謴?fù)到LOAD以前的狀態(tài)。如果我們使用的是REPLACE選項(xiàng),則表中的數(shù)據(jù)被清空。3.4.4LOADPENDING狀態(tài)是LOAD失敗后出現(xiàn)的異常狀態(tài)。但即使LOAD成功了,也不能保證表空間處于正常狀態(tài),這取決于LOAD時(shí)選擇的復(fù)制選項(xiàng)。如果我們選擇的是COPYYES(缺省選項(xiàng)),則LOAD成功后會(huì)將表空間置成BACKUPPENDING狀態(tài),需要對(duì)該表空間進(jìn)行備份才能消除;如果我們選擇的是COPYYES,則系統(tǒng)在LOAD過(guò)程中自動(dòng)對(duì)載入的數(shù)據(jù)進(jìn)行備份,LOAD成功后表空間處于正常狀態(tài);如果我們選擇的是NONRECOVERABLE,則系統(tǒng)在LOAD過(guò)程中不對(duì)載入數(shù)據(jù)進(jìn)行備份,在LOAD成功后也不把表空間置于BACKUPPENDING狀態(tài)。之因此LOAD要提供幾種復(fù)制選項(xiàng)的原因是由于出于數(shù)據(jù)完整性的考慮。我們?cè)谇懊嬉呀?jīng)介紹過(guò),LOAD只做很少的日志,導(dǎo)入的數(shù)據(jù)不被記錄在日志之中。如果在LOAD以后,數(shù)據(jù)庫(kù)崩潰了,LOAD導(dǎo)入的數(shù)據(jù)將無(wú)法得到恢復(fù),造成數(shù)據(jù)的不完整。如果使用COPYNO選項(xiàng),系統(tǒng)會(huì)強(qiáng)制用戶在LOAD之后對(duì)表空間進(jìn)行備份,如果以后需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),則能夠從中恢復(fù)LOAD導(dǎo)入的數(shù)據(jù);如果使用COPYYES選項(xiàng),則系統(tǒng)在LOAD過(guò)程中會(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īng)過(guò)下表將這兩中工具進(jìn)行一下對(duì)照。IMPORTLOAD說(shuō)明在導(dǎo)入大量數(shù)據(jù)時(shí)速度較慢在導(dǎo)入大量數(shù)據(jù)時(shí)速度明顯比IMPORT快LOAD是將數(shù)據(jù)格式化成數(shù)據(jù)頁(yè)的形式直接寫(xiě)入數(shù)據(jù)庫(kù)如果使用IXF文件格式,表和索引能夠不存在在導(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不會(huì)激活觸發(fā)器IMPORT能夠使用COMMITCOUNT參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次提交,如果IMPORT失敗,能夠從最后的一次提交點(diǎn)重新開(kāi)始。LOAD能夠使用SAVECOUNT參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次保存,如果LOAD失敗,能夠從最后的一次提交點(diǎn)重新開(kāi)始。IMPORT使用的是數(shù)據(jù)庫(kù)內(nèi)部的臨時(shí)表空間LOAD使用的是數(shù)據(jù)庫(kù)以外的臨時(shí)空間所有的約束在IMPORT過(guò)程中都將被總結(jié)在LOAD過(guò)程中只檢查唯一性約束LOAD關(guān)閉約束檢查,需要在LOAD后用SETINTEGERITY消除表上的CHECKPENDING狀態(tài)在IMPORT過(guò)程中,當(dāng)每一行被導(dǎo)入時(shí),索引關(guān)鍵字被插入到索引中在LOAD過(guò)程中,LOAD在LOAD階段搜集索引關(guān)鍵字,在BULID階段統(tǒng)一生成索引如果需要重新搜集統(tǒng)計(jì)信息,在IMPORT后使用RUNSTAT工具如果需要重新搜集統(tǒng)計(jì)信息,能夠在LOAD后使用RUNSTAT工具,也能夠在LOAD過(guò)程中進(jìn)行搜集在LOAD中直接搜集統(tǒng)計(jì)信息會(huì)延長(zhǎng)LOAD所需時(shí)間IMPORT能夠被DB2Connect支持LOAD能夠被DB2Connect支持?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不需要備份根據(jù)復(fù)制選項(xiàng)的不同,可能需要進(jìn)行備份IMPORT導(dǎo)入的數(shù)據(jù)在日志中會(huì)有記錄第四章數(shù)據(jù)庫(kù)恢復(fù)在防止關(guān)鍵數(shù)據(jù)的丟失當(dāng)中,恢復(fù)用戶自己的環(huán)境十分重要。有一些工具能夠幫助用戶管理自己的環(huán)境和保證用戶能夠?qū)ψ约旱臄?shù)據(jù)實(shí)施充分的恢復(fù)措施。我們將討論在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的日志存檔概念,因?yàn)樗鼘儆跀?shù)據(jù)庫(kù)的恢復(fù)功能的組成部分。日志文件是由DB2用來(lái)確保數(shù)據(jù)庫(kù)完整性,即使當(dāng)出現(xiàn)某些不可預(yù)見(jiàn)的問(wèn)題引起用戶系統(tǒng)癱瘓時(shí),比如發(fā)生斷電故障,也能做到這一點(diǎn)。要充分理解日志工作的目的,首先解釋清楚工作單元(unitofwork)和事務(wù)(transaction)這兩個(gè)概念。4.1工作單元為了確保數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性,應(yīng)用程序經(jīng)常必須立即實(shí)施一些變更。類似,它必須禁止所有的變更。這就叫做工作單元(unitofwork)。工作單元是應(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ù)在象DB2這樣的關(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)用程序必須經(jīng)過(guò)發(fā)出一條SQLCOMMIT(委托確認(rèn))或SQLROLLBACK(退回)語(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),但將受到影響的行返回到開(kāi)始該事務(wù)之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶數(shù)據(jù)的完整性,DB2已經(jīng)實(shí)施提前寫(xiě)日志存檔模式。提前寫(xiě)日志存檔的基礎(chǔ)是指:當(dāng)發(fā)出刪除、插入或更新數(shù)據(jù)庫(kù)中某一數(shù)據(jù)的SQL調(diào)用時(shí),所做出數(shù)據(jù)變更首先要寫(xiě)到日志文件中去。當(dāng)發(fā)出一條SQL委托確認(rèn)命令時(shí)DB2要保證把為了重新運(yùn)作(replay)所需要的日志文件都寫(xiě)入磁盤(pán)中。在發(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í),日志存檔過(guò)程就要在另一個(gè)日志文件中繼續(xù)進(jìn)行。4.4日志管理配置4.4.1日志的類型現(xiàn)在我們來(lái)考查可能出現(xiàn)在DB2中的兩類日志:·循環(huán)日志(Circularlogging)·歸檔日志(Archivallogging)4.4.2循環(huán)日志用這種類型的日志,將按順序使用各個(gè)日志文件。當(dāng)保留在這類日志文件中的所有工作單元被委托確認(rèn)或退回時(shí),這些日志文件能夠被重新使用。所委托確認(rèn)的變更將被反映在支持?jǐn)?shù)據(jù)庫(kù)的磁盤(pán)上。循環(huán)日志(circularlogging)方法如圖6.3中所示。
11主日志文件2”n”主日志文件2”n”輔日志文件夾輔日志文件夾33圖4.3循環(huán)日志循環(huán)日志使用兩類日志文件:·主日志文件(Primarylogfiles)·輔助日志文件(Secondlogfiles)主日志文件是預(yù)先分配的,而輔助日志文件僅在需要時(shí)才分配。如果數(shù)據(jù)庫(kù)管理器需要序列中的下一個(gè)日志,而且不能被重用,那么將分配一個(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)做過(guò)備份的點(diǎn)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)時(shí),自從進(jìn)行備份以后對(duì)數(shù)據(jù)庫(kù)所做的任何工作都將丟失。由于這個(gè)原因,循環(huán)日志方式最適合用于那些只供查詢的數(shù)據(jù)庫(kù)。4.4.3歸檔日志歸檔日志(archivallogging)是這樣一種日志管理技術(shù),其中的日志文件處于非活動(dòng)狀態(tài)時(shí)便將它們做歸檔處理。歸檔日志方法如圖6.4所示。
1212活動(dòng)的一包含有關(guān)非委托確認(rèn)的或非擴(kuò)充的事務(wù)。活動(dòng)的一包含有關(guān)非委托確認(rèn)的或非擴(kuò)充的事務(wù)。DATA13DATA131414聯(lián)機(jī)歸檔一包含被委托確認(rèn)的和被擴(kuò)充的事務(wù)。存放于ACTIVE日志子目錄中。15脫機(jī)歸檔——?dú)w檔數(shù)據(jù)來(lái)聯(lián)機(jī)歸檔一包含被委托確認(rèn)的和被擴(kuò)充的事務(wù)。存放于ACTIVE日志子目錄中。15ACTIVE日志子目錄(也可能在其它介質(zhì)上)。1616圖4.4歸檔日志方法Active(活動(dòng)的)(由數(shù)15和16表示)這些文件包含與尚未委托確認(rèn)(或退回)工作的事務(wù)相關(guān)的信息。它們還包括已經(jīng)被委托確認(rèn)但它們的變更還沒(méi)有寫(xiě)回到數(shù)據(jù)庫(kù)文件中的事務(wù)信息。On_lineArchival(聯(lián)機(jī)歸檔)(由數(shù)14表示)這些文件包含有已經(jīng)完成不再需要崩潰恢復(fù)保護(hù)的事務(wù)有關(guān)的信息。它們叫做聯(lián)機(jī)(on_line)是因?yàn)樗鼈凂v留在與活動(dòng)日志文件相同的子目錄中。Off-lineArchival(脫機(jī)歸檔)(由數(shù)12和13表示)這些文件已經(jīng)被從活動(dòng)的日志文件子目錄傳送出。傳送這些文件的方法可能是一個(gè)手工過(guò)程,比如,經(jīng)過(guò)userexit調(diào)用的手工過(guò)程。只要簡(jiǎn)單地經(jīng)過(guò)把歸檔日志文件傳遞至另一個(gè)目錄,把它們存儲(chǔ)到磁帶或其它某種介質(zhì)上,就能夠把歸檔日志文件置為”脫機(jī)的”(off-line)。兩個(gè)配置參數(shù)允許用戶去配置進(jìn)行歸檔日志的數(shù)據(jù)庫(kù):·LOGRETAIN·USEREXIT當(dāng)LOGRETAIN數(shù)據(jù)庫(kù)配置參數(shù)被啟動(dòng)時(shí),在日志文件變?yōu)榛顒?dòng)狀態(tài)時(shí),不刪除日志文件,當(dāng)userexit這一數(shù)據(jù)庫(kù)配置參數(shù)被激活時(shí),每當(dāng)日志文件不再需要用于日志寫(xiě)時(shí),數(shù)據(jù)庫(kù)管理器將調(diào)用叫做db2uexit的程序。數(shù)據(jù)庫(kù)名和日志文件的路徑被傳送給該程序。歸檔日志方式不是默認(rèn)的日志工作方式,但它是允許用戶執(zhí)行前滾(rollforward)恢復(fù)的唯一方法。4.4.4日志文件用于以下情形:Rollback(退回)CrashRecovery(事故恢復(fù))RollForwardRecovery(前滾恢復(fù))ROLLBACK命令使用日志文件去終止工作單元,而且退還由工作單元所做出的數(shù)據(jù)庫(kù)變更。事故恢復(fù)如果用戶的系統(tǒng)經(jīng)歷了磁盤(pán)故障、停電或其它類型的事故,就需要事故恢復(fù)去將數(shù)據(jù)庫(kù)返回到一致的可用狀態(tài)。事故恢復(fù)由兩個(gè)階段組成。第一個(gè)階段對(duì)數(shù)據(jù)庫(kù)重新應(yīng)用所有的事務(wù),不論這些事務(wù)是否被委托確認(rèn)還是沒(méi)有被委托確認(rèn)。當(dāng)?shù)竭_(dá)活動(dòng)日志文件尾部,這一階段便告結(jié)束。第二個(gè)階段回退所有非委托確認(rèn)的事務(wù)。設(shè)置事故恢復(fù)的數(shù)據(jù)庫(kù)配置參數(shù)是AUTORESTART。按照默認(rèn)方式,該參數(shù)被設(shè)置為ON。前滾恢復(fù)每當(dāng)恢復(fù)表空間備份或數(shù)據(jù)庫(kù)備份時(shí),就調(diào)用ROLLFORWARDDATABASE命令。前滾(rollforward)應(yīng)用記錄到數(shù)據(jù)庫(kù)日志文件中的事務(wù)。每當(dāng)讀或?qū)懘疟P(pán)發(fā)生一個(gè)I/O錯(cuò)誤時(shí),頁(yè)所駐留的空間便失效,而且被置于”前滾掛起”(rollforwardpending)狀態(tài)。如果該掛起狀態(tài)不能用表空間的前滾去清理,那么恢復(fù)之后需要有前滾操作。下面是ROLLFORWARDDATABASE命令的語(yǔ)法格式:ROLLFORWARDDATABASEdatabase-alias[USERusername[USINGpassword]][TO{isotime|ENDOFLOGS}[ANDSTOP]|STOP|QUERYSTATUS][TABLESPACEon-line][OVERFLOWLOGPATHlog-directory]圖4.5ROLLFORWARDDATABASE命令的語(yǔ)法格式對(duì)圖4.5中所示的參數(shù)的描述在下面給出:·database-alias(數(shù)據(jù)庫(kù)別名)數(shù)據(jù)庫(kù)名將前滾?!sername(用戶名)授權(quán)的用戶標(biāo)識(shí)。在該標(biāo)識(shí)下,對(duì)數(shù)據(jù)庫(kù)進(jìn)行前滾。·password(口令)對(duì)所應(yīng)用的用戶名的口令。·TOisotime這是一個(gè)時(shí)間點(diǎn),所有被委托確認(rèn)的事務(wù)對(duì)該點(diǎn)進(jìn)行前滾。這個(gè)參數(shù)僅對(duì)完全數(shù)據(jù)庫(kù)恢復(fù)有效?!OENDOFLOGS這一參數(shù)使得前滾過(guò)程去處理它在當(dāng)前日志路徑目錄中所能夠找到的所有日志文件?!TOP|ANDSTOP這表明用戶已經(jīng)處理過(guò)所有的日志文件而且用戶想要建立數(shù)據(jù)庫(kù)的一致性。·QUERYSTAUS列出已經(jīng)進(jìn)行完前滾操作的日志文件、所需要的下一個(gè)歸檔日志文件和自從前滾處理以來(lái)最后一個(gè)委托確認(rèn)的事務(wù)的時(shí)間印戳?!ABLESPACEon-line表示前滾處理將在表空間級(jí)別上進(jìn)行。·OVERFLOWLOGPATH指定另外一條日志路徑去搜索存檔的日志文件。4.5備份的恢復(fù)本小節(jié)描述備份與恢復(fù)服務(wù)程序,它們用來(lái)在出現(xiàn)事故時(shí)保護(hù)和恢復(fù)數(shù)據(jù)庫(kù)。我們將討論數(shù)據(jù)庫(kù)與表空間這兩種對(duì)象的備份和恢復(fù)問(wèn)題。4.5.1執(zhí)行數(shù)據(jù)庫(kù)級(jí)別的備份當(dāng)用戶數(shù)據(jù)庫(kù)處于連機(jī)或脫機(jī)狀態(tài)時(shí),用戶都能夠備份自己的數(shù)據(jù)庫(kù)。如果執(zhí)行的是狀態(tài)的備份,那么只有備份任務(wù)與數(shù)據(jù)庫(kù)相連接。所存儲(chǔ)的數(shù)據(jù)必須保持一致性。備份的級(jí)別是根據(jù)災(zāi)難事故恢復(fù)的需要,它應(yīng)當(dāng)成為任何備份/恢策略的實(shí)質(zhì)性部分。如果備份是以連機(jī)方式進(jìn)行,在運(yùn)行備份任務(wù)的同時(shí),其它應(yīng)用程序或進(jìn)程可能繼續(xù)去與之連接。只有激活前滾恢復(fù)過(guò)程,才能支持聯(lián)機(jī)備份。要使用BACKUPDATABASE命令,用戶必須擁有SYSADM、SYSCTRL或SYSMAINT權(quán)限。在發(fā)出BACKUPDATABASE命令前,必須啟動(dòng)數(shù)據(jù)庫(kù)管理器(DB2START)。用戶正在使用數(shù)據(jù)庫(kù)目錄,用戶不需要顯式地啟動(dòng)數(shù)據(jù)庫(kù)管理器。BACKUPDATABASE命令使用數(shù)據(jù)庫(kù)別名而不是數(shù)據(jù)庫(kù)名本身作為該命令的一個(gè)參數(shù)。數(shù)據(jù)庫(kù)能夠是本地?cái)?shù)據(jù)庫(kù)或遠(yuǎn)程數(shù)據(jù)庫(kù)。用戶能夠?qū)?shù)據(jù)庫(kù)或表空間備份到磁盤(pán)、磁帶或由一個(gè)象ADSTAR分布式存儲(chǔ)管理器(ADSM)那樣的服務(wù)程序的管理的位置。如果用戶改變數(shù)據(jù)庫(kù)配置參數(shù)去激活前滾恢復(fù)過(guò)程,那么在數(shù)據(jù)庫(kù)可用之前,用戶必須取一個(gè)該數(shù)據(jù)庫(kù)的脫機(jī)備份。能夠創(chuàng)立多個(gè)文件去包含備份的映象。在備份過(guò)程期間,被數(shù)據(jù)填滿的內(nèi)部緩沖區(qū)要備份。當(dāng)這一緩沖區(qū)裝滿數(shù)據(jù)時(shí),其上的數(shù)據(jù)要被復(fù)制到備份介質(zhì)上。當(dāng)用戶調(diào)用BACKUPDATABASE命令時(shí)。她能夠指定用于備份緩沖區(qū)的頁(yè)數(shù)。最小的頁(yè)數(shù)值是16。如果在備份數(shù)據(jù)庫(kù)的關(guān)鍵時(shí)刻,系統(tǒng)發(fā)生了災(zāi)難事故,在用戶重新發(fā)出BACKUPDATABASE命令之前,她不能成功地與數(shù)據(jù)庫(kù)連接。BACKUPDATABADE命令的語(yǔ)法格式如下:對(duì)圖4.6中給出的參數(shù)作如下的進(jìn)一步解釋:BACKUPDATABASEdatabase-alias[USERusername[USINGpassword]][TABLESPACEtablespace-name[{,tblspace-name}..]][ONLINE][USEADSM[OPENnum-sessSESSIONS]]|TOdir/dev[{,dir/dev}..]|LOADlib-buffBUFFERS][WITHnum-buffBUFFERS][BUFFERbuffer-size][WITHOUTPROMPTING]圖4.6BACKUPDATABASE命令的語(yǔ)法·DATABASEdatabase-alias規(guī)定要備份數(shù)據(jù)庫(kù)的別名?!SERusername標(biāo)識(shí)在其名下備份任務(wù)的用戶名?!SINGpassword用來(lái)檢驗(yàn)用戶名氣口令?!ABLESPACEtablespace-name列出數(shù)據(jù)庫(kù)內(nèi)要備份的一個(gè)或多個(gè)表空間。·ONLINE規(guī)定采用聯(lián)機(jī)處理方式;默認(rèn)方式是脫機(jī)處理。聯(lián)機(jī)處理需要把數(shù)據(jù)庫(kù)激活成前滾處理方式?!SEADSMOPENnum-sessSESSIONS規(guī)定ADMS將成為這種備份的備份目錄,而且規(guī)定在整個(gè)備份期間將使用的ADMS會(huì)晤數(shù)”num-sessions”?!Otarget-area規(guī)定哪里將是備份的目標(biāo)位置。這可能是一個(gè)目錄或磁帶設(shè)備名。如果備份至目錄,必須指定完整的路徑名。如果沒(méi)有給出任何參數(shù),備份將在當(dāng)前目錄上進(jìn)行?!OADlibrary-nameOPENnum-sessSESSIONS規(guī)定第三方供應(yīng)商產(chǎn)品將作為這次備份的目錄,并規(guī)定將使用”num-sessions”?!ITHnum-buffersBUFFERS要使用的緩沖區(qū)數(shù)目?!UFFERbuffer-size用于適當(dāng)處理的緩沖區(qū)以頁(yè)為單位的大小。它的最小值是16頁(yè)。默認(rèn)值是1,024。·WITHOUTPROMPTING執(zhí)行備份時(shí)不是新介質(zhì)作提示。4.6執(zhí)行數(shù)據(jù)庫(kù)級(jí)別上的恢復(fù)用戶要在其上執(zhí)行恢復(fù)操作的數(shù)據(jù)庫(kù)可能與從中備份出數(shù)據(jù)的原始數(shù)據(jù)庫(kù)不同,或者也可能與該數(shù)據(jù)庫(kù)相同。用戶能夠把數(shù)據(jù)恢復(fù)到新數(shù)據(jù)庫(kù)或恢復(fù)到現(xiàn)有數(shù)據(jù)庫(kù)的狀況。為了把整個(gè)數(shù)據(jù)庫(kù)或表空間備份恢復(fù)到現(xiàn)有數(shù)據(jù)庫(kù)的狀況,用戶必須有SYSADM、SYSCTRL或SYSMAINT權(quán)限。要恢復(fù)到新數(shù)據(jù)庫(kù)的狀況,用戶必須擁有SYSADM或SYSCTRL權(quán)限。在恢復(fù)數(shù)據(jù)庫(kù)之前必須啟動(dòng)數(shù)據(jù)庫(kù)管理器。如果已經(jīng)用BACKUPDATABASE命令備份了數(shù)據(jù)庫(kù)或表空間,那么用戶能夠只用RESTOREDATABSE命令。在恢復(fù)時(shí)刻,用戶能夠選擇要執(zhí)行哪種類型的恢復(fù)。用戶能夠從以下的恢復(fù)類型中進(jìn)行選擇:完全恢復(fù)備份影象中的所有內(nèi)容。表空間恢復(fù)(使用只包括表空間的備份映象)。只恢復(fù)備份映象中的恢復(fù)歷史文件。數(shù)據(jù)庫(kù)可能是本地?cái)?shù)據(jù)庫(kù)或遠(yuǎn)程數(shù)據(jù)庫(kù)。恢復(fù)過(guò)程需要排它性連接,因此當(dāng)恢復(fù)任務(wù)開(kāi)始時(shí),任何其它應(yīng)用程序都不能再針對(duì)該數(shù)據(jù)庫(kù)運(yùn)行。用于支持恢復(fù)任務(wù)的緩沖區(qū)的大小和數(shù)目能夠作為命令參數(shù)被規(guī)定。在恢復(fù)過(guò)程進(jìn)行期間,用戶能夠有選擇性地使用多緩沖區(qū)(multiplebuffers)去改進(jìn)恢復(fù)操作的性能。當(dāng)用戶調(diào)用RESTOREDATABASE命令時(shí),她能夠規(guī)定每個(gè)恢復(fù)緩沖區(qū)使用的頁(yè)數(shù)。最小的頁(yè)數(shù)值是16?;謴?fù)數(shù)據(jù)庫(kù)命令所使用的數(shù)據(jù)庫(kù)或表空間的備份考備拷貝能夠存放在磁盤(pán)、磁帶或由象ADSTAR分布式存儲(chǔ)器管理器(ADSM)這樣的產(chǎn)品管理所在的地方。我們說(shuō)過(guò),在恢復(fù)數(shù)據(jù)庫(kù)時(shí),用戶能夠規(guī)定是恢復(fù)到現(xiàn)有數(shù)據(jù)庫(kù)狀況,還是恢復(fù)到新數(shù)據(jù)庫(kù)的狀況,如圖4.7中所示。備份現(xiàn)存新的刪除表、索引長(zhǎng)字段文件保留認(rèn)證保持?jǐn)?shù)據(jù)庫(kù)字典替換表空間項(xiàng)保持歷史核心數(shù)據(jù)庫(kù)種子創(chuàng)立新數(shù)據(jù)庫(kù)恢復(fù)認(rèn)證恢復(fù)數(shù)據(jù)庫(kù)配置文件設(shè)置默認(rèn)日志路徑恢復(fù)注解圖4.7將備份映象恢復(fù)到數(shù)據(jù)庫(kù)上一旦數(shù)據(jù)庫(kù)級(jí)別上的恢復(fù)任務(wù)開(kāi)始,直至恢復(fù)命令成功地完成之前,該數(shù)據(jù)庫(kù)不能再使用。在允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)之前,有可能執(zhí)行前滾操作。如果在恢復(fù)操作期間發(fā)生了失敗故障,那么在用戶再次發(fā)出恢復(fù)命令而且成功地完成恢復(fù)操作之前,她不能與數(shù)據(jù)庫(kù)連接。對(duì)于每種情形都需要考慮一些問(wèn)題:·恢復(fù)到現(xiàn)有數(shù)據(jù)庫(kù)上用戶能夠?qū)⑼暾臄?shù)據(jù)庫(kù)備份或表空間備份的映象恢復(fù)到由一個(gè)或多個(gè)表空間組成的現(xiàn)有數(shù)據(jù)庫(kù)。這一恢復(fù)任務(wù)刪除來(lái)之表、索引和長(zhǎng)型字段內(nèi)容,而且用來(lái)自備份映象的內(nèi)容取代它們。然后,它保留認(rèn)證和數(shù)據(jù)庫(kù)字典,該字典定義數(shù)據(jù)庫(kù)安放在哪里和它怎樣為現(xiàn)有數(shù)據(jù)庫(kù)編目。最后,這一恢復(fù)操作取代要被恢復(fù)的每個(gè)表空間中的表空間項(xiàng)而且保留恢復(fù)歷史文件,除非磁盤(pán)上歷史文件已經(jīng)被破壞。·恢復(fù)到新數(shù)據(jù)庫(kù)上用戶能夠創(chuàng)立一個(gè)新數(shù)據(jù)庫(kù),然后把數(shù)據(jù)的備份映象恢復(fù)到這個(gè)新數(shù)據(jù)庫(kù)上。在這種情形中,恢復(fù)任務(wù)使用數(shù)據(jù)庫(kù)名和數(shù)據(jù)庫(kù)別名創(chuàng)立一個(gè)新數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)別名能夠用目標(biāo)數(shù)據(jù)庫(kù)別名參數(shù)去指定。然后,它從該備份映象中恢復(fù)認(rèn)證類型和數(shù)據(jù)庫(kù)配置文件。它還修改數(shù)據(jù)庫(kù)配置文件去表明默認(rèn)的日志文件路徑應(yīng)當(dāng)供日志過(guò)程使用。最后,從有關(guān)數(shù)據(jù)庫(kù)字典的備份映象中恢復(fù)數(shù)據(jù)庫(kù)的注釋。如果用戶要向其中恢復(fù)數(shù)據(jù)的目標(biāo)別名與其中存放備份映象別名相同,那么就要核查數(shù)據(jù)庫(kù)種子。如果數(shù)據(jù)庫(kù)種子不同,該數(shù)據(jù)庫(kù)的備份映象就不能從被恢復(fù)的數(shù)據(jù)庫(kù)做出。該恢復(fù)過(guò)程繼續(xù)刪除與現(xiàn)有數(shù)據(jù)庫(kù)相關(guān)聯(lián)的日志,從備份映象那里復(fù)制數(shù)據(jù)庫(kù)配置文件而且更改數(shù)據(jù)庫(kù)的配置文件去表明日志過(guò)程應(yīng)當(dāng)采用默認(rèn)的日志文件路程。如果數(shù)據(jù)庫(kù)種子相同,那么備份映象能夠從正在被恢復(fù)的數(shù)據(jù)庫(kù)創(chuàng)立。恢復(fù)過(guò)程將繼續(xù)保留當(dāng)前的數(shù)據(jù)庫(kù)配置文件,除非該文件被破壞了。如果備份映象是不可恢復(fù)的數(shù)據(jù)庫(kù),那么恢復(fù)過(guò)程還將刪除該日志,否則將保留各個(gè)日志文件。下面給出的是RESTOREDATABASE命令的語(yǔ)法格式:RESTOREDATABASEsource-database-alias{USERusername[USINGpassword]][TABLESPACEon-line|HISTORYFILE]USEADSM[OPENnum-sessions]]|FROMdir/dev[{.dir/dev}..]LOADshared-lib[OPENnum-sessSESSIONS[}[TAKENATdate-time][TOtarget-directory][INTOtarget-database-alias][WITHnum-buffBUFFERS][BUFFERbuffer-size][WITHOUTROLLINGFORWARD][WITHOUTPROMPTING]圖4.8RESTOREDATABASE命令的語(yǔ)法格式圖4.8中出現(xiàn)的參數(shù)描述如下:·DATABASEsource-database-alias規(guī)定要恢復(fù)數(shù)據(jù)庫(kù)的別名。·USERusername標(biāo)識(shí)數(shù)據(jù)庫(kù)要在其名下恢復(fù)的用戶名?!SINGpassword驗(yàn)證用戶名的口令。·TABLESPACEONLINE規(guī)定這是一個(gè)聯(lián)機(jī)的處理方式;默認(rèn)方式是脫機(jī)處理方式。當(dāng)備份過(guò)程進(jìn)行時(shí),其它用戶能夠進(jìn)行連接操作。一旦對(duì)于某個(gè)表空間的恢復(fù)過(guò)程開(kāi)始,直到該恢復(fù)過(guò)程完成而且對(duì)該日志文件末尾的前滾在操作成功完成之前,該表空間不能被使用。聯(lián)機(jī)表空間處理要求把數(shù)據(jù)庫(kù)被激活為前滾處理方式。·HISTORYFILE規(guī)定只從備份映象中恢復(fù)歷史文件。·USEADSMOPENnum-sessSESSIONS規(guī)定要用”num-sessions”(會(huì)晤號(hào))從ADSM管理的輸出中恢復(fù)的數(shù)據(jù)庫(kù)?!ROMdir/device規(guī)定備份映象駐留其上的設(shè)備和目錄?!OADlibrary-nameOPENnum-sessSESSIONS規(guī)定將把第三方供應(yīng)商產(chǎn)品作為這一備份的目標(biāo),而且使用特定的I/O會(huì)晤號(hào)。·TAKENATdate-time這個(gè)參數(shù)允許用戶在若干個(gè)備份映象中進(jìn)行選擇。用戶必須發(fā)出完整的時(shí)間印戳以表明哪個(gè)數(shù)據(jù)庫(kù)映象要被恢復(fù)?!Otarget-database-alias規(guī)定用來(lái)創(chuàng)立目標(biāo)數(shù)據(jù)庫(kù)的路徑。該路徑必須存在于服務(wù)器上。·INTOtarget-database-alias指定要把數(shù)據(jù)存放到其中的數(shù)據(jù)庫(kù)名,以使能夠在恢復(fù)時(shí)更改該名字或數(shù)據(jù)庫(kù)?!ITHnum-buffBUFFERS用使用的緩沖區(qū)數(shù)目?!UFFERbuffer-size用于適當(dāng)過(guò)程中以頁(yè)為單位的緩沖區(qū)的大小。最小值是16頁(yè);默認(rèn)值是1,024頁(yè)?!ITHOUTROLLINGFORWARD這個(gè)選項(xiàng)對(duì)于要恢復(fù)數(shù)據(jù)庫(kù)的脫機(jī)備份映象有效。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題十二機(jī)械振動(dòng)光學(xué)第4講光的波動(dòng)性、電磁波練習(xí)含答案
- 果蔬生鮮供應(yīng)合約
- 吉林省通化市外國(guó)語(yǔ)學(xué)校九年級(jí)化學(xué)上冊(cè) 第二單元 活動(dòng)1 氧氣的實(shí)驗(yàn)室制取與性質(zhì)教案 (新版)新人教版
- 二年級(jí)道德與法治上冊(cè) 第三單元 1《我愛(ài)秋天》教案2 浙教版
- 高中數(shù)學(xué) 第三章 指數(shù)函數(shù)、對(duì)數(shù)函數(shù)和冪函數(shù) 3.1.1 分?jǐn)?shù)指數(shù)冪(2)教案 蘇教版必修1
- 2024-2025學(xué)年新教材高中英語(yǔ) Unit 1 Knowing me Knowing you泛讀 技能初養(yǎng)成教案 外研版必修第三冊(cè)
- 2024-2025學(xué)年八年級(jí)物理下冊(cè) 第十一章 功和機(jī)械能 第1節(jié) 功教案 (新版)新人教版
- 高中語(yǔ)文 第7課 李清照詞兩首-聲聲慢教案2 新人教版必修4
- 2023七年級(jí)地理上冊(cè) 第三章 天氣與氣候 第一節(jié) 多變的天氣說(shuō)課稿 (新版)新人教版
- 文書(shū)模板-買(mǎi)賣(mài)合同的構(gòu)成要素
- 河南省周口市川匯區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期中質(zhì)量監(jiān)測(cè)地理試卷
- 2024年新人教版一年級(jí)數(shù)學(xué)上冊(cè)第4單元《第1課時(shí) 10的再認(rèn)識(shí)》課件
- 2024年檢察院招錄書(shū)記員考試法律基礎(chǔ)知識(shí)及答案
- 21 小圣施威降大圣 公開(kāi)課一等獎(jiǎng)創(chuàng)新教案
- 二年級(jí)乘除法口算題計(jì)算練習(xí)大全2000題(可直接打印)
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評(píng)”一體化研究
- 七年級(jí)期中考試考后分析主題班會(huì)課件
- 病例報(bào)告表(樣板)
- 抗美援越烈士們永垂不朽
- 2021年村法制宣傳臺(tái)賬(替換圖片 拿來(lái)即用)
- 兒童百分位標(biāo)準(zhǔn)曲線圖
評(píng)論
0/150
提交評(píng)論