


版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章DB2UDB概況1.1、DB2UDB勺產(chǎn)品家族UDB(UniversalDatabase)的前身為DB2是舊M公司開(kāi)發(fā)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。從其誕生之日開(kāi)始,DB2就定位于要為各種規(guī)模的企業(yè)提供穩(wěn)定、高效的數(shù)據(jù)管理支持??梢哉f(shuō),DB2是當(dāng)前適用范圍最廣泛的數(shù)據(jù)庫(kù)產(chǎn)品。我們對(duì)DB2產(chǎn)品的劃分通常分為兩種方法:一種方法是按其所能支持的硬件和操作系統(tǒng)平臺(tái)進(jìn)行劃分,另一種方法是按其所能支持的用戶(hù)規(guī)模的不同進(jìn)行劃分。DB2產(chǎn)品幾乎覆蓋了當(dāng)前所有流行的硬件和操作系統(tǒng)平臺(tái)。在大型機(jī)操作系統(tǒng)上,有DB2forOS/390、DB2forMVS/ESA、DB2forVSE和DB2forVM等多種產(chǎn)品;在由
2、舊M公司設(shè)計(jì)的小型機(jī)AS/400±,DB2已經(jīng)嵌入在操作系統(tǒng)OS/400之中,成為其不可分割的一部分。DB2對(duì)UNIX操作系統(tǒng)的支持同樣十分廣泛,可以在AIX、HP-UXSolaris、SCO-UNIXSINIX等多種系統(tǒng)上找到其相應(yīng)的版本。另外,在PC操作系統(tǒng)上,DB2可以對(duì)Window9x、WindowsNT以及OS/2等多種操作系統(tǒng)提供支持。UDB6.1還增加了對(duì)Linux操作系統(tǒng)的支持。以上我們所提到的只是DB2服務(wù)器所能運(yùn)行的平臺(tái),DB2的客戶(hù)端所能支持的平臺(tái)更為廣泛,除了以上提到的所有平臺(tái)之外,DB2的客戶(hù)端還能運(yùn)行在Dos、Windows3.x、MacOS以及SGI公司
3、的IRIS系統(tǒng)之上。UDB產(chǎn)品除了能夠?qū)Ω鞣N硬件和操作系統(tǒng)平臺(tái)進(jìn)行支持之外,為了適應(yīng)不同用戶(hù)群的需要,UDB提供了不同級(jí)別的產(chǎn)品,對(duì)小到個(gè)人用戶(hù),大到跨國(guó)企業(yè)的不同需求提供支持。以下是對(duì)UDB6.1版本不同級(jí)別產(chǎn)品的特點(diǎn)介紹:UDB衛(wèi)星版:是專(zhuān)門(mén)為移動(dòng)用戶(hù)設(shè)計(jì)的小型數(shù)據(jù)庫(kù)產(chǎn)品。適合于偶爾連接DB2控制服務(wù)器來(lái)與公司系統(tǒng)交換數(shù)據(jù)的單用戶(hù)系統(tǒng)。它既能允許用戶(hù)對(duì)本地?cái)?shù)據(jù)進(jìn)行各種修改,又可以接受遠(yuǎn)程衛(wèi)星控制器的集中管理,減輕本地用戶(hù)的管理負(fù)擔(dān)。該版本只能運(yùn)行在Windows平臺(tái)。(該版本屬于UDB6.1版本新增版本)UDB個(gè)人版:是專(zhuān)門(mén)為個(gè)人用戶(hù)設(shè)計(jì)的功能完備的個(gè)人數(shù)據(jù)庫(kù)產(chǎn)品,允許用戶(hù)在本地建立數(shù)據(jù)庫(kù)
4、、更改數(shù)據(jù)、開(kāi)發(fā)應(yīng)用程序從本地對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行存取以及通過(guò)內(nèi)置的客戶(hù)端對(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)。(UD"作組版5.0可以運(yùn)行在UNIX平臺(tái))UD廊業(yè)版:簡(jiǎn)稱(chēng)為UDBEE,適用于企業(yè)級(jí)的數(shù)據(jù)管理需求。具有UDBT作組版的全部功能,并能夠利用對(duì)稱(chēng)多處理(SMP技術(shù)提高系統(tǒng)性能。在它的程序包中,包含了DB2Co
5、nnect企業(yè)版,允許Intel平臺(tái)和UNIX平臺(tái)的客戶(hù)端應(yīng)用程序訪(fǎng)問(wèn)大型機(jī)和AS/400上的數(shù)據(jù)庫(kù)服務(wù)。UDB企業(yè)版可以運(yùn)行在WindowsOS/2、Linux以及UNIX平臺(tái)。UD廊業(yè)擴(kuò)展版:簡(jiǎn)稱(chēng)為UDBEEE適用于大規(guī)模的企業(yè)應(yīng)用。大規(guī)模的企業(yè)應(yīng)用的基本要求是穩(wěn)定(宕機(jī)時(shí)間短)和高效(處理速度快),UDB企業(yè)擴(kuò)展版能夠利用群集(cluster)和大規(guī)模并行處理(MPP技術(shù)提高系統(tǒng)的穩(wěn)定性和性能。UD井富的產(chǎn)品線(xiàn)給用戶(hù)提供了極大的選擇余地。是構(gòu)造企業(yè)信息系統(tǒng)的基石。1.2、對(duì)DB的存取方法對(duì)DB的存取可以通過(guò)SQL語(yǔ)言和UDB內(nèi)置的API兩種手段來(lái)實(shí)現(xiàn)。不過(guò)這兩種手段不是能夠相互替代的。S
6、QL語(yǔ)言是國(guó)際標(biāo)準(zhǔn),各數(shù)據(jù)庫(kù)廠(chǎng)商在實(shí)現(xiàn)時(shí)一般會(huì)有一定程度的擴(kuò)展。SQL語(yǔ)言主要是完成對(duì)數(shù)據(jù)的查詢(xún)和更改、數(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、從WE既存取UDBInternet的廣泛使用帶來(lái)了從WEB寸企業(yè)數(shù)據(jù)進(jìn)行存取的要求。如果開(kāi)發(fā)人員要開(kāi)發(fā)基于Web的UDB應(yīng)用程序,可以使用以下方法:1.3.1、通過(guò)JDBC來(lái)存取UDBJDBC是SUN司提供的利用JAVA語(yǔ)言對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存取的標(biāo)準(zhǔn)。在WEBh我
7、們可以通過(guò)編寫(xiě)JAVAApplet或者JAVAServlet來(lái)實(shí)現(xiàn)對(duì)UD副存取。其中Applet運(yùn)行在客戶(hù)端,只需要一個(gè)支持JAVA的瀏覽器(如IE和Netscape等)即可運(yùn)行,客戶(hù)端不需要安裝其它軟件。Applet可以通過(guò)指定端口與服務(wù)器端的JDBC服務(wù)器進(jìn)行通信,提供對(duì)數(shù)據(jù)的存取。Servlet是適應(yīng)當(dāng)今瘦客戶(hù)機(jī)發(fā)展方向的一種編程模式,具有效率高,可移植性好等特點(diǎn)。Servlet運(yùn)行在WEES艮務(wù)器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服務(wù)器端通常還需要安裝Run-timeClient組件。1.3.2、通過(guò)Net.Data來(lái)存取UDB
8、Net.Data是舊M公司開(kāi)發(fā)的通過(guò)WEB寸關(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用戶(hù)可以通過(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等,具體的選擇
9、要看實(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í)用戶(hù)可以創(chuàng)建一個(gè)新的實(shí)例,在新的實(shí)例
10、內(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)限控制,我們可以為不同的實(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í)例中,不能滿(mǎn)足需要。當(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í)例的性能。
11、數(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ì)象的定義、用于查詢(xún)優(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-aAuthType-pPortName-sInstType-uFencedIDInstName其中:-aAuthType是實(shí)例的認(rèn)證類(lèi)型(可以為SERVERCLIENT、DCS、DCKSERVER_ENCRYPT)CS_ENCRYPTDCE_SERVER_
12、ENCRYPT勺一種)。-pPortName是此實(shí)例要使用的端口名或端口號(hào)。-sInstType是要?jiǎng)?chuàng)建的實(shí)例的類(lèi)型(eee、ee或client)。-uFencedID是用戶(hù)名,被隔離UDF和被隔離的存儲(chǔ)過(guò)程將在該用戶(hù)名之下運(yùn)行。InstName是實(shí)例的名稱(chēng)。要列出當(dāng)前系統(tǒng)上創(chuàng)建的所有實(shí)例,可以使用db2ilist命令。要?jiǎng)h除某個(gè)實(shí)例,可以使用db2idrop命令。1.4.3 、實(shí)例級(jí)的操作在DB2中,某些任務(wù)只能在實(shí)例級(jí)別上執(zhí)行。比如,創(chuàng)建數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)管理器配置參數(shù)等工作。這時(shí)候,就需要應(yīng)用程序連接到特定的實(shí)例之上,然后才能進(jìn)行操作。要連接到一個(gè)實(shí)例上,用戶(hù)可以使用ATTACH令,語(yǔ)法
13、為:attachto實(shí)例名user用戶(hù)名using用戶(hù)口令如果用戶(hù)在執(zhí)行實(shí)例級(jí)別的任務(wù)時(shí),沒(méi)有使用ATTACH命令,則系統(tǒng)將使用在DB2INSTANC蝦境變量中指定的缺省實(shí)例來(lái)試圖完成該任務(wù)。1.4.4、數(shù)據(jù)庫(kù)管理服務(wù)器(DAS:UDB的數(shù)據(jù)庫(kù)管理服務(wù)器實(shí)際上也是一個(gè)實(shí)例,只不過(guò)這個(gè)實(shí)例不是用于數(shù)據(jù)服務(wù)的,而是用于管理目的。數(shù)據(jù)庫(kù)管理服務(wù)器提供以下功能:接受遠(yuǎn)程客戶(hù)端的管理請(qǐng)求,將遠(yuǎn)程的管理請(qǐng)求在數(shù)據(jù)庫(kù)服務(wù)器端實(shí)現(xiàn)允許用戶(hù)進(jìn)行任務(wù)調(diào)度允許用戶(hù)對(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)中只能有
14、一個(gè)數(shù)據(jù)庫(kù)管理服務(wù)器。1.4.5、數(shù)據(jù)庫(kù)管理服務(wù)器的使用如果沒(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.1、DB2環(huán)境變量除
15、了實(shí)例配置文件和數(shù)據(jù)庫(kù)配置文件中所包含的參數(shù)之外,還有一些配置參數(shù)對(duì)數(shù)據(jù)庫(kù)環(huán)境起到控制作用。這些配置參數(shù)分為三類(lèi):環(huán)境變量:這類(lèi)變量的設(shè)置方法因操作系統(tǒng)的不同而有所差異。例如在WindowsNT環(huán)境中,選擇控制面板系統(tǒng)環(huán)境來(lái)設(shè)置;在OS/2中則要更改config.sys文件。這類(lèi)變量在更改后很可能需要重新啟動(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)??梢杂胐b2set命令來(lái)設(shè)置。更改后需要重新啟動(dòng)所有實(shí)例才生效。舉例:變量類(lèi)型變量名稱(chēng)變量作用環(huán)境變量DB2INSTANCE缺省的DB2實(shí)
16、例,如果沒(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é)議與客戶(hù)端通信。全局級(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.5.2、db2set命令db2set命令可以用來(lái)管理和設(shè)置DB2的登記項(xiàng),命令語(yǔ)法如下:db2set<option>vari
17、able=value其中常用的命令選項(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、訪(fǎng)問(wèn)控制一權(quán)限1.6.1、DB2訪(fǎng)問(wèn)控制的層次結(jié)構(gòu)DB2中的訪(fǎng)問(wèn)控制層次如上圖所示??梢詫?duì)DB2的用戶(hù)賦于不同級(jí)別的權(quán)力和各種特權(quán)。其中權(quán)力(Authorities)是對(duì)一組數(shù)據(jù)庫(kù)對(duì)象進(jìn)行存取的特權(quán)
18、集,有特定的名稱(chēng)。而特權(quán)(Privileges)則是對(duì)特定對(duì)象訪(fǎng)問(wèn)的權(quán)利。權(quán)力(Authorities)分為以下級(jí)別:(1)、SYSADM系統(tǒng)管理該權(quán)限是一個(gè)實(shí)例中的最高權(quán)限。可以完成一個(gè)實(shí)例范圍內(nèi)任何管理工作。可以通過(guò)實(shí)例配置變量中的SYSADM_GRO郵來(lái)指定一個(gè)用戶(hù)組擁有該權(quán)限。如果該參數(shù)為空,在WindowsNT環(huán)境下,創(chuàng)建該實(shí)例的用戶(hù)擁有該權(quán)限;在UNIX環(huán)境下,與實(shí)例同名的用戶(hù)擁有該權(quán)限。(2)、SYSCTRL系統(tǒng)控制該權(quán)限可以完成系統(tǒng)中的管理功能,但不能訪(fǎng)問(wèn)數(shù)據(jù)。但擁有該權(quán)限的用戶(hù)可以創(chuàng)建數(shù)據(jù)庫(kù),并管理自己創(chuàng)建的數(shù)據(jù)庫(kù)中的數(shù)據(jù)??梢酝ㄟ^(guò)實(shí)例配置變量中的SYSCTRL_GROUP來(lái)
19、指定一個(gè)用戶(hù)組擁有該權(quán)限、SYSMAINT系統(tǒng)維護(hù)該權(quán)限只能完成系統(tǒng)中與維護(hù)有關(guān)的任務(wù),但不能訪(fǎng)問(wèn)數(shù)據(jù),而且擁有該權(quán)限的用戶(hù)不能創(chuàng)建數(shù)據(jù)庫(kù)。可以通過(guò)實(shí)例配置變量中的SYSMAINT_GROUP數(shù)來(lái)指定一個(gè)用戶(hù)組擁有該權(quán)限。、DBADM-數(shù)據(jù)庫(kù)管理該權(quán)限是數(shù)據(jù)庫(kù)級(jí)的權(quán)限,可以完成數(shù)據(jù)庫(kù)的管理工作。該權(quán)限可以通過(guò)SQL語(yǔ)句授予。四種級(jí)別的權(quán)力對(duì)比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植數(shù)據(jù)庫(kù)可以更改實(shí)例配置參數(shù)可以賦予或撤消DBADM-限可以指定SYSCTRL!可以指定SYSMAINT!可以更改數(shù)據(jù)庫(kù)目錄可以可以中斷應(yīng)用程序可以可以創(chuàng)建/刪除數(shù)據(jù)庫(kù)可以可以創(chuàng)建/刪除表空間
20、可以可以利用恢復(fù)建立一個(gè)數(shù)據(jù)庫(kù)可以可以更改數(shù)據(jù)庫(kù)配置參數(shù)可以可以可以備份數(shù)據(jù)庫(kù)和表空間可以可以可以恢復(fù)一個(gè)存在的數(shù)據(jù)庫(kù)可以可以可以執(zhí)行前滾恢復(fù)可以可以可以啟動(dòng)/停止實(shí)例可以可以可以恢復(fù)表空間可以可以可以使用TRACED具可以可以可以獲取實(shí)例和數(shù)據(jù)庫(kù)的快照信息可以可以可以查詢(xún)表空間狀態(tài)可以可以可以可以更改日志歷史文件可以可以可以可以休止表空間可以可以可以可以使用RUNSTATS:具可以可以可以可以對(duì)表做LOAD可以可以讀日志文件可以可以可以創(chuàng)建/刪除/激活事件監(jiān)視器可以可以可以第二章DB2的圖形用戶(hù)界面2.1、DB2的圖形界面概述在UDB之前的DB2產(chǎn)品中,提供給用戶(hù)的圖形界面很少。大部分的管理
21、工作和操作只能通過(guò)手工鍵入命令的方式來(lái)實(shí)現(xiàn)。UDB的出現(xiàn)改變了這一現(xiàn)狀,它提供了豐富的圖形化工具,使得管理工作變得更加輕松。2.2、DB2的圖形化工具2.2.1、客戶(hù)端配置工具一CCA要對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)行存取,首先要設(shè)置從客戶(hù)端到遠(yuǎn)程數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接。這個(gè)過(guò)程是一個(gè)比較復(fù)雜的過(guò)程,需要用戶(hù)對(duì)網(wǎng)絡(luò)參數(shù)、配置命令要有一定程度的了解。CCA就是一個(gè)用來(lái)幫助用戶(hù)設(shè)置從客戶(hù)端到遠(yuǎn)程數(shù)據(jù)庫(kù)連接,減輕用戶(hù)負(fù)擔(dān)的工具。它提供了三種配置方法供用戶(hù)選擇:a、人工方法該方法對(duì)用戶(hù)的要求較高,需要用戶(hù)了解要連接的數(shù)據(jù)庫(kù)服務(wù)器的相關(guān)信息,例如使用那些網(wǎng)絡(luò)協(xié)議、要連接的數(shù)據(jù)庫(kù)的名稱(chēng)等。用戶(hù)可以通過(guò)CCA供的界面輸入網(wǎng)絡(luò)連接
22、所需信息,完成連接配置。b、自動(dòng)搜索方法該方法不需要用戶(hù)有任何網(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ù)器(DA0進(jìn)行通訊,然后將數(shù)據(jù)庫(kù)管理服務(wù)器搜集的信息返回。用戶(hù)可以根據(jù)返回信息選擇要連接的數(shù)據(jù)庫(kù)。c、載入配置文件方法該方法允許從要連接的數(shù)據(jù)庫(kù)所在的服務(wù)器端或者從已經(jīng)配置成功的客戶(hù)端生成一個(gè)配置文檔。在文檔中包含了相應(yīng)的配置信息,用戶(hù)可以在CCA中載入該文檔,完成連接配置。用戶(hù)可以通過(guò)以上任一種方法進(jìn)行網(wǎng)絡(luò)配置,完成對(duì)遠(yuǎn)程的數(shù)據(jù)庫(kù)的連接,CLI/ODBC數(shù)據(jù)源的配置,將應(yīng)用程序綁定到數(shù)據(jù)庫(kù)上等工作。CCA
23、除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2cca命令存取。具體界面如下圖。2.2.2、產(chǎn)品信息和文檔UDB提供了豐富的幫助信息。幾乎所有的信息都可以通過(guò)信息中心(InformationCenter)來(lái)存取。在信息中心中,我們可以按照以下幾種方法獲取相關(guān)信息:任務(wù):獲取完成特定任務(wù)所需的信息書(shū)籍:UD璇機(jī)提供了許多技術(shù)手冊(cè),如管理員手冊(cè)、開(kāi)發(fā)人員手冊(cè)等等。用戶(hù)可以通過(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)的信息。除了這幾種手段以外,
24、信息中心還提供了強(qiáng)大的搜索工具,幫助你在聯(lián)機(jī)手冊(cè)中進(jìn)行全文檢索,找到匹配的關(guān)鍵詞。信息中心除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2ic命令存取。具體界面見(jiàn)下圖。蜻金河時(shí)SHg耽零-解苔於行任矗蘋(píng)而尋F氐M拆R天霜,焦命里壬>佝寮珈&甘gwE三IaKTnr*SltqlBnS攵IT:莎里別二I豆Tiff幸畦在謬玉斤序雪曲識(shí)用F矗電諾專(zhuān)記ii芭說(shuō)璃SCL胃勺JS寰寧婚ISl十如|1坑古堂奇曲哽法6TLJMi«理n-SPKwi!士HE此商乏察*史做四FFI式寸理YEBAtft>1禪魅告軍(Mfi>雋K飾皓*陽(yáng)出蕓成同用fttl-Br母丹&q
25、uot;ilajs逐史WllftW京乂閔了踣愁走眺|叫1_由S?房下和H用FHW.;fi式仟棵N"翌壬皿甫«8場(chǎng)庵H用二啜工利市市引何積日用=依予*率悝素習(xí)特&*圖:捋予0F*熟蕓庫(kù)尸廈恥抵間看甲剌悔西容不M厚KE崛京f化時(shí)均*在4更畦加加R«ir岑EHMVCi.l胃臥除了信息中心之外,還有一個(gè)小程序一第一步(FirstStep)來(lái)幫助新用戶(hù)按照一系列的步驟來(lái)熟悉數(shù)據(jù)庫(kù)操作。它可以幫助用戶(hù)建立一個(gè)樣例數(shù)據(jù)庫(kù),查看樣例數(shù)據(jù)庫(kù)中的內(nèi)容,以及對(duì)樣例數(shù)據(jù)庫(kù)進(jìn)行操作。FirstStep除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2steps命令存
26、取。具體界面如下圖。皿顯枷心Ui&JluA34!rlUJiffl<»”肇首JO戶(hù),,«jU_0搟射。tiff*5W3M甲物L(fēng)扣nwm3'3褶D(zhuǎn)*s_4M金0心31.-.二mF我口園:-勃莓王Hj卜如頃TuTm;l£Fare3L_'-t-iDUETisEa.DEFMP1W.3UETJSFS制CUPACT<qu&r呻口,-UBC3號(hào)用敬-._|呂_hiL-ILrlr;二1那5二二)SEOi-T_|建雄曲3三|宜用旭孕理告二I聞minima1n*tfp*芻rSCOLCP.EYSlT強(qiáng)冬翌TBCOLFR.5YBITFTECA.S
27、彌ELU.5T5ITMCA.n£yecon'Jt.gL.Tastgdaw.nr&ir到心.zl2.2.3、命令中心(CommandCenter)命令中心是用于輸入DB2命令的圖形化工具??梢哉f(shuō),命令中心就是一個(gè)圖形化的命令行處理器(CLP),我們可以在命令中心中輸入DB2命令或調(diào)用現(xiàn)成的命令腳本,執(zhí)行后查看輸出結(jié)果。命令中心可以將已輸入的命令作為腳本保存在腳本中心中,也可以對(duì)保存在腳本中心中的腳本加以調(diào)度。另外,命令中心一個(gè)非常有用的功能是允許用戶(hù)通過(guò)它查看SQL語(yǔ)句的存取計(jì)劃,存取計(jì)劃中包含著SQL語(yǔ)句執(zhí)行情況的統(tǒng)計(jì)結(jié)果,用戶(hù)可以通過(guò)命令中心為SQL語(yǔ)句生成存取計(jì)劃
28、,并以可視化的形式表現(xiàn)出來(lái)。命令中心可以通過(guò)系統(tǒng)菜單(WindowsNT操作系統(tǒng))或控制中心(ControlCenter)來(lái)調(diào)用,也可以通過(guò)在命令行下鍵入db2cctr命令來(lái)執(zhí)行。具體界面如下圖。R工具砸口,>口口堀51司;畫(huà)>t=姑丈r耳wJUgJ*Iffarq2.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)在于可以將命令以文件的方式
29、存放,重復(fù)利用,并且腳本中可以直接包含操作系統(tǒng)命令(在CLP中如果要執(zhí)行操作系統(tǒng)命令需要在命令的前面加"!”)。腳本的運(yùn)行狀態(tài)也可以在日志工具中查看到。腳本中心的具體界面如下圖。2.2.5、日志(Journal)通過(guò)日志可以查看幾類(lèi)信息:作業(yè)信息包括暫掛作業(yè)(PendingJob)信息、正在運(yùn)行的作業(yè)(RunningJob)信息以及已經(jīng)完成的作業(yè)的信息。對(duì)于PendingJob,可以對(duì)其進(jìn)行重新調(diào)度、顯示與它相關(guān)的腳本或立即運(yùn)行它?;謴?fù)歷史信息提供了對(duì)數(shù)據(jù)庫(kù)進(jìn)行的備份、恢復(fù)過(guò)程的詳細(xì)信息,比如:備份的時(shí)間、備份的類(lèi)型等,這些信息實(shí)際都被保存在一個(gè)稱(chēng)為恢復(fù)歷史文件的文件當(dāng)中。警報(bào)信息包
30、含了系統(tǒng)發(fā)出的警報(bào)信息。系統(tǒng)信息包含了UD或據(jù)庫(kù)管理器生成的信息。日志除了包含以上信息以外,也可以對(duì)已經(jīng)被腳本中心調(diào)度的作業(yè)重新進(jìn)行調(diào)度。日志的具體界面見(jiàn)下圖。2.2.6、警報(bào)中心(AlertCenter)警報(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、許可證中心(Lice
31、nseCenter)許可證中心可以對(duì)UDB的許可證信息提供集中管理,可以允許用戶(hù)增添、更改和刪除UDB產(chǎn)品的許可證。用戶(hù)也可以瀏覽當(dāng)前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱(chēng)、產(chǎn)品的版本、過(guò)期時(shí)間及允許的用戶(hù)數(shù)目等信息。具體界面見(jiàn)下圖。項(xiàng)啊*隆工具歌物回口jg知Ml建,F(xiàn)3U5落瞌茗膈MLWTzl*產(chǎn)昌故與皿中A應(yīng)訐雌|場(chǎng),|7r*-|尸苦OB2"UK煎丈回旦61EI酶日略廷錄炭注徹氏IP簞暗并伺用聲g集用2.2.8、控制中心(ControlCenter)控制中心是UDB的管理工具的核心,絕大多數(shù)的管理任務(wù)和對(duì)其他管理工具的存取都可以通過(guò)控制中心來(lái)完成。具體界面如下圖??刂浦行?/p>
32、有如下組成部分:菜單條:菜單條在屏幕的頂部。從菜單條選擇菜單允許您執(zhí)行許多功能,如關(guān)閉DB2工具、存取圖形工具以及存取聯(lián)機(jī)幫助和產(chǎn)品信息??赏ㄟ^(guò)單擊菜單條上的每一項(xiàng)來(lái)熟悉這些功能通過(guò)菜單的方式完成對(duì)控制中心的存取。工具欄:位于菜單條下方的一組圖形按鈕,通過(guò)點(diǎn)擊可以調(diào)用其他的管理工具,如命令中心、腳本中心等以上所提到的工具對(duì)象窗格:對(duì)象窗格位于屏幕的左邊窗格中,它按照UD啜據(jù)庫(kù)對(duì)象的層次關(guān)系(UDB系統(tǒng)-實(shí)例一數(shù)據(jù)庫(kù)-數(shù)據(jù)庫(kù)內(nèi)部對(duì)象)對(duì)系統(tǒng)進(jìn)行組織,以樹(shù)狀的形式顯示。用戶(hù)可以方便地從中找到要管理的對(duì)象。對(duì)象窗格中的某些對(duì)象包含其他對(duì)象。對(duì)象左面的加號(hào)(+)指示該對(duì)象是折疊的。可單擊加號(hào)展開(kāi)它。當(dāng)
33、展開(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ù)。用戶(hù)可以在對(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ǔ)句之間的
34、分隔符、如果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ù),如果用戶(hù)對(duì)這些信息不是很了解,會(huì)影響到任務(wù)的完成效果。為了能夠?qū)@些用戶(hù)提供幫助,UDB中提供了很多快速向?qū)?。這些快速向?qū)Э梢葬槍?duì)不同的任務(wù)向用戶(hù)提出一些比較淺顯的問(wèn)題,根據(jù)用戶(hù)對(duì)問(wèn)題的回答設(shè)定相應(yīng)的參數(shù)。幫助用戶(hù)完成相應(yīng)的任務(wù)。UDB中提供的快速向?qū)Х譃橐韵聨最?lèi):對(duì)象創(chuàng)建類(lèi):在創(chuàng)建數(shù)據(jù)庫(kù)、表空間和表時(shí)提供幫助。數(shù)據(jù)庫(kù)管理任務(wù):在備份和恢復(fù)數(shù)據(jù)庫(kù)時(shí)提供幫助。多點(diǎn)更改:在分布式
35、環(huán)境下,對(duì)涉及到多數(shù)據(jù)庫(kù)更改的事務(wù)進(jìn)行控制。性能調(diào)節(jié):幫助用戶(hù)對(duì)系統(tǒng)性能進(jìn)行調(diào)節(jié)。具體的快速向?qū)в校簞?chuàng)建數(shù)據(jù)庫(kù)快速向?qū)В涸试S用戶(hù)創(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ū)椭脩?hù)使用預(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用戶(hù)創(chuàng)建一個(gè)新的表空間并設(shè)置存儲(chǔ)及性能選項(xiàng)。要調(diào)用它,選擇“表空間”圖符
36、,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建->使用SmartGuide創(chuàng)建表空間。索引快速向?qū)В涸摽焖傧驅(qū)椭脩?hù)確定對(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,然后
37、選擇復(fù)原->使用SmartGuide復(fù)原數(shù)據(jù)庫(kù)。備份數(shù)據(jù)庫(kù)快速向?qū)В核?xún)問(wèn)用戶(hù)關(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)除了以上提供的工具之外,UDBS有幾個(gè)其它相關(guān)工具選項(xiàng)。例如:顯示SQL(ShowS
38、QL)顯示命令(ShowCommand)如果某個(gè)工具生成了SQL語(yǔ)句,比如創(chuàng)建表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類(lèi)似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個(gè)按鈕之一,可以查看該工具根據(jù)用戶(hù)在圖形界面中所做選擇而生成的SQL語(yǔ)句或DB2命令。幫助用戶(hù)了解該界面是如何工作的。另外該選項(xiàng)也允許用戶(hù)將語(yǔ)句或命令另存為腳本以備將來(lái)使用。若用戶(hù)希望再次運(yùn)行相同的語(yǔ)句或命令,可以不必重新輸入SQL語(yǔ)句或DB2命令。一旦SQL語(yǔ)句或DB2命令已保存到腳本中,用戶(hù)可以調(diào)度腳本、編輯此腳本進(jìn)行更改或創(chuàng)建類(lèi)似的腳本而不必重新輸入語(yǔ)句或命令。顯示相關(guān)對(duì)象(ShowRelated
39、)顯示相關(guān)項(xiàng)顯示表、索引、視圖、別名、觸發(fā)器、表空間、“用戶(hù)定義函數(shù)”以及“用戶(hù)定義類(lèi)型”之間的直接關(guān)系。顯示相關(guān)對(duì)象可以幫助用戶(hù)了解一個(gè)對(duì)象與哪些對(duì)象相關(guān),分析數(shù)據(jù)庫(kù)的結(jié)構(gòu)以及判斷可能執(zhí)行的操作會(huì)造成的影響。例如,如果用戶(hù)希望刪除有從屬視圖的表,顯示相關(guān)項(xiàng)會(huì)告訴用戶(hù)如果進(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í)
40、現(xiàn),不過(guò)這種方法對(duì)管理的要求較高,而且需要網(wǎng)絡(luò)的連接。更常用的方法是利用某種類(lèi)型的外部文件作為中介,將一個(gè)數(shù)據(jù)庫(kù)中的某個(gè)表中的數(shù)據(jù)導(dǎo)出到一個(gè)外部文件中,然后把該文件中的數(shù)據(jù)導(dǎo)入到另外一個(gè)數(shù)據(jù)庫(kù)中。DB2中實(shí)現(xiàn)以上功能的主要工具有三個(gè):EXPORTIMPORTLOAQ其中EXPORT功能是將表中的數(shù)據(jù)導(dǎo)出到外部文件中;而IMPORTSLOAD的功能是將外部文件中的數(shù)據(jù)導(dǎo)入到一個(gè)表中。IMPORTSLOAD勺功能類(lèi)似,但在實(shí)現(xiàn)手段上有很大差異。能夠被DB2所支持用作數(shù)據(jù)移動(dòng)的中間文件的格式有四種:非定界ASCII碼文件(ASCII)、定界ASCII碼文件(DELASCII)、WS咬件和PC/IXF
41、文件。其特點(diǎn)是:ASCII:純文本格式,每個(gè)數(shù)據(jù)列之間中有分隔符,但數(shù)據(jù)行之間沒(méi)有分隔符。ASCII文件不能被EXPORT持。、DEL:純文本格式,數(shù)據(jù)列之間有分隔符,數(shù)據(jù)行之間也有分隔符。WSF:Lotus1-2-3工作表格式。WS成件不能被LOADt持。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è)例子:db2connecttosampledb2exporttomyfileofixfmessagesmsgselectstaff.
42、name,staff.dept,org.locationformorg,staff,whereorg.deptname=staff.dept在該例中,staff和org中的相應(yīng)數(shù)據(jù)將被輸出到myfile文件中,該文件為PC/IXF格式。注意事項(xiàng):在做EXPORTS前,首先要連接到相應(yīng)的數(shù)據(jù)庫(kù)上。因?yàn)橐獙?duì)表或視圖(EXPOR咬持對(duì)視圖進(jìn)行操作)進(jìn)行SELECT作,執(zhí)行EXPORT勺用戶(hù)至少要有相關(guān)表或視圖上的SELECT限。如果使用PC/IXF文件,文件中將包含表中的索引定義。可以通過(guò)DB2Connect將主機(jī)上的數(shù)據(jù)導(dǎo)出到外部文件中。3.3、IMPORT勺功能和使用IMPORT可以被看作是EX
43、PORT勺逆過(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):在做IMPORTS前,首先要連接到相
44、應(yīng)的數(shù)據(jù)庫(kù)上。因?yàn)橐獙?duì)表或視圖(IMPORT持對(duì)視圖進(jìn)行操作)進(jìn)行修改操作,執(zhí)行EXPORT勺用戶(hù)至少要有相關(guān)表或視圖上的相關(guān)權(quán)限(依據(jù)導(dǎo)入模式的不同而不同)。比如,使用INSERT模式,至少要有相應(yīng)表上的INSERT權(quán)限;如果使用CREATE莫式,則需要數(shù)據(jù)庫(kù)上的CREATETAB限。如果使用CREATE莫式,必須使用PC/IXF文件進(jìn)行數(shù)據(jù)導(dǎo)入??梢酝ㄟ^(guò)DB2Connect向主機(jī)上的數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)。3.4、LOAD勺功能和使用3.1、LOAD既述LOAD勺功能與IMPOR樓似,但實(shí)現(xiàn)的方式有很大區(qū)別。其操作方式更加貼近底層。LOAD把要導(dǎo)入的數(shù)據(jù)格式化成數(shù)據(jù)頁(yè),利用并行I/O寫(xiě)入存儲(chǔ)介質(zhì)。
45、在LOAD過(guò)程中,只進(jìn)行極少量的日志記錄,而且不進(jìn)行約束檢查。因此,LOAD導(dǎo)入的速度要比IMPORT快很多,尤其是數(shù)據(jù)量比較的的時(shí)候,LOAD勺速度優(yōu)勢(shì)十分明顯。LOAM以從三種格式的文件進(jìn)行數(shù)據(jù)導(dǎo)入,分別是非定界ASCII碼文件、定界ASCII碼文件和IXF文件格式。LOAD支持WSFt件作為數(shù)據(jù)導(dǎo)入文件。3.4.2、LOAD勺三個(gè)階段與IMPORT!比,LOAW然在速度上有明顯的優(yōu)勢(shì),但對(duì)管理上的要求比較高。LOAD可以分成三個(gè)階段。第一個(gè)階段叫LOAD階段。在這個(gè)階段中,數(shù)據(jù)被導(dǎo)入到表中,如果表上有索引存在,LOAD等按照索引定義搜集索引關(guān)鍵字,然后進(jìn)行排序。如果有不符合表定義的數(shù)據(jù)行
46、,LOAD務(wù)會(huì)把它們放到一個(gè)文件(DUMPFILE中,同時(shí)在消息文件(MESSAGEFILE)中進(jìn)行記錄。如果在命令中指定了SAVECOUNT數(shù),LOAD務(wù)每隔一定數(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è)階段中,所有違反
47、唯一性約束的行將被從表中刪除。3.4.3、異常情況的處理由于某些操作的失敗,表空間可能處于某種異常狀態(tài)。表空間的狀態(tài)可以通過(guò)DB2LISTTABLESPACES如果狀態(tài)的編碼為0x0000,表明表空間狀態(tài)正常,否則表明表空間處于某種異常狀態(tài)。比如0x0008表明表空間處于裝載掛起(LOADPENDING狀態(tài),0x010表明表空間處于刪除掛起(DELETEENDING狀態(tài),0x020表明表空間處于備份掛起(BACKUPENDING狀態(tài)。上面提到的幾個(gè)狀態(tài)都是在LOAD±程中有可能發(fā)生的。我們下面就來(lái)探詢(xún)其原因及解決辦法。3.4.4.1、LOADPENDING態(tài)如果LOA弟于用戶(hù)的錯(cuò)誤而
48、沒(méi)有運(yùn)行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對(duì)表空間的狀態(tài)不會(huì)有任何影響。如果LOADfe向表中導(dǎo)入數(shù)據(jù)的時(shí)候出現(xiàn)了錯(cuò)誤,LOA繪終止,同時(shí)將要導(dǎo)入數(shù)據(jù)的表所在的表空間置于LOADPENDIN啾態(tài)。如果表空間處于LOADPENDING除了使用LOA皿具對(duì)表空間進(jìn)行操作來(lái)消除LOADPENDIN猷態(tài)以外,不能對(duì)該表空間進(jìn)行其他操作。出現(xiàn)了LOADPENDIN猷態(tài)以后,應(yīng)該對(duì)LOA時(shí)成的MESSAGE件進(jìn)行檢查,查看是在LOAD勺哪一個(gè)階段出現(xiàn)的問(wèn)題。然后可以使用LOAD的RESTARTS®重新進(jìn)行LOADLOAD會(huì)自動(dòng)的從上一個(gè)一致性點(diǎn)進(jìn)行恢復(fù)。比如指定了SAVE
49、COUNT為100,在導(dǎo)入到531行記錄時(shí)出現(xiàn)異常終止,則LOA繪從第501條記錄重新開(kāi)始導(dǎo)入。如果是在LOAE程中的BUILD階段和DELETED段時(shí)出現(xiàn)了錯(cuò)誤,LOAD會(huì)從這兩個(gè)階段的起始點(diǎn)重新開(kāi)始。如果利用RESTART項(xiàng)后,LOA葫它夠成功,則LOADPENDING狀態(tài)可以被消除。如果使用RESTART項(xiàng)仍然不能成功,則可以使用TERMINATE項(xiàng)來(lái)終止LOAD過(guò)程,同時(shí)消除LOADPENDING犬態(tài)。如果我們?cè)诮K止LOA明使用了INSERT選項(xiàng),貝U可以將表恢復(fù)到LOAD以前的狀態(tài)。如果我們使用的是REPLACE項(xiàng),則表中的數(shù)據(jù)被清空。3.4.4.2、BACKUPPENDINGLOA
50、DPENDING狀態(tài)是LOAD失敗后出現(xiàn)的異常狀態(tài)。但即使LOAD成功了,也不能保證表空間處于正常狀態(tài),這取決于LOAD時(shí)選擇的復(fù)制選項(xiàng)。如果我們選擇的是COPYYES缺省選項(xiàng)),則LOAD成功后會(huì)將表空間置成BACKUPPENDIN秩態(tài),需要對(duì)該表空間進(jìn)行備份才能消除;如果我們選擇的是COPYYES則系統(tǒng)在LOAD過(guò)程中自動(dòng)對(duì)載入的數(shù)據(jù)進(jìn)行備份,LOAD成功后表空間處于正常狀態(tài);如果我們選擇的是NONRECOVERABLE系統(tǒng)在LOAC程中不對(duì)載入數(shù)據(jù)進(jìn)行備份,在LOAg功后也不把表空間置于BACKUPPENDING。之所以L(fǎng)OAD要提供幾種復(fù)制選項(xiàng)的原因是由于出于數(shù)據(jù)完整性的考慮。我們?cè)谇?/p>
51、面已經(jīng)介紹過(guò),LOACR做很少的日志,導(dǎo)入的數(shù)據(jù)不被記錄在日志之中。如果在LOAD以后,數(shù)據(jù)庫(kù)崩潰了,LOADH入的數(shù)據(jù)將無(wú)法得到恢復(fù),造成數(shù)據(jù)的不完整。如果使用COPYNO選項(xiàng),系統(tǒng)會(huì)強(qiáng)制用戶(hù)在LOAD之后對(duì)表空間進(jìn)行備份,如果以后需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),則可以從中恢復(fù)LOAL入的數(shù)據(jù);如果使用COPY丫£馳項(xiàng),貝U系統(tǒng)在LOAD過(guò)程中會(huì)自動(dòng)對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行備份,可以用于日后的恢復(fù);如果使用NONRECOVERAB,則等于用戶(hù)明確表示日后不想恢復(fù)LOAD#入的數(shù)據(jù),這個(gè)選項(xiàng)一般用于接收數(shù)據(jù)導(dǎo)入的表被用于只讀操作,如果需要對(duì)數(shù)據(jù)進(jìn)行恢復(fù),重新進(jìn)行LOAD可以。3.5、IMPORf!LO
52、AD勺對(duì)比IMPORT和LOAg功能上相似,但在實(shí)現(xiàn)方式和使用上有很大不同,我們將通過(guò)下表將這兩中工具進(jìn)行一下對(duì)照。IMPORTLOAD說(shuō)明在導(dǎo)入大里數(shù)據(jù)時(shí)速度較使在導(dǎo)入大量數(shù)據(jù)時(shí)速度明顯比IMPORTSLOAD將數(shù)據(jù)格式化成數(shù)據(jù)貝的形式直接寫(xiě)入數(shù)據(jù)庫(kù)如果使用IXF文件格式,表和索引可以不存在在導(dǎo)入數(shù)據(jù)之前,表和索引必須存在IMPORTS以在導(dǎo)入數(shù)據(jù)時(shí)創(chuàng)建表和索引支持WSFt件格式不支持WSFt件格式能夠?qū)Ρ砗鸵晥D進(jìn)行IMPORTLOAD勺對(duì)象必須是表在進(jìn)行IMPORTS,其他程序能夠?qū)Ρ磉M(jìn)行存取在進(jìn)行LOADB寸,其他程序不能對(duì)表進(jìn)行存取LOAD#導(dǎo)入數(shù)據(jù)的表所在表空間置為排它狀態(tài)導(dǎo)入的所有
53、數(shù)據(jù)都被日志所記錄LOADR做極少量的日志IMPORT激活觸發(fā)器LOAM會(huì)激活觸發(fā)器IMPORT可以使用COMMITCOUNT數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次提交,如果IMPORT敗,可以從最后的一次提交點(diǎn)重新開(kāi)始。LOAD可以使用SAVECOUN參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次保存,如果LOAD敗,可以從最后的一次提交點(diǎn)重新開(kāi)始。TIMPORT使用的是數(shù)據(jù)庫(kù)內(nèi)部的臨時(shí)表空間LOAD使用的是數(shù)據(jù)庫(kù)以外的臨時(shí)空間所有的約束在IMPORTS程中都將被總結(jié)在LOAD±程中只檢查唯一性約束LOAD關(guān)閉約束檢查,需要在LOA斯用SETINTEGERITY消除表上的CHECKPENDI
54、NG在IMPORTS程中,當(dāng)每一行被導(dǎo)入時(shí),索引關(guān)鍵字被插入到索引中在LOAD過(guò)程中,LOAD在LOA晰段搜集索引關(guān)鍵字,在BULID階段統(tǒng)一生成索引如果需要重新搜集統(tǒng)計(jì)信息,在IMPORTS使用RUNSTAT工具如果需要重新搜集統(tǒng)計(jì)信息,可以在LOAD使用RUNSTATC具,也可以在LOAD±程中進(jìn)行搜集在LOAM直接搜集統(tǒng)計(jì)信息會(huì)延長(zhǎng)LOA所需時(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é)占上八、_L-IMPORTS需要備份根據(jù)復(fù)制選項(xiàng)的不同,可能需要進(jìn)行備
55、份IMPORT入的數(shù)據(jù)在日志中會(huì)有記錄第四章數(shù)據(jù)庫(kù)恢復(fù)在防止關(guān)鍵數(shù)據(jù)的丟失當(dāng)中,恢復(fù)用戶(hù)自己的環(huán)境十分重要。有一些工具可以幫助用戶(hù)管理自己的環(huán)境和保證用戶(hù)可以對(duì)自己的數(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)題引起用戶(hù)系統(tǒng)癱瘓時(shí),比如發(fā)生斷電故障,也能做到這一點(diǎn)。要充分理解日志工作的目的,首先解釋活楚工作單元(unitofwork)和事務(wù)(transaction)這兩個(gè)概念。4.1工作單元為了確保數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性,應(yīng)用程序經(jīng)常必須立即實(shí)施一些變更。類(lèi)似,它必須禁
56、止所有的變更。這就叫做工作單元(unitofwork)。工作單元是應(yīng)用程序進(jìn)程內(nèi)可恢復(fù)的操作序歹0。工作單兀是應(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ù)中,工作單元被稱(chēng)為事務(wù)(transaction)。事務(wù)是應(yīng)用程序進(jìn)程內(nèi)的一個(gè)可恢復(fù)的SQ賺作序列。對(duì)數(shù)據(jù)庫(kù)的任何一次讀或?qū)懚际窃谀炒问聞?wù)內(nèi)完成的。任何一個(gè)成功地與數(shù)據(jù)庫(kù)相連接的應(yīng)用程序都自動(dòng)地啟動(dòng)一個(gè)事務(wù)。應(yīng)用程序必須通過(guò)發(fā)出一條SQLCOMMIT托確認(rèn))或SQLROLLBACK(回)語(yǔ)句去結(jié)束該事務(wù)。SQL的COMMITS句告訴數(shù)據(jù)庫(kù)管理員立即對(duì)數(shù)據(jù)庫(kù)實(shí)施事務(wù)中的所有數(shù)據(jù)庫(kù)變動(dòng)(插入、更新、刪除)。SQL的ROLLBACKS句告訴數(shù)據(jù)庫(kù)管理器不實(shí)施這些變動(dòng),但將受到影響的行返回到開(kāi)始該事務(wù)之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶(hù)數(shù)據(jù)的完整性,DB2已經(jīng)實(shí)施提前寫(xiě)日志存檔模式。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法庫(kù)期中考試數(shù)學(xué)試卷
- 佛岡七上數(shù)學(xué)試卷
- 汽車(chē)凹痕修復(fù)培訓(xùn)課件
- 福建漳州會(huì)考數(shù)學(xué)試卷
- 肌理的美術(shù)課件
- 德陽(yáng)高一上冊(cè)數(shù)學(xué)試卷
- 2025年04月四川綿陽(yáng)市婦幼保健院招聘醫(yī)師技師3人筆試歷年專(zhuān)業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 高血糖危象的急救處理與恢復(fù)護(hù)理
- 2025至2030赤蘚醇行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢(xún)分析報(bào)告
- 2025至2030測(cè)試即服務(wù)(TaaS)行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢(xún)分析報(bào)告
- Starter Unit 2 Keep Tidy教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
- 簡(jiǎn)易呼吸器的使用-
- 天津市城市道路工程施工及驗(yàn)收標(biāo)準(zhǔn)
- 人教版數(shù)學(xué)七年級(jí)上冊(cè)《整式的加減運(yùn)算》教學(xué)設(shè)計(jì)
- 汽車(chē)貼膜太陽(yáng)膜理論知識(shí)培訓(xùn)課件
- 2024版工程總承包聯(lián)合體協(xié)議書(shū)
- 《抖音:短視頻與直播運(yùn)營(yíng)(慕課版)》-課件-項(xiàng)目六-抖音直播的復(fù)盤(pán)
- 眼科淚器病診療規(guī)范2023版
- 六年級(jí)下冊(cè)小升初數(shù)學(xué)高頻考點(diǎn)專(zhuān)項(xiàng)培優(yōu)卷專(zhuān)題38:奇偶性問(wèn)題(提高卷)(附參考答案)
- 配電室設(shè)備安裝工程施工方案
- 參與感(小米口碑營(yíng)銷(xiāo)內(nèi)部手冊(cè))
評(píng)論
0/150
提交評(píng)論