


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一章DB2UDB概況1.1、DB2UDB勺產(chǎn)品家族UDB(UniversalDatabase)的前身為DB2是舊M公司開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。從其誕生之日開始,DB2就定位于要為各種規(guī)模的企業(yè)提供穩(wěn)定、高效的數(shù)據(jù)管理支持??梢哉f,DB2是當(dāng)前適用范圍最廣泛的數(shù)據(jù)庫產(chǎn)品。我們對DB2產(chǎn)品的劃分通常分為兩種方法:一種方法是按其所能支持的硬件和操作系統(tǒng)平臺進(jìn)行劃分,另一種方法是按其所能支持的用戶規(guī)模的不同進(jìn)行劃分。DB2產(chǎn)品幾乎覆蓋了當(dāng)前所有流行的硬件和操作系統(tǒng)平臺。在大型機(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對UNIX操作系統(tǒng)的支持同樣十分廣泛,可以在AIX、HP-UXSolaris、SCO-UNIXSINIX等多種系統(tǒng)上找到其相應(yīng)的版本。另外,在PC操作系統(tǒng)上,DB2可以對Window9x、WindowsNT以及OS/2等多種操作系統(tǒng)提供支持。UDB6.1還增加了對Linux操作系統(tǒng)的支持。以上我們所提到的只是DB2服務(wù)器所能運(yùn)行的平臺,DB2的客戶端所能支持的平臺更為廣泛,除了以上提到的所有平臺之外,DB2的客戶端還能運(yùn)行在Dos、Windows3.x、MacOS以及SGI公司
3、的IRIS系統(tǒng)之上。UDB產(chǎn)品除了能夠?qū)Ω鞣N硬件和操作系統(tǒng)平臺進(jìn)行支持之外,為了適應(yīng)不同用戶群的需要,UDB提供了不同級別的產(chǎn)品,對小到個(gè)人用戶,大到跨國企業(yè)的不同需求提供支持。以下是對UDB6.1版本不同級別產(chǎn)品的特點(diǎn)介紹:UDB衛(wèi)星版:是專門為移動用戶設(shè)計(jì)的小型數(shù)據(jù)庫產(chǎn)品。適合于偶爾連接DB2控制服務(wù)器來與公司系統(tǒng)交換數(shù)據(jù)的單用戶系統(tǒng)。它既能允許用戶對本地?cái)?shù)據(jù)進(jìn)行各種修改,又可以接受遠(yuǎn)程衛(wèi)星控制器的集中管理,減輕本地用戶的管理負(fù)擔(dān)。該版本只能運(yùn)行在Windows平臺。(該版本屬于UDB6.1版本新增版本)UDB個(gè)人版:是專門為個(gè)人用戶設(shè)計(jì)的功能完備的個(gè)人數(shù)據(jù)庫產(chǎn)品,允許用戶在本地建立數(shù)據(jù)庫
4、、更改數(shù)據(jù)、開發(fā)應(yīng)用程序從本地對數(shù)據(jù)庫管理系統(tǒng)進(jìn)行存取以及通過內(nèi)置的客戶端對遠(yuǎn)程數(shù)據(jù)庫服務(wù)器進(jìn)行管理。該版本的限制在于不能對遠(yuǎn)程應(yīng)用程序提供全面支持。該版本可以運(yùn)行在Windows、OS/2以及Linux平臺。UDB工作組版:適用于小型局域網(wǎng)的數(shù)據(jù)管理需求。具有UDB個(gè)人版的全部功能,并能夠?qū)h(yuǎn)程應(yīng)用程序提供全面支持。該版本可以運(yùn)行在Windows、OS/2以及Linux平臺。(UD"作組版5.0可以運(yùn)行在UNIX平臺)UD廊業(yè)版:簡稱為UDBEE,適用于企業(yè)級的數(shù)據(jù)管理需求。具有UDBT作組版的全部功能,并能夠利用對稱多處理(SMP技術(shù)提高系統(tǒng)性能。在它的程序包中,包含了DB2Co
5、nnect企業(yè)版,允許Intel平臺和UNIX平臺的客戶端應(yīng)用程序訪問大型機(jī)和AS/400上的數(shù)據(jù)庫服務(wù)。UDB企業(yè)版可以運(yùn)行在WindowsOS/2、Linux以及UNIX平臺。UD廊業(yè)擴(kuò)展版:簡稱為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)品線給用戶提供了極大的選擇余地。是構(gòu)造企業(yè)信息系統(tǒng)的基石。1.2、對DB的存取方法對DB的存取可以通過SQL語言和UDB內(nèi)置的API兩種手段來實(shí)現(xiàn)。不過這兩種手段不是能夠相互替代的。S
6、QL語言是國際標(biāo)準(zhǔn),各數(shù)據(jù)庫廠商在實(shí)現(xiàn)時(shí)一般會有一定程度的擴(kuò)展。SQL語言主要是完成對數(shù)據(jù)的查詢和更改、數(shù)據(jù)庫對象的建立及權(quán)限的控制等功能。而API主要是針對數(shù)據(jù)庫的管理任務(wù),比如數(shù)據(jù)的備份和恢復(fù)、數(shù)據(jù)庫服務(wù)的啟動和停止等工作。在一個(gè)應(yīng)用程序中,可能既需要用到SQL語言來完成對數(shù)據(jù)的存取,同時(shí)又需要調(diào)用API來完成管理工作。1.3、從WE既存取UDBInternet的廣泛使用帶來了從WEB寸企業(yè)數(shù)據(jù)進(jìn)行存取的要求。如果開發(fā)人員要開發(fā)基于Web的UDB應(yīng)用程序,可以使用以下方法:1.3.1、通過JDBC來存取UDBJDBC是SUN司提供的利用JAVA語言對關(guān)系型數(shù)據(jù)庫進(jìn)行存取的標(biāo)準(zhǔn)。在WEBh我
7、們可以通過編寫JAVAApplet或者JAVAServlet來實(shí)現(xiàn)對UD副存取。其中Applet運(yùn)行在客戶端,只需要一個(gè)支持JAVA的瀏覽器(如IE和Netscape等)即可運(yùn)行,客戶端不需要安裝其它軟件。Applet可以通過指定端口與服務(wù)器端的JDBC服務(wù)器進(jìn)行通信,提供對數(shù)據(jù)的存取。Servlet是適應(yīng)當(dāng)今瘦客戶機(jī)發(fā)展方向的一種編程模式,具有效率高,可移植性好等特點(diǎn)。Servlet運(yùn)行在WEES艮務(wù)器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服務(wù)器端通常還需要安裝Run-timeClient組件。1.3.2、通過Net.Data來存取UDB
8、Net.Data是舊M公司開發(fā)的通過WEB寸關(guān)系型數(shù)據(jù)庫進(jìn)行存取的工具。它提供了一種宏語言的開發(fā)和執(zhí)行環(huán)境,同時(shí)具有HTML的簡易性和SQL語言的功能。開發(fā)人員可以按照Net.Data的語法編寫Net.Data宏,WEB用戶可以通過HTML頁面上的鏈接來調(diào)用相應(yīng)的Net.Data宏,Net.Data解釋器會對其進(jìn)行分析,可以提取Net.Data宏中的SQL成分,提交給數(shù)據(jù)庫,然后按照Net.Data宏中規(guī)定的格式將數(shù)據(jù)庫管理器傳回的結(jié)果格式化成HTML頁面,傳遞給瀏覽器。1.3.3、其它方法除了以上提到的方法之外,還有很多其他的解決方案。如ActiveServerPage、PHP等,具體的選擇
9、要看實(shí)際的需要。1.4、實(shí)例的概念和管理1.4.1 、實(shí)例的概念:數(shù)據(jù)庫管理器(DatabaseManager)是提供數(shù)據(jù)庫管理控制功能的程序。實(shí)例(Instance)就是邏輯的數(shù)據(jù)庫管理器,是真正的數(shù)據(jù)庫管理器在內(nèi)存中的映象。實(shí)例提供了一個(gè)可標(biāo)識的數(shù)據(jù)庫服務(wù)器的環(huán)境。在安裝了UDB的工作站上可以同時(shí)創(chuàng)建和運(yùn)行多個(gè)實(shí)例,每個(gè)實(shí)例都有自己的內(nèi)存空間,并具有單獨(dú)的權(quán)限控制。一般來說,在一臺機(jī)器上運(yùn)行多個(gè)實(shí)例基于以下幾種考慮:對數(shù)據(jù)庫環(huán)境進(jìn)行調(diào)試和開發(fā)的需要如果直接在提供正式數(shù)據(jù)服務(wù)的實(shí)例內(nèi)部對進(jìn)行各種調(diào)試和開發(fā),有可能會影響系統(tǒng)的性能,甚至?xí)拐麄€(gè)系統(tǒng)崩潰。這時(shí)用戶可以創(chuàng)建一個(gè)新的實(shí)例,在新的實(shí)例
10、內(nèi)進(jìn)行調(diào)試和開發(fā),因?yàn)楦鱾€(gè)實(shí)例都有自己的內(nèi)存空間,一個(gè)實(shí)例中的工作不會干擾其他實(shí)例正常的數(shù)據(jù)庫服務(wù)。出于對安全性的考慮。因?yàn)槊總€(gè)實(shí)例有單獨(dú)的權(quán)限控制,我們可以為不同的實(shí)例設(shè)定不同的管理人員,加強(qiáng)安全性的控制。比如你可以把你的個(gè)人信息存放在由你控制的實(shí)例中,其他的實(shí)例擁有者無權(quán)查看。出于優(yōu)化的考慮不同的數(shù)據(jù)庫可能會需要不同的數(shù)據(jù)庫管理器的配置參數(shù)來達(dá)到最優(yōu)的性能,如果把它們放到同一個(gè)實(shí)例中,不能滿足需要。當(dāng)然,系統(tǒng)中的實(shí)例不是越多越好,如果在系統(tǒng)中創(chuàng)建的實(shí)例過多,不僅會造成額外的資源消耗(內(nèi)存、硬盤空間等),也會增大管理開銷。每個(gè)實(shí)例在創(chuàng)建后都會有自己的配置文件,文件內(nèi)的參數(shù)會影響該實(shí)例的性能。
11、數(shù)據(jù)庫在建立時(shí)還會自動地產(chǎn)生一組系統(tǒng)編目表,系統(tǒng)編目表實(shí)際上就是DB2數(shù)據(jù)庫的數(shù)據(jù)字典,它詳盡地描述了數(shù)據(jù)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)。在系統(tǒng)編目表中保存著各種數(shù)據(jù)庫對象的定義、用于查詢優(yōu)化的統(tǒng)計(jì)信息以及系統(tǒng)授權(quán)信息。是一個(gè)數(shù)據(jù)庫中極其重要的組成部分。1.4.2 、實(shí)例的管理:要創(chuàng)建一個(gè)實(shí)例,可以使用db2icrt命令,命令語法如下:db2icrt-aAuthType-pPortName-sInstType-uFencedIDInstName其中:-aAuthType是實(shí)例的認(rèn)證類型(可以為SERVERCLIENT、DCS、DCKSERVER_ENCRYPT)CS_ENCRYPTDCE_SERVER_
12、ENCRYPT勺一種)。-pPortName是此實(shí)例要使用的端口名或端口號。-sInstType是要創(chuàng)建的實(shí)例的類型(eee、ee或client)。-uFencedID是用戶名,被隔離UDF和被隔離的存儲過程將在該用戶名之下運(yùn)行。InstName是實(shí)例的名稱。要列出當(dāng)前系統(tǒng)上創(chuàng)建的所有實(shí)例,可以使用db2ilist命令。要刪除某個(gè)實(shí)例,可以使用db2idrop命令。1.4.3 、實(shí)例級的操作在DB2中,某些任務(wù)只能在實(shí)例級別上執(zhí)行。比如,創(chuàng)建數(shù)據(jù)庫,更新數(shù)據(jù)庫管理器配置參數(shù)等工作。這時(shí)候,就需要應(yīng)用程序連接到特定的實(shí)例之上,然后才能進(jìn)行操作。要連接到一個(gè)實(shí)例上,用戶可以使用ATTACH令,語法
13、為:attachto實(shí)例名user用戶名using用戶口令如果用戶在執(zhí)行實(shí)例級別的任務(wù)時(shí),沒有使用ATTACH命令,則系統(tǒng)將使用在DB2INSTANC蝦境變量中指定的缺省實(shí)例來試圖完成該任務(wù)。1.4.4、數(shù)據(jù)庫管理服務(wù)器(DAS:UDB的數(shù)據(jù)庫管理服務(wù)器實(shí)際上也是一個(gè)實(shí)例,只不過這個(gè)實(shí)例不是用于數(shù)據(jù)服務(wù)的,而是用于管理目的。數(shù)據(jù)庫管理服務(wù)器提供以下功能:接受遠(yuǎn)程客戶端的管理請求,將遠(yuǎn)程的管理請求在數(shù)據(jù)庫服務(wù)器端實(shí)現(xiàn)允許用戶進(jìn)行任務(wù)調(diào)度允許用戶對系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控響應(yīng)DB2Discovery,為其提供系統(tǒng)信息數(shù)據(jù)庫管理服務(wù)器可以在系統(tǒng)安裝時(shí)自動生成,也可以在安裝后手工創(chuàng)建,在一個(gè)數(shù)據(jù)庫節(jié)點(diǎn)中只能有
14、一個(gè)數(shù)據(jù)庫管理服務(wù)器。1.4.5、數(shù)據(jù)庫管理服務(wù)器的使用如果沒有在安裝時(shí)創(chuàng)建數(shù)據(jù)庫管理服務(wù)器,可以使用命令手工創(chuàng)建。具體命令如下:dasicrt管理服務(wù)器的名字(UNIX平臺)db2admincreate(INTEL平臺)啟動和停止數(shù)據(jù)庫管理服務(wù)器的命令:db2adminstart啟動管理服務(wù)器db2adminstop停止管理服務(wù)器顯示當(dāng)前數(shù)據(jù)庫管理服務(wù)器名:dasilist(UNIX平臺)db2admin(INTEL平臺)刪除當(dāng)前數(shù)據(jù)庫管理服務(wù)器:dasidrop管理服務(wù)器的名字(UNIX平臺)db2admindrop(INTEL平臺)1.5、DB2環(huán)境變量的設(shè)置1.5.1、DB2環(huán)境變量除
15、了實(shí)例配置文件和數(shù)據(jù)庫配置文件中所包含的參數(shù)之外,還有一些配置參數(shù)對數(shù)據(jù)庫環(huán)境起到控制作用。這些配置參數(shù)分為三類:環(huán)境變量:這類變量的設(shè)置方法因操作系統(tǒng)的不同而有所差異。例如在WindowsNT環(huán)境中,選擇控制面板系統(tǒng)環(huán)境來設(shè)置;在OS/2中則要更改config.sys文件。這類變量在更改后很可能需要重新啟動系統(tǒng)才生效。實(shí)例級登記項(xiàng):作用范圍是某一特定實(shí)例??梢杂胐b2set命令來設(shè)置。更改后需要重新啟動該實(shí)例才生效。全局級登記項(xiàng):作用范圍是整個(gè)數(shù)據(jù)庫系統(tǒng)??梢杂胐b2set命令來設(shè)置。更改后需要重新啟動所有實(shí)例才生效。舉例:變量類型變量名稱變量作用環(huán)境變量DB2INSTANCE缺省的DB2實(shí)
16、例,如果沒有顯式地連接到某個(gè)實(shí)例,則所有的操作都被假定是對該實(shí)例進(jìn)行的。環(huán)境變量DB2DBDFT缺省的數(shù)據(jù)庫,如果沒有顯式地連接到某個(gè)數(shù)據(jù)庫,則所有的操作都被假定是對該數(shù)據(jù)庫進(jìn)行的。實(shí)例級登記項(xiàng)DB2COMM設(shè)置該實(shí)例用那種網(wǎng)絡(luò)協(xié)議與客戶端通信。全局級登記項(xiàng)DB2SYSTEM該DB2系統(tǒng)的名字。全局級登記項(xiàng)DB2ADMINSERVER該系統(tǒng)上所使用的數(shù)據(jù)庫管理服務(wù)器的名字系統(tǒng)在檢查系統(tǒng)的變量時(shí),按照先環(huán)境變量,再實(shí)例級登記項(xiàng)、最后全局級登記項(xiàng)的順序來搜索。1.5.2、db2set命令db2set命令可以用來管理和設(shè)置DB2的登記項(xiàng),命令語法如下:db2set<option>vari
17、able=value其中常用的命令選項(xiàng):-g:更改全局級變量-i:instance如果更改的是實(shí)例登記項(xiàng),指定該實(shí)例的名字-l:列出所有的實(shí)例登記項(xiàng)-lr:列出所有的登記項(xiàng)例子:db2setDB2ADMINSERVER顯示當(dāng)前的數(shù)據(jù)庫管理服務(wù)器db2setDB2COMM=TCPIP,NETBIOS設(shè)置缺省實(shí)例的交流協(xié)議為TCP/IP和NETBIOSdb2set-all列出當(dāng)前所有的登記項(xiàng)的值1.6、訪問控制一權(quán)限1.6.1、DB2訪問控制的層次結(jié)構(gòu)DB2中的訪問控制層次如上圖所示。可以對DB2的用戶賦于不同級別的權(quán)力和各種特權(quán)。其中權(quán)力(Authorities)是對一組數(shù)據(jù)庫對象進(jìn)行存取的特權(quán)
18、集,有特定的名稱。而特權(quán)(Privileges)則是對特定對象訪問的權(quán)利。權(quán)力(Authorities)分為以下級別:(1)、SYSADM系統(tǒng)管理該權(quán)限是一個(gè)實(shí)例中的最高權(quán)限??梢酝瓿梢粋€(gè)實(shí)例范圍內(nèi)任何管理工作??梢酝ㄟ^實(shí)例配置變量中的SYSADM_GRO郵來指定一個(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)中的管理功能,但不能訪問數(shù)據(jù)。但擁有該權(quán)限的用戶可以創(chuàng)建數(shù)據(jù)庫,并管理自己創(chuàng)建的數(shù)據(jù)庫中的數(shù)據(jù)??梢酝ㄟ^實(shí)例配置變量中的SYSCTRL_GROUP來
19、指定一個(gè)用戶組擁有該權(quán)限、SYSMAINT系統(tǒng)維護(hù)該權(quán)限只能完成系統(tǒng)中與維護(hù)有關(guān)的任務(wù),但不能訪問數(shù)據(jù),而且擁有該權(quán)限的用戶不能創(chuàng)建數(shù)據(jù)庫??梢酝ㄟ^實(shí)例配置變量中的SYSMAINT_GROUP數(shù)來指定一個(gè)用戶組擁有該權(quán)限。、DBADM-數(shù)據(jù)庫管理該權(quán)限是數(shù)據(jù)庫級的權(quán)限,可以完成數(shù)據(jù)庫的管理工作。該權(quán)限可以通過SQL語句授予。四種級別的權(quán)力對比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植數(shù)據(jù)庫可以更改實(shí)例配置參數(shù)可以賦予或撤消DBADM-限可以指定SYSCTRL!可以指定SYSMAINT!可以更改數(shù)據(jù)庫目錄可以可以中斷應(yīng)用程序可以可以創(chuàng)建/刪除數(shù)據(jù)庫可以可以創(chuàng)建/刪除表空間
20、可以可以利用恢復(fù)建立一個(gè)數(shù)據(jù)庫可以可以更改數(shù)據(jù)庫配置參數(shù)可以可以可以備份數(shù)據(jù)庫和表空間可以可以可以恢復(fù)一個(gè)存在的數(shù)據(jù)庫可以可以可以執(zhí)行前滾恢復(fù)可以可以可以啟動/停止實(shí)例可以可以可以恢復(fù)表空間可以可以可以使用TRACED具可以可以可以獲取實(shí)例和數(shù)據(jù)庫的快照信息可以可以可以查詢表空間狀態(tài)可以可以可以可以更改日志歷史文件可以可以可以可以休止表空間可以可以可以可以使用RUNSTATS:具可以可以可以可以對表做LOAD可以可以讀日志文件可以可以可以創(chuàng)建/刪除/激活事件監(jiān)視器可以可以可以第二章DB2的圖形用戶界面2.1、DB2的圖形界面概述在UDB之前的DB2產(chǎn)品中,提供給用戶的圖形界面很少。大部分的管理
21、工作和操作只能通過手工鍵入命令的方式來實(shí)現(xiàn)。UDB的出現(xiàn)改變了這一現(xiàn)狀,它提供了豐富的圖形化工具,使得管理工作變得更加輕松。2.2、DB2的圖形化工具2.2.1、客戶端配置工具一CCA要對遠(yuǎn)程數(shù)據(jù)庫進(jìn)行存取,首先要設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫的網(wǎng)絡(luò)連接。這個(gè)過程是一個(gè)比較復(fù)雜的過程,需要用戶對網(wǎng)絡(luò)參數(shù)、配置命令要有一定程度的了解。CCA就是一個(gè)用來幫助用戶設(shè)置從客戶端到遠(yuǎn)程數(shù)據(jù)庫連接,減輕用戶負(fù)擔(dān)的工具。它提供了三種配置方法供用戶選擇:a、人工方法該方法對用戶的要求較高,需要用戶了解要連接的數(shù)據(jù)庫服務(wù)器的相關(guān)信息,例如使用那些網(wǎng)絡(luò)協(xié)議、要連接的數(shù)據(jù)庫的名稱等。用戶可以通過CCA供的界面輸入網(wǎng)絡(luò)連接
22、所需信息,完成連接配置。b、自動搜索方法該方法不需要用戶有任何網(wǎng)絡(luò)知識,它會自動利用一種叫DB2Discovery的機(jī)制在局域網(wǎng)中自動搜索DB2服務(wù)器。它會與遠(yuǎn)程數(shù)據(jù)庫節(jié)點(diǎn)上的數(shù)據(jù)庫管理服務(wù)器(DA0進(jìn)行通訊,然后將數(shù)據(jù)庫管理服務(wù)器搜集的信息返回。用戶可以根據(jù)返回信息選擇要連接的數(shù)據(jù)庫。c、載入配置文件方法該方法允許從要連接的數(shù)據(jù)庫所在的服務(wù)器端或者從已經(jīng)配置成功的客戶端生成一個(gè)配置文檔。在文檔中包含了相應(yīng)的配置信息,用戶可以在CCA中載入該文檔,完成連接配置。用戶可以通過以上任一種方法進(jìn)行網(wǎng)絡(luò)配置,完成對遠(yuǎn)程的數(shù)據(jù)庫的連接,CLI/ODBC數(shù)據(jù)源的配置,將應(yīng)用程序綁定到數(shù)據(jù)庫上等工作。CCA
23、除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2cca命令存取。具體界面如下圖。2.2.2、產(chǎn)品信息和文檔UDB提供了豐富的幫助信息。幾乎所有的信息都可以通過信息中心(InformationCenter)來存取。在信息中心中,我們可以按照以下幾種方法獲取相關(guān)信息:任務(wù):獲取完成特定任務(wù)所需的信息書籍:UD璇機(jī)提供了許多技術(shù)手冊,如管理員手冊、開發(fā)人員手冊等等。用戶可以通過這些聯(lián)機(jī)手冊來查找信息。疑難:可以根據(jù)你遇到的疑難錯(cuò)誤來查找相應(yīng)的解決方法。樣例程序:可以查找到各種語言、各種接口進(jìn)行數(shù)據(jù)庫編程的例子。Web信息:指引你到相關(guān)Web站點(diǎn)上獲取相應(yīng)的信息。除了這幾種手段以外,
24、信息中心還提供了強(qiáng)大的搜索工具,幫助你在聯(lián)機(jī)手冊中進(jìn)行全文檢索,找到匹配的關(guān)鍵詞。信息中心除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2ic命令存取。具體界面見下圖。蜻金河時(shí)SHg耽零-解苔於行任矗蘋而尋F氐M拆R天霜,焦命里壬>佝寮珈&甘gwE三IaKTnr*SltqlBnS攵IT:莎里別二I豆Tiff幸畦在謬玉斤序雪曲識用F矗電諾專記ii芭說璃SCL胃勺JS寰寧婚ISl十如|1坑古堂奇曲哽法6TLJMi«理n-SPKwi!士HE此商乏察*史做四FFI式寸理YEBAtft>1禪魅告軍(Mfi>雋K飾皓*陽出蕓成同用fttl-Br母丹&q
25、uot;ilajs逐史WllftW京乂閔了踣愁走眺|叫1_由S?房下和H用FHW.;fi式仟棵N"翌壬皿甫«8場庵H用二啜工利市市引何積日用=依予*率悝素習(xí)特&*圖:捋予0F*熟蕓庫尸廈恥抵間看甲剌悔西容不M厚KE崛京f化時(shí)均*在4更畦加加R«ir岑EHMVCi.l胃臥除了信息中心之外,還有一個(gè)小程序一第一步(FirstStep)來幫助新用戶按照一系列的步驟來熟悉數(shù)據(jù)庫操作。它可以幫助用戶建立一個(gè)樣例數(shù)據(jù)庫,查看樣例數(shù)據(jù)庫中的內(nèi)容,以及對樣例數(shù)據(jù)庫進(jìn)行操作。FirstStep除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2steps命令存
26、取。具體界面如下圖。皿顯枷心Ui&JluA34!rlUJiffl<»”肇首JO戶,,«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號用敬-._|呂_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命令的圖形化工具。可以說,命令中心就是一個(gè)圖形化的命令行處理器(CLP),我們可以在命令中心中輸入DB2命令或調(diào)用現(xiàn)成的命令腳本,執(zhí)行后查看輸出結(jié)果。命令中心可以將已輸入的命令作為腳本保存在腳本中心中,也可以對保存在腳本中心中的腳本加以調(diào)度。另外,命令中心一個(gè)非常有用的功能是允許用戶通過它查看SQL語句的存取計(jì)劃,存取計(jì)劃中包含著SQL語句執(zhí)行情況的統(tǒng)計(jì)結(jié)果,用戶可以通過命令中心為SQL語句生成存取計(jì)劃
28、,并以可視化的形式表現(xiàn)出來。命令中心可以通過系統(tǒng)菜單(WindowsNT操作系統(tǒng))或控制中心(ControlCenter)來調(diào)用,也可以通過在命令行下鍵入db2cctr命令來執(zhí)行。具體界面如下圖。R工具砸口,>口口堀51司;畫>t=姑丈r耳wJUgJ*Iffarq2.2.4、腳本中心(ScriptCenter)腳本中心的主要功能有:創(chuàng)建、編輯、保存和運(yùn)行命令腳本(可以包括DB2命令和操作系統(tǒng)命令)運(yùn)行一個(gè)以前保存的腳本文件對一個(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)通過日志可以查看幾類信息:作業(yè)信息包括暫掛作業(yè)(PendingJob)信息、正在運(yùn)行的作業(yè)(RunningJob)信息以及已經(jīng)完成的作業(yè)的信息。對于PendingJob,可以對其進(jìn)行重新調(diào)度、顯示與它相關(guān)的腳本或立即運(yùn)行它。恢復(fù)歷史信息提供了對數(shù)據(jù)庫進(jìn)行的備份、恢復(fù)過程的詳細(xì)信息,比如:備份的時(shí)間、備份的類型等,這些信息實(shí)際都被保存在一個(gè)稱為恢復(fù)歷史文件的文件當(dāng)中。警報(bào)信息包
30、含了系統(tǒng)發(fā)出的警報(bào)信息。系統(tǒng)信息包含了UD或據(jù)庫管理器生成的信息。日志除了包含以上信息以外,也可以對已經(jīng)被腳本中心調(diào)度的作業(yè)重新進(jìn)行調(diào)度。日志的具體界面見下圖。2.2.6、警報(bào)中心(AlertCenter)警報(bào)中心搜集所有數(shù)據(jù)庫管理器發(fā)出的警告信息,管理人員可以根據(jù)這些警告信息對某些系統(tǒng)錯(cuò)誤進(jìn)行分析。查找出系統(tǒng)的潛在問題??蓪ⅰ熬瘓?bào)中心”設(shè)置為自動打開,顯示已超過其閾值并因此處于警報(bào)或警告狀態(tài)的各種受監(jiān)控對象。閾值的設(shè)置用可從“控制中心”調(diào)用的“性能監(jiān)控程序”來完成。圖符的顏色指示警告的嚴(yán)重性。紅色圖符指示報(bào)警信號。黃色圖符指示警告。并顯示為性能變量返回的數(shù)據(jù)。1.2.7、許可證中心(Lice
31、nseCenter)許可證中心可以對UDB的許可證信息提供集中管理,可以允許用戶增添、更改和刪除UDB產(chǎn)品的許可證。用戶也可以瀏覽當(dāng)前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱、產(chǎn)品的版本、過期時(shí)間及允許的用戶數(shù)目等信息。具體界面見下圖。項(xiàng)啊*隆工具歌物回口jg知Ml建,F(xiàn)3U5落瞌茗膈MLWTzl*產(chǎn)昌故與皿中A應(yīng)訐雌|場,|7r*-|尸苦OB2"UK煎丈回旦61EI酶日略廷錄炭注徹氏IP簞暗并伺用聲g集用2.2.8、控制中心(ControlCenter)控制中心是UDB的管理工具的核心,絕大多數(shù)的管理任務(wù)和對其他管理工具的存取都可以通過控制中心來完成。具體界面如下圖??刂浦行?/p>
32、有如下組成部分:菜單條:菜單條在屏幕的頂部。從菜單條選擇菜單允許您執(zhí)行許多功能,如關(guān)閉DB2工具、存取圖形工具以及存取聯(lián)機(jī)幫助和產(chǎn)品信息。可通過單擊菜單條上的每一項(xiàng)來熟悉這些功能通過菜單的方式完成對控制中心的存取。工具欄:位于菜單條下方的一組圖形按鈕,通過點(diǎn)擊可以調(diào)用其他的管理工具,如命令中心、腳本中心等以上所提到的工具對象窗格:對象窗格位于屏幕的左邊窗格中,它按照UD啜據(jù)庫對象的層次關(guān)系(UDB系統(tǒng)-實(shí)例一數(shù)據(jù)庫-數(shù)據(jù)庫內(nèi)部對象)對系統(tǒng)進(jìn)行組織,以樹狀的形式顯示。用戶可以方便地從中找到要管理的對象。對象窗格中的某些對象包含其他對象。對象左面的加號(+)指示該對象是折疊的??蓡螕艏犹栒归_它。當(dāng)
33、展開對象后,在它的左面會出現(xiàn)一個(gè)減號(-)。要折疊此對象,單擊減號。內(nèi)容窗格:位于屏幕的右邊窗格中。此窗格顯示在對象窗格中選定對象包含的所有對象,例如,若您在對象窗格中選擇表文件夾,數(shù)據(jù)庫中所有的表都將出現(xiàn)在“內(nèi)容”窗格中。若您選擇數(shù)據(jù)庫文件夾,內(nèi)容窗格會變?yōu)閷?shí)例中的所有數(shù)據(jù)庫。用戶可以在對象窗格或內(nèi)容窗格中選擇要操作的對象,按鼠標(biāo)右鍵按出彈出式菜單,能對該對象所進(jìn)行的所有操作幾乎都包含在菜單中。控制中心除了可以從DB2桌面的文件夾中進(jìn)行存取,也可以在命令行下鍵入db2cc命令存取。2.2.9、工具設(shè)置(ToolSettings)工具設(shè)置可以用來更改某些系統(tǒng)工具的設(shè)置,比如設(shè)定SQL語句之間的
34、分隔符、如果DB2實(shí)例沒有啟動,是否需要在UDB工具啟動的時(shí)候自動啟動實(shí)例。工具設(shè)置可以從工具欄上的圖形按鈕存取。具體界面如下圖。2.2.10、快速向?qū)?SmartGuides)UDB中很多任務(wù)的完成涉及到很多術(shù)語和參數(shù),如果用戶對這些信息不是很了解,會影響到任務(wù)的完成效果。為了能夠?qū)@些用戶提供幫助,UDB中提供了很多快速向?qū)?。這些快速向?qū)Э梢葬槍Σ煌娜蝿?wù)向用戶提出一些比較淺顯的問題,根據(jù)用戶對問題的回答設(shè)定相應(yīng)的參數(shù)。幫助用戶完成相應(yīng)的任務(wù)。UDB中提供的快速向?qū)Х譃橐韵聨最悾簩ο髣?chuàng)建類:在創(chuàng)建數(shù)據(jù)庫、表空間和表時(shí)提供幫助。數(shù)據(jù)庫管理任務(wù):在備份和恢復(fù)數(shù)據(jù)庫時(shí)提供幫助。多點(diǎn)更改:在分布式
35、環(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務(wù)進(jìn)行控制。性能調(diào)節(jié):幫助用戶對系統(tǒng)性能進(jìn)行調(diào)節(jié)。具體的快速向?qū)в校簞?chuàng)建數(shù)據(jù)庫快速向?qū)В涸试S用戶創(chuàng)建數(shù)據(jù)庫、分配存儲空間以及選擇基本性能選項(xiàng)。要調(diào)用它,選擇對象窗格中的“數(shù)據(jù)庫”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建->使用SmartGuide創(chuàng)建數(shù)據(jù)庫。創(chuàng)建表快速向?qū)В捍丝焖傧驅(qū)椭脩羰褂妙A(yù)定義的列模板來設(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è)置存儲及性能選項(xiàng)。要調(diào)用它,選擇“表空間”圖符
36、,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建->使用SmartGuide創(chuàng)建表空間。索引快速向?qū)В涸摽焖傧驅(qū)椭脩舸_定對給定的一組SQL語句,要創(chuàng)建或刪除哪些索引,才能使給定的語句性能最優(yōu)。要調(diào)用它選擇“索引”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建->使用SmartGuide創(chuàng)建索引。性能配置。此快速向?qū)椭鶕?jù)有關(guān)數(shù)據(jù)庫的用途來調(diào)諧數(shù)據(jù)庫。然后它對數(shù)據(jù)庫和實(shí)例建議新的配置參數(shù),并在需要時(shí)自動應(yīng)用它們。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕2,然后選擇使用SmartGuide配置。復(fù)原數(shù)據(jù)庫快速向?qū)В捍丝焖傧驅(qū)?jīng)歷恢復(fù)數(shù)據(jù)庫的全過程。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕2,然后
37、選擇復(fù)原->使用SmartGuide復(fù)原數(shù)據(jù)庫。備份數(shù)據(jù)庫快速向?qū)В核儐栍脩絷P(guān)于數(shù)據(jù)庫中的數(shù)據(jù)、數(shù)據(jù)庫的可用性以及可恢復(fù)性要求等基本問題。然后它建議一個(gè)備份方案、創(chuàng)建作業(yè)腳本并調(diào)度它。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕2,然后選擇備份->使用SmartGuide備份數(shù)據(jù)庫。配置多站點(diǎn)更新快速向?qū)В涸摽焖傧驅(qū)椭脩粼诜植际江h(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務(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語句,比如創(chuàng)建表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個(gè)按鈕之一,可以查看該工具根據(jù)用戶在圖形界面中所做選擇而生成的SQL語句或DB2命令。幫助用戶了解該界面是如何工作的。另外該選項(xiàng)也允許用戶將語句或命令另存為腳本以備將來使用。若用戶希望再次運(yùn)行相同的語句或命令,可以不必重新輸入SQL語句或DB2命令。一旦SQL語句或DB2命令已保存到腳本中,用戶可以調(diào)度腳本、編輯此腳本進(jìn)行更改或創(chuàng)建類似的腳本而不必重新輸入語句或命令。顯示相關(guān)對象(ShowRelated
39、)顯示相關(guān)項(xiàng)顯示表、索引、視圖、別名、觸發(fā)器、表空間、“用戶定義函數(shù)”以及“用戶定義類型”之間的直接關(guān)系。顯示相關(guān)對象可以幫助用戶了解一個(gè)對象與哪些對象相關(guān),分析數(shù)據(jù)庫的結(jié)構(gòu)以及判斷可能執(zhí)行的操作會造成的影響。例如,如果用戶希望刪除有從屬視圖的表,顯示相關(guān)項(xiàng)會告訴用戶如果進(jìn)行刪除操作后,哪些視圖將變?yōu)闊o效視圖。從“控制中心”的內(nèi)容窗格中的很多對象中,單擊鼠標(biāo)按鈕2。都會看到“顯示相關(guān)對象”的選項(xiàng)。第三章數(shù)據(jù)移動3.1、數(shù)據(jù)移動概述在數(shù)據(jù)庫的使用過程中,經(jīng)常需要將一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)遷移到另外的一個(gè)數(shù)據(jù)庫中。為了實(shí)現(xiàn)這種功能,我們可以使用數(shù)據(jù)庫復(fù)制技術(shù),這種技術(shù)在大多數(shù)的關(guān)系型數(shù)據(jù)庫中都有相應(yīng)的實(shí)
40、現(xiàn),不過這種方法對管理的要求較高,而且需要網(wǎng)絡(luò)的連接。更常用的方法是利用某種類型的外部文件作為中介,將一個(gè)數(shù)據(jù)庫中的某個(gè)表中的數(shù)據(jù)導(dǎo)出到一個(gè)外部文件中,然后把該文件中的數(shù)據(jù)導(dǎo)入到另外一個(gè)數(shù)據(jù)庫中。DB2中實(shí)現(xiàn)以上功能的主要工具有三個(gè):EXPORTIMPORTLOAQ其中EXPORT功能是將表中的數(shù)據(jù)導(dǎo)出到外部文件中;而IMPORTSLOAD的功能是將外部文件中的數(shù)據(jù)導(dǎo)入到一個(gè)表中。IMPORTSLOAD勺功能類似,但在實(shí)現(xiàn)手段上有很大差異。能夠被DB2所支持用作數(shù)據(jù)移動的中間文件的格式有四種:非定界ASCII碼文件(ASCII)、定界ASCII碼文件(DELASCII)、WS咬件和PC/IXF
41、文件。其特點(diǎn)是:ASCII:純文本格式,每個(gè)數(shù)據(jù)列之間中有分隔符,但數(shù)據(jù)行之間沒有分隔符。ASCII文件不能被EXPORT持。、DEL:純文本格式,數(shù)據(jù)列之間有分隔符,數(shù)據(jù)行之間也有分隔符。WSF:Lotus1-2-3工作表格式。WS成件不能被LOADt持。PC/IXF:一種非常通用的格式,被多種數(shù)據(jù)庫管理系統(tǒng)所支持??梢杂米髟诋惙N數(shù)據(jù)庫中進(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ù)庫上。因?yàn)橐獙Ρ砘蛞晥D(EXPOR咬持對視圖進(jìn)行操作)進(jìn)行SELECT作,執(zhí)行EXPORT勺用戶至少要有相關(guān)表或視圖上的SELECT限。如果使用PC/IXF文件,文件中將包含表中的索引定義??梢酝ㄟ^DB2Connect將主機(jī)上的數(shù)據(jù)導(dǎo)出到外部文件中。3.3、IMPORT勺功能和使用IMPORT可以被看作是EX
43、PORT勺逆過程,用于將數(shù)據(jù)從外部文件中導(dǎo)入到數(shù)據(jù)庫之中。下面是一個(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ù)庫上。因?yàn)橐獙Ρ砘蛞晥D(IMPORT持對視圖進(jìn)行操作)進(jìn)行修改操作,執(zhí)行EXPORT勺用戶至少要有相關(guān)表或視圖上的相關(guān)權(quán)限(依據(jù)導(dǎo)入模式的不同而不同)。比如,使用INSERT模式,至少要有相應(yīng)表上的INSERT權(quán)限;如果使用CREATE莫式,則需要數(shù)據(jù)庫上的CREATETAB限。如果使用CREATE莫式,必須使用PC/IXF文件進(jìn)行數(shù)據(jù)導(dǎo)入??梢酝ㄟ^DB2Connect向主機(jī)上的數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)。3.4、LOAD勺功能和使用3.1、LOAD既述LOAD勺功能與IMPOR樓似,但實(shí)現(xiàn)的方式有很大區(qū)別。其操作方式更加貼近底層。LOAD把要導(dǎo)入的數(shù)據(jù)格式化成數(shù)據(jù)頁,利用并行I/O寫入存儲介質(zhì)。
45、在LOAD過程中,只進(jìn)行極少量的日志記錄,而且不進(jìn)行約束檢查。因此,LOAD導(dǎo)入的速度要比IMPORT快很多,尤其是數(shù)據(jù)量比較的的時(shí)候,LOAD勺速度優(yōu)勢十分明顯。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)勢,但對管理上的要求比較高。LOAD可以分成三個(gè)階段。第一個(gè)階段叫LOAD階段。在這個(gè)階段中,數(shù)據(jù)被導(dǎo)入到表中,如果表上有索引存在,LOAD等按照索引定義搜集索引關(guān)鍵字,然后進(jìn)行排序。如果有不符合表定義的數(shù)據(jù)行
46、,LOAD務(wù)會把它們放到一個(gè)文件(DUMPFILE中,同時(shí)在消息文件(MESSAGEFILE)中進(jìn)行記錄。如果在命令中指定了SAVECOUNT數(shù),LOAD務(wù)每隔一定數(shù)目的數(shù)據(jù)行進(jìn)行一次保存。第二個(gè)階段叫BUILD階段。在這個(gè)階段中,LOAD會利用在LOAD介段搜集的索引關(guān)鍵字構(gòu)造索引。如果表上沒有索引,這個(gè)過程將被忽略。另外,如果表上定義了唯一性約束,LOAD會在這個(gè)階段進(jìn)行檢查。如果有違反唯一性約束的數(shù)據(jù)行,LOAD將會把它們拷貝到一個(gè)特殊的表一例外表(ExceptionTable)中。相應(yīng)的信息會保存在信息文件(MESSAGEFILE中。第三個(gè)階段叫DELETE階段。在這個(gè)階段中,所有違反
47、唯一性約束的行將被從表中刪除。3.4.3、異常情況的處理由于某些操作的失敗,表空間可能處于某種異常狀態(tài)。表空間的狀態(tài)可以通過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ā)生的。我們下面就來探詢其原因及解決辦法。3.4.4.1、LOADPENDING態(tài)如果LOA弟于用戶的錯(cuò)誤而
48、沒有運(yùn)行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對表空間的狀態(tài)不會有任何影響。如果LOADfe向表中導(dǎo)入數(shù)據(jù)的時(shí)候出現(xiàn)了錯(cuò)誤,LOA繪終止,同時(shí)將要導(dǎo)入數(shù)據(jù)的表所在的表空間置于LOADPENDIN啾態(tài)。如果表空間處于LOADPENDING除了使用LOA皿具對表空間進(jìn)行操作來消除LOADPENDIN猷態(tài)以外,不能對該表空間進(jìn)行其他操作。出現(xiàn)了LOADPENDIN猷態(tài)以后,應(yīng)該對LOA時(shí)成的MESSAGE件進(jìn)行檢查,查看是在LOAD勺哪一個(gè)階段出現(xiàn)的問題。然后可以使用LOAD的RESTARTS®重新進(jìn)行LOADLOAD會自動的從上一個(gè)一致性點(diǎn)進(jìn)行恢復(fù)。比如指定了SAVE
49、COUNT為100,在導(dǎo)入到531行記錄時(shí)出現(xiàn)異常終止,則LOA繪從第501條記錄重新開始導(dǎo)入。如果是在LOAE程中的BUILD階段和DELETED段時(shí)出現(xiàn)了錯(cuò)誤,LOAD會從這兩個(gè)階段的起始點(diǎn)重新開始。如果利用RESTART項(xiàng)后,LOA葫它夠成功,則LOADPENDING狀態(tài)可以被消除。如果使用RESTART項(xiàng)仍然不能成功,則可以使用TERMINATE項(xiàng)來終止LOAD過程,同時(shí)消除LOADPENDING犬態(tài)。如果我們在終止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成功后會將表空間置成BACKUPPENDIN秩態(tài),需要對該表空間進(jìn)行備份才能消除;如果我們選擇的是COPYYES則系統(tǒng)在LOAD過程中自動對載入的數(shù)據(jù)進(jìn)行備份,LOAD成功后表空間處于正常狀態(tài);如果我們選擇的是NONRECOVERABLE系統(tǒng)在LOAC程中不對載入數(shù)據(jù)進(jìn)行備份,在LOAg功后也不把表空間置于BACKUPPENDING。之所以LOAD要提供幾種復(fù)制選項(xiàng)的原因是由于出于數(shù)據(jù)完整性的考慮。我們在前
51、面已經(jīng)介紹過,LOACR做很少的日志,導(dǎo)入的數(shù)據(jù)不被記錄在日志之中。如果在LOAD以后,數(shù)據(jù)庫崩潰了,LOADH入的數(shù)據(jù)將無法得到恢復(fù),造成數(shù)據(jù)的不完整。如果使用COPYNO選項(xiàng),系統(tǒng)會強(qiáng)制用戶在LOAD之后對表空間進(jìn)行備份,如果以后需要對數(shù)據(jù)庫進(jìn)行恢復(fù),則可以從中恢復(fù)LOAL入的數(shù)據(jù);如果使用COPY丫£馳項(xiàng),貝U系統(tǒng)在LOAD過程中會自動對導(dǎo)入的數(shù)據(jù)進(jìn)行備份,可以用于日后的恢復(fù);如果使用NONRECOVERAB,則等于用戶明確表示日后不想恢復(fù)LOAD#入的數(shù)據(jù),這個(gè)選項(xiàng)一般用于接收數(shù)據(jù)導(dǎo)入的表被用于只讀操作,如果需要對數(shù)據(jù)進(jìn)行恢復(fù),重新進(jìn)行LOAD可以。3.5、IMPORf!LO
52、AD勺對比IMPORT和LOAg功能上相似,但在實(shí)現(xiàn)方式和使用上有很大不同,我們將通過下表將這兩中工具進(jìn)行一下對照。IMPORTLOAD說明在導(dǎo)入大里數(shù)據(jù)時(shí)速度較使在導(dǎo)入大量數(shù)據(jù)時(shí)速度明顯比IMPORTSLOAD將數(shù)據(jù)格式化成數(shù)據(jù)貝的形式直接寫入數(shù)據(jù)庫如果使用IXF文件格式,表和索引可以不存在在導(dǎo)入數(shù)據(jù)之前,表和索引必須存在IMPORTS以在導(dǎo)入數(shù)據(jù)時(shí)創(chuàng)建表和索引支持WSFt件格式不支持WSFt件格式能夠?qū)Ρ砗鸵晥D進(jìn)行IMPORTLOAD勺對象必須是表在進(jìn)行IMPORTS,其他程序能夠?qū)Ρ磉M(jìn)行存取在進(jìn)行LOADB寸,其他程序不能對表進(jìn)行存取LOAD#導(dǎo)入數(shù)據(jù)的表所在表空間置為排它狀態(tài)導(dǎo)入的所有
53、數(shù)據(jù)都被日志所記錄LOADR做極少量的日志IMPORT激活觸發(fā)器LOAM會激活觸發(fā)器IMPORT可以使用COMMITCOUNT數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次提交,如果IMPORT敗,可以從最后的一次提交點(diǎn)重新開始。LOAD可以使用SAVECOUN參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進(jìn)行一次保存,如果LOAD敗,可以從最后的一次提交點(diǎn)重新開始。TIMPORT使用的是數(shù)據(jù)庫內(nèi)部的臨時(shí)表空間LOAD使用的是數(shù)據(jù)庫以外的臨時(shí)空間所有的約束在IMPORTS程中都將被總結(jié)在LOAD±程中只檢查唯一性約束LOAD關(guān)閉約束檢查,需要在LOA斯用SETINTEGERITY消除表上的CHECKPENDI
54、NG在IMPORTS程中,當(dāng)每一行被導(dǎo)入時(shí),索引關(guān)鍵字被插入到索引中在LOAD過程中,LOAD在LOA晰段搜集索引關(guān)鍵字,在BULID階段統(tǒng)一生成索引如果需要重新搜集統(tǒng)計(jì)信息,在IMPORTS使用RUNSTAT工具如果需要重新搜集統(tǒng)計(jì)信息,可以在LOAD使用RUNSTATC具,也可以在LOAD±程中進(jìn)行搜集在LOAM直接搜集統(tǒng)計(jì)信息會延長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ù)庫所在的節(jié)占上八、_L-IMPORTS需要備份根據(jù)復(fù)制選項(xiàng)的不同,可能需要進(jìn)行備
55、份IMPORT入的數(shù)據(jù)在日志中會有記錄第四章數(shù)據(jù)庫恢復(fù)在防止關(guān)鍵數(shù)據(jù)的丟失當(dāng)中,恢復(fù)用戶自己的環(huán)境十分重要。有一些工具可以幫助用戶管理自己的環(huán)境和保證用戶可以對自己的數(shù)據(jù)實(shí)施充分的恢復(fù)措施。我們將討論在關(guān)系數(shù)據(jù)庫系統(tǒng)中的日志存檔概念,因?yàn)樗鼘枚?shù)據(jù)庫的恢復(fù)功能的組成部分。日志文件是由DB2用來確保數(shù)據(jù)庫完整性,即使當(dāng)出現(xiàn)某些不可預(yù)見的問題引起用戶系統(tǒng)癱瘓時(shí),比如發(fā)生斷電故障,也能做到這一點(diǎn)。要充分理解日志工作的目的,首先解釋活楚工作單元(unitofwork)和事務(wù)(transaction)這兩個(gè)概念。4.1工作單元為了確保數(shù)據(jù)庫中數(shù)據(jù)的一致性,應(yīng)用程序經(jīng)常必須立即實(shí)施一些變更。類似,它必須禁
56、止所有的變更。這就叫做工作單元(unitofwork)。工作單元是應(yīng)用程序進(jìn)程內(nèi)可恢復(fù)的操作序歹0。工作單兀是應(yīng)用程序用來確保在數(shù)據(jù)庫中不引入不一致數(shù)據(jù)的基本機(jī)制。在任何時(shí)刻,應(yīng)用程序進(jìn)程都有一個(gè)工作單元,而應(yīng)用程序進(jìn)程的生存期可能涉及許多工作單元。4.2事務(wù)在象DB2®樣的關(guān)系數(shù)據(jù)庫中,工作單元被稱為事務(wù)(transaction)。事務(wù)是應(yīng)用程序進(jìn)程內(nèi)的一個(gè)可恢復(fù)的SQ賺作序列。對數(shù)據(jù)庫的任何一次讀或?qū)懚际窃谀炒问聞?wù)內(nèi)完成的。任何一個(gè)成功地與數(shù)據(jù)庫相連接的應(yīng)用程序都自動地啟動一個(gè)事務(wù)。應(yīng)用程序必須通過發(fā)出一條SQLCOMMIT托確認(rèn))或SQLROLLBACK(回)語句去結(jié)束該事務(wù)。SQL的COMMITS句告訴數(shù)據(jù)庫管理員立即對數(shù)據(jù)庫實(shí)施事務(wù)中的所有數(shù)據(jù)庫變動(插入、更新、刪除)。SQL的ROLLBACKS句告訴數(shù)據(jù)庫管理器不實(shí)施這些變動,但將受到影響的行返回到開始該事務(wù)之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶數(shù)據(jù)的完整性,DB2已經(jīng)實(shí)施提前寫日志存檔模式。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消費(fèi)者行為變化與風(fēng)險(xiǎn)試題及答案
- 網(wǎng)絡(luò)安全監(jiān)測與分析試題與答案
- 2025年VB考試內(nèi)容全面分析與試題
- 行政法學(xué)完整試題與答案分享
- 戰(zhàn)略執(zhí)行中的合規(guī)性風(fēng)險(xiǎn)管理對策試題及答案
- 信息處理行業(yè)標(biāo)準(zhǔn)化的必要性試題及答案
- 【成都】2025年上半年成都市住房和城鄉(xiāng)建設(shè)局所屬6家事業(yè)單位招聘工作人員13人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2025商業(yè)辦公裝修合同范本匯編
- 高考數(shù)學(xué)中低檔題型解析試題及答案
- 編程技術(shù)的發(fā)展和未來展望試題及答案
- 《非暴力溝通》:心理學(xué)溝通技巧
- GB/T 23150-2024熱水器用管狀加熱器
- 新版加油站安全操作規(guī)程
- 時(shí)政述評巴以沖突課件-2024屆高考政治一輪復(fù)習(xí)
- 三級綜合醫(yī)院評審標(biāo)準(zhǔn)(2024年版)
- 餐廳服務(wù)員(初級)職業(yè)鑒定理論考試題及答案
- 國有企業(yè)外派董監(jiān)事、高管人員管理辦法
- 2024年時(shí)事政治題庫及參考答案(100題)
- 《汽車構(gòu)造》期末考試復(fù)習(xí)題庫(含答案)
- DB3301-T 0222-2024 國際化醫(yī)院建設(shè)規(guī)范
- 《念奴嬌·過洞庭》《赤壁賦》聯(lián)讀教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語文必修下冊
評論
0/150
提交評論