數(shù)據(jù)移動與數(shù)據(jù)庫恢復(fù)概述_第1頁
數(shù)據(jù)移動與數(shù)據(jù)庫恢復(fù)概述_第2頁
數(shù)據(jù)移動與數(shù)據(jù)庫恢復(fù)概述_第3頁
數(shù)據(jù)移動與數(shù)據(jù)庫恢復(fù)概述_第4頁
數(shù)據(jù)移動與數(shù)據(jù)庫恢復(fù)概述_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、79/79第一章 DB2 UDB 概況1.1、DB2 UDB的產(chǎn)品家族 UDB(Universal Database )的前身為DB2,是IBM公司開發(fā)的關(guān)系型數(shù)據(jù)庫治理系統(tǒng)。從其誕生之日開始,DB2就定位于要為各種規(guī)模的企業(yè)提供穩(wěn)定、高效的數(shù)據(jù)治理支持。能夠講,DB2是當(dāng)前適用范圍最廣泛的數(shù)據(jù)庫產(chǎn)品。我們對DB2產(chǎn)品的劃分通常分為兩種方法:一種方法是按其所能支持的硬件和操作系統(tǒng)平臺進行劃分,另一種方法是按其所能支持的用戶規(guī)模的不同進行劃分。 DB2產(chǎn)品幾乎覆蓋了當(dāng)前所有流行的硬件和操作系統(tǒng)平臺。在大型機操作系統(tǒng)上,有DB2 for OS/390、DB2 for MVS/ESA、DB2 for

2、 VSE 和DB2 for VM等多種產(chǎn)品;在由IBM公司設(shè)計的小型機AS/400上,DB2差不多嵌入在操作系統(tǒng)OS/400之中,成為其不可分割的一部分。DB2對UNIX操作系統(tǒng)的支持同樣十分廣泛,能夠在AIX、HP-UX、 Solaris、SCO-UNIX、SINIX 等多種系統(tǒng)上找到其相應(yīng)的版本。另外,在PC操作系統(tǒng)上,DB2能夠?qū)indow 9x、Windows NT以及OS/2等多種操作系統(tǒng)提供支持。UDB 6.1還增加了對Linux操作系統(tǒng)的支持。以上我們所提到的只是DB2服務(wù)器所能運行的平臺,DB2的客戶端所能支持的平臺更為廣泛,除了以上提到的所有平臺之外,DB2的客戶端還能運行

3、在Dos、Windows 3.x、Mac OS以及SGI公司的IRIS系統(tǒng)之上。UDB產(chǎn)品除了能夠?qū)Ω鞣N硬件和操作系統(tǒng)平臺進行支持之外,為了適應(yīng)不同用戶群的需要,UDB提供了不同級不的產(chǎn)品,對小到個人用戶,大到跨國企業(yè)的不同需求提供支持。以下是對UDB 6.1版本不同級不產(chǎn)品的特點介紹: UDB衛(wèi)星版:是專門為移動用戶設(shè)計的小型數(shù)據(jù)庫產(chǎn)品。適合于間或連接 DB2操縱服務(wù)器來與公司系統(tǒng)交換數(shù)據(jù)的單用戶系統(tǒng)。它既能同意用戶對本地數(shù)據(jù)進行各種修改,又能夠同意遠程衛(wèi)星操縱器的集中治理,減輕本地用戶的治理負(fù)擔(dān)。該版本只能運行在Windows平臺。(該版本屬于UDB 6.1版本新增版本)UDB個人版:是專

4、門為個人用戶設(shè)計的功能完備的個人數(shù)據(jù)庫產(chǎn)品,同意用戶在本地建立數(shù)據(jù)庫、更改數(shù)據(jù)、開發(fā)應(yīng)用程序從本地對數(shù)據(jù)庫治理系統(tǒng)進行存取以及通過內(nèi)置的客戶端對遠程數(shù)據(jù)庫服務(wù)器進行治理。該版本的限制在于不能對遠程應(yīng)用程序提供全面支持。該版本能夠運行在Windows、OS/2以及Linux平臺。UDB工作組版:適用于小型局域網(wǎng)的數(shù)據(jù)治理需求。具有UDB個人版的全部功能,并能夠?qū)h程應(yīng)用程序提供全面支持。該版本能夠運行在Windows、OS/2以及Linux平臺。(UDB工作組版 5.0能夠運行在UNIX平臺)UDB企業(yè)版: 簡稱為UDB EE,適用于企業(yè)級的數(shù)據(jù)治理需求。具有UDB工作組版的全部功能,并能夠利用

5、對稱多處理(SMP)技術(shù)提高系統(tǒng)性能。在它的程序包中,包含了DB2 Connect企業(yè)版,同意Intel平臺和UNIX平臺的客戶端應(yīng)用程序訪問大型機和AS/400上的數(shù)據(jù)庫服務(wù)。UDB企業(yè)版能夠運行在Windows、OS/2、Linux以及UNIX平臺。UDB企業(yè)擴展版:簡稱為UDB EEE,適用于大規(guī)模的企業(yè)應(yīng)用。大規(guī)模的企業(yè)應(yīng)用的差不多要求是穩(wěn)定(宕機時刻短)和高效(處理速度快),UDB企業(yè)擴展版能夠利用群集(cluster)和大規(guī)模并行處理(MPP)技術(shù)提高系統(tǒng)的穩(wěn)定性和性能。UDB豐富的產(chǎn)品線給用戶提供了極大的選擇余地。是構(gòu)造企業(yè)信息系統(tǒng)的基石。1.2、對DB的存取方法 對DB的存取能

6、夠通過SQL語言和UDB內(nèi)置的API兩種手段來實現(xiàn)。只是這兩種手段不是能夠相互替代的。SQL語言是國際標(biāo)準(zhǔn),各數(shù)據(jù)庫廠商在實現(xiàn)時一般會有一定程度的擴展。SQL語言要緊是完成對數(shù)據(jù)的查詢和更改、數(shù)據(jù)庫對象的建立及權(quán)限的操縱等功能。而API要緊是針對數(shù)據(jù)庫的治理任務(wù),比如數(shù)據(jù)的備份和恢復(fù)、數(shù)據(jù)庫服務(wù)的啟動和停止等工作。在一個應(yīng)用程序中,可能既需要用到SQL語言來完成對數(shù)據(jù)的存取,同時又需要調(diào)用API來完成治理工作。 1.3、從WEB上存取UDB Internet的廣泛使用帶來了從WEB對企業(yè)數(shù)據(jù)進行存取的要求。假如開發(fā)人員要開發(fā)基于Web的UDB應(yīng)用程序,能夠使用以下方法:1.3.1、通過JDBC

7、來存取UDBJDBC是SUN公司提供的利用JAVA語言對關(guān)系型數(shù)據(jù)庫進行存取的標(biāo)準(zhǔn)。在WEB上我們能夠通過編寫JAVA Applet或者JAVA Servlet來實現(xiàn)對UDB的存取。其中Applet運行在客戶端,只需要一個支持JAVA的掃瞄器(如IE和Netscape等)即可運行,客戶端不需要安裝其它軟件。Applet能夠通過指定端口與服務(wù)器端的JDBC服務(wù)器進行通信,提供對數(shù)據(jù)的存取。Servlet是適應(yīng)當(dāng)今瘦客戶機進展方向的一種編程模式,具有效率高,可移植性好等特點。Servlet運行在WEB服務(wù)器端,需要Servlet引擎(如Websphere Application Server)的支

8、持,服務(wù)器端通常還需要安裝Run-time Client組件。1.3.2、通過Net.Data來存取UDBNet.Data是IBM公司開發(fā)的通過WEB對關(guān)系型數(shù)據(jù)庫進行存取的工具。它提供了一種宏語言的開發(fā)和執(zhí)行環(huán)境,同時具有HTML的簡易性和SQL語言的功能。開發(fā)人員能夠按照Net.Data的語法編寫Net.Data宏,WEB用戶能夠通過HTML頁面上的鏈接來調(diào)用相應(yīng)的Net.Data宏,Net.Data解釋器會對其進行分析,能夠提取Net.Data宏中的SQL成分,提交給數(shù)據(jù)庫,然后按照Net.Data宏中規(guī)定的格式將數(shù)據(jù)庫治理器傳回的結(jié)果格式化成HTML頁面,傳遞給掃瞄器。1.3.3、其它

9、方法除了以上提到的方法之外,還有專門多其他的解決方案。如Active Server Page、PHP等,具體的選擇要看實際的需要。1.4、實例的概念和治理 1.4.1、實例的概念: 數(shù)據(jù)庫治理器(Database Manager)是提供數(shù)據(jù)庫治理操縱功能的程序。實例(Instance)確實是邏輯的數(shù)據(jù)庫治理器,是真正的數(shù)據(jù)庫治理器在內(nèi)存中的映象。實例提供了一個可標(biāo)識的數(shù)據(jù)庫服務(wù)器的環(huán)境。 在安裝了UDB的工作站上能夠同時創(chuàng)建和運行多個實例,每個實例都有自己的內(nèi)存空間,并具有單獨的權(quán)限操縱。一般來講,在一臺機器上運行多個實例基于以下幾種考慮:對數(shù)據(jù)庫環(huán)境進行調(diào)試和開發(fā)的需要 假如直接在提供正式數(shù)

10、據(jù)服務(wù)的實例內(nèi)部對進行各種調(diào)試和開發(fā),有可能會阻礙系統(tǒng)的性能,甚至?xí)拐麄€系統(tǒng)崩潰。這時用戶能夠創(chuàng)建一個新的實例,在新的實例內(nèi)進行調(diào)試和開發(fā),因為各個實例都有自己的內(nèi)存空間,一個實例中的工作可不能干擾其他實例正常的數(shù)據(jù)庫服務(wù)。出于對安全性的考慮。 因為每個實例有單獨的權(quán)限操縱,我們能夠為不同的實例設(shè)定不同的治理人員,加強安全性的操縱。比如你能夠把你的個人信息存放在由你操縱的實例中,其他的實例擁有者無權(quán)查看。出于優(yōu)化的考慮不同的數(shù)據(jù)庫可能會需要不同的數(shù)據(jù)庫治理器的配置參數(shù)來達到最優(yōu)的性能,假如把它們放到同一個實例中,不能滿足需要。 因此,系統(tǒng)中的實例不是越多越好,假如在系統(tǒng)中創(chuàng)建的實例過多,不僅

11、會造成額外的資源消耗(內(nèi)存、硬盤空間等),也會增大治理開銷。 每個實例在創(chuàng)建后都會有自己的配置文件,文件內(nèi)的參數(shù)會阻礙該實例的性能。 數(shù)據(jù)庫在建立時還會自動地產(chǎn)生一組系統(tǒng)編目表,系統(tǒng)編目表實際上確實是DB2數(shù)據(jù)庫的數(shù)據(jù)字典,它詳盡地描述了數(shù)據(jù)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)。在系統(tǒng)編目表中保存著各種數(shù)據(jù)庫對象的定義、用于查詢優(yōu)化的統(tǒng)計信息以及系統(tǒng)授權(quán)信息。是一個數(shù)據(jù)庫中極其重要的組成部分。 1.4.2、實例的治理: 要創(chuàng)建一個實例,能夠使用db2icrt命令,命令語法如下: db2icrt -a AuthType -p PortName -s InstType -u FencedID InstName 其

12、中: -a AuthType是實例的認(rèn)證類型(能夠為SERVER、CLIENT、 DCS、DCE、 SERVER_ENCRYPT、DCS_ENCRYPT 或 DCE_SERVER_ENCRYPT中的一種)。 -p PortName 是此實例要使用的端口名或端口號。 -s InstType 是要創(chuàng)建的實例的類型(eee、ee 或 client)。 -u FencedID 是用戶名,被隔離UDF 和被隔離的存儲過程將在該用戶名之下運行。 InstName 是實例的名稱。 要列出當(dāng)前系統(tǒng)上創(chuàng)建的所有實例,能夠使用db2ilist命令。 要刪除某個實例,能夠使用db2idrop命令。 1.4.3、實例

13、級的操作 在DB2中,某些任務(wù)只能在實例級不上執(zhí)行。比如,創(chuàng)建數(shù)據(jù)庫,更新數(shù)據(jù)庫治理器配置參數(shù)等工作。這時候,就需要應(yīng)用程序連接到特定的實例之上,然后才能進行操作。要連接到一個實例上,用戶能夠使用ATTACH命令,語法為: attach to 實例名 user 用戶名using 用戶口令 假如用戶在執(zhí)行實例級不的任務(wù)時,沒有使用ATTACH命令,則系統(tǒng)將使用在DB2INSTANCE環(huán)境變量中指定的缺省實例來試圖完成該任務(wù)。 1.4.4、數(shù)據(jù)庫治理服務(wù)器(DAS): UDB的數(shù)據(jù)庫治理服務(wù)器實際上也是一個實例,只只是那個實例不是用于數(shù)據(jù)服務(wù)的,而是用于治理目的。數(shù)據(jù)庫治理服務(wù)器提供以下功能:同意

14、遠程客戶端的治理請求,將遠程的治理請求在數(shù)據(jù)庫服務(wù)器端實現(xiàn)同意用戶進行任務(wù)調(diào)度同意用戶對系統(tǒng)進行遠程監(jiān)控響應(yīng)DB2 Discovery,為其提供系統(tǒng)信息數(shù)據(jù)庫治理服務(wù)器能夠在系統(tǒng)安裝時自動生成,也能夠在安裝后手工創(chuàng)建,在一個數(shù)據(jù)庫節(jié)點中只能有一個數(shù)據(jù)庫治理服務(wù)器。1.4.5、數(shù)據(jù)庫治理服務(wù)器的使用 假如沒有在安裝時創(chuàng)建數(shù)據(jù)庫治理服務(wù)器,能夠使用命令手工創(chuàng)建。具體命令如下: dasicrt 治理服務(wù)器的名字 (UNIX平臺) db2admin create (INTEL平臺) 啟動和停止數(shù)據(jù)庫治理服務(wù)器的命令: db2admin start 啟動治理服務(wù)器 db2admin stop 停止治理服

15、務(wù)器 顯示當(dāng)前數(shù)據(jù)庫治理服務(wù)器名: dasilist (UNIX平臺) db2admin (INTEL平臺) 刪除當(dāng)前數(shù)據(jù)庫治理服務(wù)器: dasidrop 治理服務(wù)器的名字 (UNIX平臺) db2admin drop (INTEL平臺)1.5、DB2環(huán)境變量的設(shè)置 1.5.1、DB2環(huán)境變量除了實例配置文件和數(shù)據(jù)庫配置文件中所包含的參數(shù)之外,還有一些配置參數(shù)對數(shù)據(jù)庫環(huán)境起到操縱作用。這些配置參數(shù)分為三類:環(huán)境變量:這類變量的設(shè)置方法因操作系統(tǒng)的不同而有所差異。例如在Windows NT環(huán)境中,選擇操縱面板系統(tǒng)環(huán)境來設(shè)置;在OS/2中則要更改config.sys文件。這類變量在更改后專門可能需

16、要重新啟動系統(tǒng)才生效。 實例級登記項:作用范圍是某一特定實例。能夠用db2set命令來設(shè)置。更改后需要重新啟動該實例才生效。 全局級登記項:作用范圍是整個數(shù)據(jù)庫系統(tǒng)。能夠用db2set命令來設(shè)置。更改后需要重新啟動所有實例才生效。舉例:變量類型變量名稱變量作用環(huán)境變量DB2INSTANCE缺省的DB2實例,假如沒有顯式地連接到某個實例,則所有的操作都被假定是對該實例進行的。環(huán)境變量DB2DBDFT缺省的數(shù)據(jù)庫,假如沒有顯式地連接到某個數(shù)據(jù)庫,則所有的操作都被假定是對該數(shù)據(jù)庫進行的。實例級登記項DB2COMM設(shè)置該實例用那種網(wǎng)絡(luò)協(xié)議與客戶端通信。全局級登記項DB2SYSTEM該DB2系統(tǒng)的名字。

17、全局級登記項DB2ADMINSERVER該系統(tǒng)上所使用的數(shù)據(jù)庫治理服務(wù)器的名字 系統(tǒng)在檢查系統(tǒng)的變量時,按照先環(huán)境變量,再實例級登記項、最后全局級登記項的順序來搜索。 1.5.2、db2set命令 db2set命令能夠用來治理和設(shè)置DB2的登記項,命令語法如下: db2set variable=value 其中常用的命令選項: -g: 更改全局級變量 -i:instance 假如更改的是實例登記項,指定該實例的名字 -l: 列出所有的實例登記項 -lr: 列出所有的登記項 例子: db2set DB2ADMINSERVER 顯示當(dāng)前的數(shù)據(jù)庫治理服務(wù)器 db2set DB2COMM=TCPIP,

18、NETBIOS 設(shè)置缺省實例的交流協(xié)議為TCP/IP 和NETBIOS db2set all 列出當(dāng)前所有的登記項的值1.6、訪問操縱權(quán)限1.6.1、DB2訪問操縱的層次結(jié)構(gòu) SYSADMSYSCTRL 權(quán)力DBADMSYSMAINT特權(quán) DB2中的訪問操縱層次如上圖所示。能夠?qū)B2的用戶賦于不同級不的權(quán)力和各種特權(quán)。其中權(quán)力(Authorities)是對一組數(shù)據(jù)庫對象進行存取的特權(quán)集,有特定的名稱。而特權(quán)(Privileges)則是對特定對象訪問的權(quán)利。 權(quán)力(Authorities)分為以下級不:(1)、SYSADM系統(tǒng)治理該權(quán)限是一個實例中的最高權(quán)限。能夠完成一個實例范圍內(nèi)任何治理工作

19、。能夠通過實例配置變量中的SYSADM_GROUP參數(shù)來指定一個用戶組擁有該權(quán)限。假如該參數(shù)為空,在Windows NT環(huán)境下,創(chuàng)建該實例的用戶擁有該權(quán)限;在UNIX環(huán)境下,與實例同名的用戶擁有該權(quán)限。(2)、SYSCTRL系統(tǒng)操縱該權(quán)限能夠完成系統(tǒng)中的治理功能,但不能訪問數(shù)據(jù)。但擁有該權(quán)限的用戶能夠創(chuàng)建數(shù)據(jù)庫,并治理自己創(chuàng)建的數(shù)據(jù)庫中的數(shù)據(jù)。能夠通過實例配置變量中的SYSCTRL_GROUP參數(shù)來指定一個用戶組擁有該權(quán)限 (3)、SYSMAINT系統(tǒng)維護該權(quán)限只能完成系統(tǒng)中與維護有關(guān)的任務(wù),但不能訪問數(shù)據(jù),而且擁有該權(quán)限的用戶不能創(chuàng)建數(shù)據(jù)庫。能夠通過實例配置變量中的 SYSMAINT_GRO

20、UP參數(shù)來指定一個用戶組擁有該權(quán)限。(4)、DBADM數(shù)據(jù)庫治理該權(quán)限是數(shù)據(jù)庫級的權(quán)限,能夠完成數(shù)據(jù)庫的治理工作。該權(quán)限能夠通過SQL語句授予。 四種級不的權(quán)力對比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植數(shù)據(jù)庫能夠更改實例配置參數(shù)能夠給予或撤消DBADM權(quán)限能夠指定SYSCTRL組能夠指定SYSMAINT組能夠更改數(shù)據(jù)庫目錄能夠能夠中斷應(yīng)用程序能夠能夠創(chuàng)建/刪除數(shù)據(jù)庫能夠能夠創(chuàng)建/刪除表空間能夠能夠利用恢復(fù)建立一個數(shù)據(jù)庫能夠能夠更改數(shù)據(jù)庫配置參數(shù)能夠能夠能夠備份數(shù)據(jù)庫和表空間能夠能夠能夠恢復(fù)一個存在的數(shù)據(jù)庫能夠能夠能夠執(zhí)行前滾恢復(fù)能夠能夠能夠啟動/停止實例能夠能夠能夠

21、恢復(fù)表空間能夠能夠能夠使用TRACE工具能夠能夠能夠獵取實例和數(shù)據(jù)庫的快照信息能夠能夠能夠查詢表空間狀態(tài)能夠能夠能夠能夠更改日志歷史文件能夠能夠能夠能夠休止表空間能夠能夠能夠能夠使用RUNSTATS工具能夠能夠能夠能夠?qū)Ρ碜鯨OAD能夠能夠讀日志文件能夠能夠能夠創(chuàng)建/刪除/激活事件監(jiān)視器能夠能夠能夠第二章 DB2的圖形用戶界面2.1、DB2的圖形界面概述 在UDB之前的DB2產(chǎn)品中,提供給用戶的圖形界面專門少。大部分的治理工作和操作只能通過手工鍵入命令的方式來實現(xiàn)。UDB的出現(xiàn)改變了這一現(xiàn)狀,它提供了豐富的圖形化工具,使得治理工作變得更加輕松。 2.2、DB2的圖形化工具2.2.1、客戶端配置

22、工具CCA要對遠程數(shù)據(jù)庫進行存取,首先要設(shè)置從客戶端到遠程數(shù)據(jù)庫的網(wǎng)絡(luò)連接。那個過程是一個比較復(fù)雜的過程,需要用戶對網(wǎng)絡(luò)參數(shù)、配置命令要有一定程度的了解。CCA確實是一個用來關(guān)心用戶設(shè)置從客戶端到遠程數(shù)據(jù)庫連接,減輕用戶負(fù)擔(dān)的工具。它提供了三種配置方法供用戶選擇:人工方法 該方法對用戶的要求較高,需要用戶了解要連接的數(shù)據(jù)庫服務(wù)器的相關(guān)信息,例如使用那些網(wǎng)絡(luò)協(xié)議、要連接的數(shù)據(jù)庫的名稱等。用戶能夠通過CCA提供的界面輸入網(wǎng)絡(luò)連接所需信息,完成連接配置。自動搜索方法 該方法不需要用戶有任何網(wǎng)絡(luò)知識,它會自動利用一種叫DB2 Discovery的機制在局域網(wǎng)中自動搜索DB2服務(wù)器。它會與遠程數(shù)據(jù)庫節(jié)點

23、上的數(shù)據(jù)庫治理服務(wù)器(DAS)進行通訊,然后將數(shù)據(jù)庫治理服務(wù)器搜集的信息返回。用戶能夠依照返回信息選擇要連接的數(shù)據(jù)庫。載入配置文件方法 該方法同意從要連接的數(shù)據(jù)庫所在的服務(wù)器端或者從差不多配置成功的客戶端生成一個配置文檔。在文檔中包含了相應(yīng)的配置信息,用戶能夠在CCA中載入該文檔,完成連接配置。 用戶能夠通過以上任一種方法進行網(wǎng)絡(luò)配置,完成對遠程的數(shù)據(jù)庫的連接,CLI/ODBC數(shù)據(jù)源的配置,將應(yīng)用程序綁定到數(shù)據(jù)庫上等工作。CCA除了能夠從DB2桌面的文件夾中進行存取,也能夠在命令行下鍵入db2cca命令存取。具體界面如下圖。2.2.2、產(chǎn)品信息和文檔 UDB提供了豐富的關(guān)心信息。幾乎所有的信息

24、都能夠通過信息中心(Information Center)來存取。在信息中心中,我們能夠按照以下幾種方法獵取相關(guān)信息: 任務(wù):獵取完成特定任務(wù)所需的信息 書籍:UDB隨機提供了許多技術(shù)手冊,如治理員手冊、開發(fā)人員手冊等等。 用戶能夠通過這些聯(lián)機手冊來查找信息。 疑難:能夠依照你遇到的疑難錯誤來查找相應(yīng)的解決方法。 樣例程序:能夠查找到各種語言、各種接口進行數(shù)據(jù)庫編程的例子。 Web信息:指引你到相關(guān)Web站點上獵取相應(yīng)的信息。 除了這幾種手段以外,信息中心還提供了強大的搜索工具,關(guān)心你在聯(lián)機手冊中進行全文檢索,找到匹配的關(guān)鍵詞。 信息中心除了能夠從DB2桌面的文件夾中進行存取,也能夠在命令行下

25、鍵入db2ic命令存取。 具體界面見下圖。 除了信息中心之外,還有一個小程序第一步(First Step)來關(guān)心新用戶按照一系列的步驟來熟悉數(shù)據(jù)庫操作。它能夠關(guān)心用戶建立一個樣例數(shù)據(jù)庫,查看樣例數(shù)據(jù)庫中的內(nèi)容,以及對樣例數(shù)據(jù)庫進行操作。 First Step除了能夠從DB2桌面的文件夾中進行存取,也能夠在命令行下鍵入db2steps命令存取。具體界面如下圖。2.2.3、命令中心(Command Center) 命令中心是用于輸入DB2命令的圖形化工具。能夠講,命令中心確實是一個圖形化的命令行處理器(CLP),我們能夠在命令中心中輸入DB2命令或調(diào)用現(xiàn)成的命令腳本,執(zhí)行后查看輸出結(jié)果。 命令中心

26、能夠?qū)⒁演斎氲拿钭鳛槟_本保存在腳本中心中,也能夠?qū)Ρ4嬖谀_本中心中的腳本加以調(diào)度。 另外,命令中心一個特不有用的功能是同意用戶通過它查看SQL語句的存取打算,存取打算中包含著SQL語句執(zhí)行情況的統(tǒng)計結(jié)果,用戶能夠通過命令中心為SQL語句生成存取打算,并以可視化的形式表現(xiàn)出來。 命令中心能夠通過系統(tǒng)菜單(Windows NT操作系統(tǒng))或操縱中心(Control Center)來調(diào)用,也能夠通過在命令行下鍵入db2cctr命令來執(zhí)行。具體界面如下圖。 2.2.4、腳本中心(Script Center)腳本中心的要緊功能有:創(chuàng)建、編輯、保存和運行命令腳本(能夠包括DB2命令和操作系統(tǒng)命令)運行一個

27、往常保存的腳本文件對一個往常保存的命令腳本進行調(diào)度,指定其在特定的時刻的運行,被調(diào)度的作業(yè)將以暫掛作業(yè)的形式將在下面介紹的日志工具中被監(jiān)控。腳本中心的優(yōu)點在于能夠?qū)⒚钜晕募姆绞酱娣牛貜?fù)利用,同時腳本中能夠直接包含操作系統(tǒng)命令(在CLP中假如要執(zhí)行操作系統(tǒng)命令需要在命令的前面加“!”)。腳本的運行狀態(tài)也能夠在日志工具中查看到。腳本中心的具體界面如下圖。2.2.5、日志(Journal) 通過日志能夠查看幾類信息: 作業(yè)信息包括暫掛作業(yè)(Pending Job )信息、正在運行的作業(yè)(Running Job) 信息以及差不多完成的作業(yè)的信息。關(guān)于Pending Job,能夠?qū)ζ溥M行重新調(diào)度、

28、顯示與它相關(guān)的腳本或立即運行它?;謴?fù)歷史信息 提供了對數(shù)據(jù)庫進行的備份、恢復(fù)過程的詳細(xì)信息,比如:備份的時刻、備份的類型等,這些信息實際都被保存在一個稱為恢復(fù)歷史文件的文件當(dāng)中。 警報信息 包含了系統(tǒng)發(fā)出的警報信息。系統(tǒng)信息 包含了UDB數(shù)據(jù)庫治理器生成的信息。 日志除了包含以上信息以外,也能夠?qū)Σ畈欢啾荒_本中心調(diào)度的作業(yè)重新進行調(diào)度。 日志的具體界面見下圖。 2.2.6、警報中心(Alert Center)警報中心搜集所有數(shù)據(jù)庫治理器發(fā)出的警告信息,治理人員能夠依照這些警告信息對某些系統(tǒng)錯誤進行分析。查找出系統(tǒng)的潛在問題??蓪ⅰ熬瘓笾行摹痹O(shè)置為自動打開,顯示已超過其閾值并因此處于警報或警告狀

29、態(tài)的各種受監(jiān)控對象。閾值的設(shè)置用可從“操縱中心”調(diào)用的“性能監(jiān)控程序”來完成。圖符的顏色指示警告的嚴(yán)峻性。紅色圖符指示報警信號。黃色圖符指示警告。并顯示為性能變量返回的數(shù)據(jù)。1.2.7、許可證中心(License Center)許可證中心能夠?qū)DB的許可證信息提供集中治理,能夠同意用戶增添、更改和刪除UDB產(chǎn)品的許可證。用戶也能夠掃瞄當(dāng)前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱、產(chǎn)品的版本、過期時刻及同意的用戶數(shù)目等信息。具體界面見下圖。2.2.8、操縱中心(Control Center)操縱中心是UDB的治理工具的核心,絕大多數(shù)的治理任務(wù)和對其他治理工具的存取都能夠通過操縱中心來完成

30、。具體界面如下圖。操縱中心有如下組成部分: 菜單條:菜單條在屏幕的頂部。從菜單條選擇菜單同意您執(zhí)行許多功能,如關(guān)閉 DB2 工具、存取圖形工具以及存取聯(lián)機關(guān)心和產(chǎn)品信息??赏ㄟ^單擊菜單條上的每一項來熟悉這些功能通過菜單的方式完成對操縱中心的存取。 工具欄:位于菜單條下方的一組圖形按鈕,通過點擊能夠調(diào)用其他的治理工具,如命令中心、腳本中心等以上所提到的工具 對象窗格:對象窗格位于屏幕的左邊窗格中,它按照UDB數(shù)據(jù)庫對象的層次關(guān)系(UDB系統(tǒng)-實例數(shù)據(jù)庫-數(shù)據(jù)庫內(nèi)部對象)對系統(tǒng)進行組織,以樹狀的形式顯示。用戶能夠方便地從中找到要治理的對象。對象窗格中的某些對象包含其他對象。對象左面的加號 (+)

31、指示該對象是折疊的。可單擊加號展開它。當(dāng)展開對象后,在它的左面會出現(xiàn)一個減號 (-)。要折疊此對象,單擊減號。 內(nèi)容窗格:位于屏幕的右邊窗格中。此窗格顯示在對象窗格中選定對象包含的所有對象,例如,若您在對象窗格中選擇表文件夾,數(shù)據(jù)庫中所有的表都將出現(xiàn)在“內(nèi)容”窗格中。若您選擇數(shù)據(jù)庫文件夾,內(nèi)容窗格會變?yōu)閷嵗械乃袛?shù)據(jù)庫。 用戶能夠在對象窗格或內(nèi)容窗格中選擇要操作的對象,按鼠標(biāo)右鍵按出彈出式菜單,能對該對象所進行的所有操作幾乎都包含在菜單中。操縱中心除了能夠從DB2桌面的文件夾中進行存取,也能夠在命令行下鍵入 db2cc命令存取。2.2.9、工具設(shè)置(Tool Settings)工具設(shè)置能夠用

32、來更改某些系統(tǒng)工具的設(shè)置,比如設(shè)定SQL語句之間的分隔符、 假如DB2實例沒有啟動,是否需要在UDB工具啟動的時候自動啟動實例。工具設(shè)置能夠從工具欄上的圖形按鈕存取。具體界面如下圖。 2.2.10、快速向?qū)В⊿martGuides)UDB中專門多任務(wù)的完成涉及到專門多術(shù)語和參數(shù),假如用戶對這些信息不是專門了解,會阻礙到任務(wù)的完成效果。為了能夠?qū)@些用戶提供關(guān)心,UDB中提供了專門多快速向?qū)?。這些快速向?qū)軌蜥槍Σ煌娜蝿?wù)向用戶提出一些比較淺顯的問題,依照用戶對問題的回答設(shè)定相應(yīng)的參數(shù)。關(guān)心用戶完成相應(yīng)的任務(wù)。UDB中提供的快速向?qū)Х譃橐韵聨最悾?對象創(chuàng)建類:在創(chuàng)建數(shù)據(jù)庫、表空間和表時提供關(guān)心。

33、 數(shù)據(jù)庫治理任務(wù):在備份和恢復(fù)數(shù)據(jù)庫時提供關(guān)心。 多點更改:在分布式環(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務(wù)進行操縱。 性能調(diào)節(jié):關(guān)心用戶對系統(tǒng)性能進行調(diào)節(jié)。 具體的快速向?qū)в校?創(chuàng)建數(shù)據(jù)庫快速向?qū)В和庥脩魟?chuàng)建數(shù)據(jù)庫、分配存儲空間以及選擇差不多性能選項。要調(diào)用 它,選擇對象窗格中的“數(shù)據(jù)庫”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建數(shù)據(jù)庫。 創(chuàng)建表快速向?qū)В捍丝焖傧驅(qū)шP(guān)心用戶使用預(yù)定義的列模板來設(shè)計列,創(chuàng)建表的主關(guān)鍵字并將一個或多個表空間分配給表。要調(diào)用它,選擇“表”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表。 創(chuàng)建表空間快速向?qū)В?/p>

34、此快速向?qū)庥脩魟?chuàng)建一個新的表空間并設(shè)置存儲及性能選項。要調(diào)用它,選擇“表空間”圖符,單擊鼠標(biāo)按鈕2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表空間。 索引快速向?qū)В涸摽焖傧驅(qū)шP(guān)心用戶確定對給定的一組 SQL 語句,要創(chuàng)建或刪除哪些索引,才能使給定的語句性能最優(yōu)。要調(diào)用它選擇“索引”圖符,單擊鼠標(biāo)按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建索引。 性能配置。此快速向?qū)шP(guān)心您依照有關(guān)數(shù)據(jù)庫的用途來調(diào)諧數(shù)據(jù)庫。然后它對數(shù)據(jù)庫和實例建議新的配置參數(shù),并在需要時自動應(yīng)用它們。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕 2,然后選擇使用 SmartGuide 配置。 復(fù)原數(shù)

35、據(jù)庫快速向?qū)В捍丝焖傧驅(qū)?jīng)歷恢復(fù)數(shù)據(jù)庫的全過程。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕 2,然后選擇復(fù)原 - 使用 SmartGuide 復(fù)原數(shù)據(jù)庫。 備份數(shù)據(jù)庫快速向?qū)В核儐栍脩絷P(guān)于數(shù)據(jù)庫中的數(shù)據(jù)、數(shù)據(jù)庫的可用性以及可恢復(fù)性要求 等差不多問題。然后它建議一個備份方案、創(chuàng)建作業(yè)腳本并調(diào)度它。要調(diào)用它,選擇相應(yīng)數(shù)據(jù)庫的圖符,單擊鼠標(biāo)按鈕 2,然后選擇備份 - 使用 SmartGuide 備份數(shù)據(jù)庫。 配置多站點更新快速向?qū)В涸摽焖傧驅(qū)шP(guān)心用戶在分布式環(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務(wù)進行操縱。要使用它,選擇相應(yīng)實例,單擊鼠標(biāo)按鈕 2,然后選擇多站點更新 - 使用 SmartGuide

36、 配置。2.2.11、通用工具選項除了以上提供的工具之外,UDB還有幾個其它相關(guān)工具選項。例如:顯示SQL(Show SQL)和顯示命令(Show Command) 假如某個工具生成了SQL語句,比如創(chuàng)建表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個按鈕之一,能夠查看該工具依照用戶在圖形界面中所做選擇而生成的SQL語句或DB2命令。關(guān)心用戶了解該界面是如何工作的。另外該選項也同意用戶將語句或命令另存為腳本以備今后使用。若用戶希望再次運行相同的語句或命令,能夠不必重新輸入SQL語句或DB2命令。一旦SQL語句或DB2命令已保

37、存到腳本中,用戶能夠調(diào)度腳本、編輯此腳本進行更改或創(chuàng)建類似的腳本而不必重新輸入語句或命令。顯示相關(guān)對象(Show Related) 顯示相關(guān)項顯示表、索引、視圖、不名、觸發(fā)器、表空間、 “用戶定義函數(shù)”以及“用戶定義類型”之間的直接關(guān)系。顯示相關(guān)對象能夠關(guān)心用戶了解一個對象與哪些對象相關(guān),分析數(shù)據(jù)庫的結(jié)構(gòu)以及推斷可能執(zhí)行的操作會造成的阻礙。例如,假如用戶希望刪除有從屬視圖的表,顯示相關(guān)項會告訴用戶假如進行刪除操作后,哪些視圖將變?yōu)闊o效視圖。 從“操縱中心”的內(nèi)容窗格中的專門多對象中,單擊鼠標(biāo)按鈕2。都會看到“顯示相關(guān)對象”的選項。第三章 數(shù)據(jù)移動3.1、數(shù)據(jù)移動概述 在數(shù)據(jù)庫的使用過程中,經(jīng)常

38、需要將一個數(shù)據(jù)庫中的數(shù)據(jù)遷移到另外的一個數(shù)據(jù)庫中。為了實現(xiàn)這種功能,我們能夠使用數(shù)據(jù)庫復(fù)制技術(shù),這種技術(shù)在大多數(shù)的關(guān)系型數(shù)據(jù)庫中都有相應(yīng)的實現(xiàn),只是這種方法對治理的要求較高,而且需要網(wǎng)絡(luò)的連接。更常用的方法是利用某種類型的外部文件作為中介,將一個數(shù)據(jù)庫中的某個表中的數(shù)據(jù)導(dǎo)出到一個外部文件中,然后把該文件中的數(shù)據(jù)導(dǎo)入到另外一個數(shù)據(jù)庫中。 DB2中實現(xiàn)以上功能的要緊工具有三個:EXPORT、IMPORT和LOAD。其中EXPORT的功能是將表中的數(shù)據(jù)導(dǎo)出到外部文件中;而IMPORT和LOAD的功能是將外部文件中的數(shù)據(jù)導(dǎo)入到一個表中。IMPORT和LOAD的功能類似,但在實現(xiàn)手段上有專門大差異。 能

39、夠被DB2所支持用作數(shù)據(jù)移動的中間文件的格式有四種:非定界ASCII碼文件(ASCII)、定界ASCII碼文件(DEL ASCII)、WSF文件和PC/IXF文件。其特點是: ASCII:純文本格式,每個數(shù)據(jù)列之間中有分隔符,但數(shù)據(jù)行之間沒有分隔符。ASCII文件不能被EXPORT支持。、 DEL: 純文本格式,數(shù)據(jù)列之間有分隔符,數(shù)據(jù)行之間也有分隔符。 WSF:Lotus 1-2-3工作表格式。WSF文件不能被LOAD支持。 PC/IXF:一種特不通用的格式,被多種數(shù)據(jù)庫治理系統(tǒng)所支持。能夠用作在異種數(shù)據(jù)庫中進行數(shù)據(jù)轉(zhuǎn)移。 3.2、EXPORT的功能和使用EXPORT 用于將一個表或多個表中

40、的數(shù)據(jù)導(dǎo)出到外部文件中。 下面是EXPORT的一個例子:db2 connect to sampledb2 export to myfile of ixf messages msg select , staff.dept, org.location form org, staff, where org.deptname=staff.dept 在該例中,staff和org中的相應(yīng)數(shù)據(jù)將被輸出到myfile文件中,該文件為PC/IXF格式。注意事項: 在做EXPORT之前,首先要連接到相應(yīng)的數(shù)據(jù)庫上。因為要對表或視圖(EXPORT支持對視圖進行操作)進行SELECT操作,執(zhí)行EX

41、PORT的用戶至少要有相關(guān)表或視圖上的SELECT權(quán)限。假如使用PC/IXF文件,文件中將包含表中的索引定義。能夠通過DB2 Connect將主機上的數(shù)據(jù)導(dǎo)出到外部文件中。3.3、IMPORT的功能和使用 IMPORT能夠被看作是EXPORT的逆過程,用于將數(shù)據(jù)從外部文件中導(dǎo)入到數(shù)據(jù)庫之中。下面是一個IMPORT的例子:db2 connect to musicdbdb2 import from artexprt of ixf messages artmsg create into artists in index in long in 在該例中,artexprt文件的數(shù)據(jù)被導(dǎo)入到表artist

42、s中,那個表在IMPORT之前并不存在,系統(tǒng)將依照artexprt文件的格式創(chuàng)建表后,再進行數(shù)據(jù)導(dǎo)入。注意事項: 在做IMPORT之前,首先要連接到相應(yīng)的數(shù)據(jù)庫上。因為要對表或視圖(IMPORT支持對視圖進行操作)進行修改操作,執(zhí)行EXPORT的用戶至少要有相關(guān)表或視圖上的相關(guān)權(quán)限(依據(jù)導(dǎo)入模式的不同而不同)。比如,使用INSERT模式,至少要有相應(yīng)表上的INSERT權(quán)限;假如使用CREATE模式,則需要數(shù)據(jù)庫上的CREATETAB權(quán)限。假如使用CREATE模式,必須使用PC/IXF文件進行數(shù)據(jù)導(dǎo)入。能夠通過DB2 Connect向主機上的數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)。3.4、LOAD的功能和使用 3.1、

43、LOAD概述LOAD的功能與IMPORT類似,但實現(xiàn)的方式有專門大區(qū)不。其操作方式更加貼近底層。LOAD會把要導(dǎo)入的數(shù)據(jù)格式化成數(shù)據(jù)頁,利用并行I/O寫入存儲介質(zhì)。在LOAD 過程中,只進行極少量的日志記錄,而且不進行約束檢查。因此,LOAD導(dǎo)入的速度要比IMPORT快專門多,尤其是數(shù)據(jù)量比較的的時候,LOAD的速度優(yōu)勢十分明顯。LOAD能夠從三種格式的文件進行數(shù)據(jù)導(dǎo)入,分不是非定界ASCII碼文件、定界ASCII碼文件和IXF文件格式。LOAD不支持WSF文件作為數(shù)據(jù)導(dǎo)入文件。 3.4.2、LOAD的三個時期與IMPORT相比,LOAD盡管在速度上有明顯的優(yōu)勢,但對治理上的要求比較高。LOA

44、D能夠分成三個時期。第一個時期叫LOAD時期。在那個時期中,數(shù)據(jù)被導(dǎo)入到表中,假如表上有索引存在,LOAD將按照索引定義搜集索引關(guān)鍵字,然后進行排序。假如有不符合表定義的數(shù)據(jù)行,LOAD將會把它們放到一個文件(DUMP FILE)中,同時在消息文件(MESSAGE FILE)中進行記錄。假如在命令中指定了SAVECOUNT參數(shù),LOAD將每隔一定數(shù)目的數(shù)據(jù)行進行一次保存。第二個時期叫BUILD時期。在那個時期中,LOAD會利用在LOAD時期搜集的索引關(guān)鍵字構(gòu)造索引。假如表上沒有索引,那個過程將被忽略。另外,假如表上定義了唯一性約束,LOAD會在那個時期進行檢查。假如有違反唯一性約束的數(shù)據(jù)行,L

45、OAD將會把它們拷貝到一個專門的表例外表(Exception Table)中。相應(yīng)的信息會保存在信息文件(MESSAGE FILE)中。第三個時期叫DELETE時期。在那個時期中,所有違反唯一性約束的行將被從表中刪除。 3.4.3、異常情況的處理由于某些操作的失敗,表空間可能處于某種異常狀態(tài)。表空間的狀態(tài)能夠通過DB2 LIST TABLESPACES。假如狀態(tài)的編碼為0 x0000,表明表空間狀態(tài)正常,否則表明表空間處于某種異常狀態(tài)。比如0 x0008表明表空間處于裝載掛起(LOAD PENDING)狀態(tài),0 x010表明表空間處于刪除掛起(DELETE PENDING)狀態(tài),0 x020表

46、明表空間處于備份掛起(BACKUP PENDING)狀態(tài)。上面提到的幾個狀態(tài)差不多上在LOAD過程中有可能發(fā)生的。我們下面就來探詢其緣故及解決方法。、LOAD PENDING狀態(tài) 假如LOAD由于用戶的錯誤而沒有運行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對表空間的狀態(tài)可不能有任何阻礙。 假如LOAD在向表中導(dǎo)入數(shù)據(jù)的時候出現(xiàn)了錯誤,LOAD會終止,同時將要導(dǎo)入數(shù)據(jù)的表所在的表空間置于LOAD PENDING狀態(tài)。假如表空間處于LOAD PENDING,除了使用LOAD工具對表空間進行操作來消除LOAD PENDING狀態(tài)以外,不能對該表空間進行其他操作。出現(xiàn)了

47、LOAD PENDING狀態(tài)以后,應(yīng)該對LOAD生成的MESSAGE文件進行檢查,查看是在LOAD的哪一個時期出現(xiàn)的問題。然后能夠使用LOAD的RESTART選項重新進行LOAD,LOAD會自動的從上一個一致性點進行恢復(fù)。比如指定了SAVECOUNT為100,在導(dǎo)入到531行記錄時出現(xiàn)異常終止,則LOAD會從第501條記錄重新開始導(dǎo)入。假如是在LOAD過程中的BUILD時期和DELETE時期時出現(xiàn)了錯誤,LOAD會從這兩個時期的起始點重新開始。假如利用RESTART選項后,LOAD能夠成功,則LOAD PENDING狀態(tài)能夠被消除。 假如使用RESTART選項仍然不能成功,則能夠使用TERMI

48、NATE選項來終止LOAD過程,同時消除LOAD PENDING狀態(tài)。假如我們在終止LOAD時使用了INSERT選項,則能夠?qū)⒈砘謴?fù)到LOAD往常的狀態(tài)。假如我們使用的是REPLACE選項,則表中的數(shù)據(jù)被清空。、BACKUP PENDING狀態(tài) LOAD PENDING狀態(tài)是LOAD失敗后出現(xiàn)的異常狀態(tài)。但即使LOAD成功了,也不能保證表空間處于正常狀態(tài),這取決于LOAD時選擇的復(fù)制選項。假如我們選擇的是COPY YES(缺省選項),則LOAD成功后會將表空間置成BACKUP PENDING狀態(tài),需要對該表空間進行備份才能消除;假如我們選擇的是COPY YES,則系統(tǒng)在LOAD過

49、程中自動對載入的數(shù)據(jù)進行備份,LOAD成功后表空間處于正常狀態(tài);假如我們選擇的是NONRECOVERABLE,則系統(tǒng)在LOAD過程中不對載入數(shù)據(jù)進行備份,在LOAD成功后也不把表空間置于BACKUP PENDING狀態(tài)。 之因此LOAD要提供幾種復(fù)制選項的緣故是由于出于數(shù)據(jù)完整性的考慮。我們在前面差不多介紹過,LOAD只做專門少的日志,導(dǎo)入的數(shù)據(jù)不被記錄在日志之中。假如在LOAD以后,數(shù)據(jù)庫崩潰了,LOAD導(dǎo)入的數(shù)據(jù)將無法得到恢復(fù),造成數(shù)據(jù)的不完整。假如使用COPY NO選項,系統(tǒng)會強制用戶在LOAD之后對表空間進行備份,假如以后需要對數(shù)據(jù)庫進行恢復(fù),則能夠從中恢復(fù)LOAD導(dǎo)入的數(shù)據(jù);假如使用

50、COPY YES選項,則系統(tǒng)在LOAD過程中會自動對導(dǎo)入的數(shù)據(jù)進行備份,能夠用于日后的恢復(fù);假如使用NONRECOVERABLE選項,則等于用戶明確表示日后不想恢復(fù)LOAD導(dǎo)入的數(shù)據(jù),那個選項一般用于接收數(shù)據(jù)導(dǎo)入的表被用于只讀操作,假如需要對數(shù)據(jù)進行恢復(fù),重新進行LOAD就能夠。 3.5、IMPORT和LOAD的對比 IMPORT和LOAD在功能上相似,但在實現(xiàn)方式和使用上有專門大不同,我們將通過下表將這兩中工具進行一下對比。IMPORTLOAD講明在導(dǎo)入大量數(shù)據(jù)時速度較慢在導(dǎo)入大量數(shù)據(jù)時速度明顯比IMPORT快LOAD是將數(shù)據(jù)格式化成數(shù)據(jù)頁的形式直接寫入數(shù)據(jù)庫假如使用IXF文件格式,表和索引

51、能夠不存在在導(dǎo)入數(shù)據(jù)之前,表和索引必須存在IMPORT能夠在導(dǎo)入數(shù)據(jù)時創(chuàng)建表和索引支持WSF文件格式不支持WSF文件格式能夠?qū)Ρ砗鸵晥D進行IMPORTLOAD的對象必須是表在進行IMPORT時,其他程序能夠?qū)Ρ磉M行存取在進行LOAD時,其他程序不能對表進行存取LOAD將導(dǎo)入數(shù)據(jù)的表所在表空間置為排它狀態(tài)導(dǎo)入的所有數(shù)據(jù)都被日志所記錄LOAD只做極少量的日志IMPORT會激活觸發(fā)器LOAD可不能激活觸發(fā)器IMPORT能夠使用COMMITCOUNT參數(shù)指定每隔一定數(shù)目的數(shù)據(jù)行就進行一次提交,假如IMPORT失敗,能夠從最后的一次提交點重新開始。LOAD能夠使用SAVECOUNT參數(shù)指定每隔一定數(shù)目的

52、數(shù)據(jù)行就進行一次保存,假如LOAD失敗,能夠從最后的一次提交點重新開始。IMPORT使用的是數(shù)據(jù)庫內(nèi)部的臨時表空間LOAD使用的是數(shù)據(jù)庫以外的臨時空間所有的約束在IMPORT過程中都將被總結(jié)在LOAD過程中只檢查唯一性約束LOAD關(guān)閉約束檢查,需要在LOAD后用SET INTEGERITY消除表上的CHECK PENDING狀態(tài)在IMPORT過程中,當(dāng)每一行被導(dǎo)入時,索引關(guān)鍵字被插入到索引中在LOAD過程中,LOAD在LOAD時期搜集索引關(guān)鍵字,在BULID時期統(tǒng)一生成索引假如需要重新搜集統(tǒng)計信息,在IMPORT后使用RUNSTAT工具假如需要重新搜集統(tǒng)計信息,能夠在LOAD后使用RUNSTA

53、T工具,也能夠在LOAD過程中進行搜集在LOAD中直接搜集統(tǒng)計信息會延長LOAD所需時刻IMPORT能夠被DB2 Connect支持LOAD能夠被DB2 Connect支持?jǐn)?shù)據(jù)導(dǎo)入文件必須在執(zhí)行IMPORT的節(jié)點上數(shù)據(jù)導(dǎo)入文件必須在要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫所在的節(jié)點上IMPORT不需要備份依照復(fù)制選項的不同,可能需要進行備份IMPORT導(dǎo)入的數(shù)據(jù)在日志中會有記錄第四章 數(shù)據(jù)庫恢復(fù)在防止關(guān)鍵數(shù)據(jù)的丟失當(dāng)中,恢復(fù)用戶自己的環(huán)境十分重要。有一些工具能夠關(guān)心用戶治理自己的環(huán)境和保證用戶能夠?qū)ψ约旱臄?shù)據(jù)實施充分的恢復(fù)措施。我們將討論在關(guān)系數(shù)據(jù)庫系統(tǒng)中的日志存檔概念,因為它屬于數(shù)據(jù)庫的恢復(fù)功能的組成部分。日志文

54、件是由DB2用來確保數(shù)據(jù)庫完整性,即使當(dāng)出現(xiàn)某些不可預(yù)見的問題引起用戶系統(tǒng)癱瘓時,比如發(fā)生斷電故障,也能做到這一點。要充分理解日志工作的目的,首先解釋清晰工作單元(unit of work)和事務(wù) (transaction)這兩個概念。4.1 工作單元為了確保數(shù)據(jù)庫中數(shù)據(jù)的一致性,應(yīng)用程序經(jīng)常必須立即實施一些變更。類似,它必須禁止所有的變更。這就叫做工作單元(unit of work)。工作單元是應(yīng)用程序進程內(nèi)可恢復(fù)的操作序列。工作單元是應(yīng)用程序用來確保在數(shù)據(jù)庫中不引入不一致數(shù)據(jù)的差不多機制。在任何時刻,應(yīng)用程序進程都有一個工作單元,而應(yīng)用程序進程的生存期可能涉及許多工作單元。4.2事務(wù)在象D

55、B2如此的關(guān)系數(shù)據(jù)庫中,工作單元被稱為事務(wù) (transaction)。事務(wù)是應(yīng)用程序進程內(nèi)的一個可恢復(fù)的SQL操作序列。對數(shù)據(jù)庫的任何一次讀或?qū)懖畈欢嗌显谀炒问聞?wù)內(nèi)完成的。任何一個成功地與數(shù)據(jù)庫相連接的應(yīng)用程序都自動地啟動一個事務(wù)。應(yīng)用程序必須通過發(fā)出一條 SQL COMMIT(托付確認(rèn))或SQL ROLLBACK(退回)語句去結(jié)束該事務(wù)。 SQL的 COMMIT語句告訴數(shù)據(jù)庫治理員立即對數(shù)據(jù)庫實施事務(wù)中的所有數(shù)據(jù)庫變動(插入、更新、刪除)。SQL的 ROLLBACK語句告訴數(shù)據(jù)庫治理器不實施這些變動,但將受到阻礙的行返回到開始該事務(wù)之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶數(shù)據(jù)的完整

56、性,DB2差不多實施提早寫日志存檔模式。提早寫日志存檔的基礎(chǔ)是指:當(dāng)發(fā)出刪除、插入或更新數(shù)據(jù)庫中某一數(shù)據(jù)的 SQL調(diào)用時,所做出數(shù)據(jù)變更首先要寫到日志文件中去。當(dāng)發(fā)出一條 SQL托付確認(rèn)命令時 DB2要保證把為了重新運作(replay)所需要的日志文件都寫入磁盤中。在發(fā)生斷電之類的不幸事故時,日志文件能夠用來把數(shù)據(jù)庫退回到原來的某個一致性狀態(tài)。所有被托付確認(rèn)的事務(wù)都將重新再做一遍,所有非托付確認(rèn)的事務(wù)都將回退到原有起點。所有數(shù)據(jù)庫都有與它們相關(guān)聯(lián)的日志文件。日志文件有預(yù)先定義的長度。因此,當(dāng)日志文件被填滿時,日志存檔過程就要在另一個日志文件中接著進行。4.4日志治理配置4.4.1日志的類型 現(xiàn)

57、在我們來考查可能出現(xiàn)在DB2中的兩類日志: 循環(huán)日志 (Circular logging) 歸檔日志 (Archival logging)4.4.2循環(huán)日志用這種類型的日志,將按順序使用各個日志文件。當(dāng)保留在這類日志文件中的所有工作單元被托付確認(rèn)或退回時,這些日志文件能夠被重新使用。所托付確認(rèn)的變更將被反映在支持?jǐn)?shù)據(jù)庫的磁盤上。循環(huán)日志(circular logging)方法如圖6.3中所示。 1主日志文件 2“n”輔日志文件夾 3 圖4.3 循環(huán)日志 循環(huán)日志使用兩類日志文件:主日志文件(Primary log files)輔助日志文件(Second log files)主日志文件是預(yù)先分配

58、的,而輔助日志文件僅在需要時才分配。假如數(shù)據(jù)庫治理器需要序列中的下一個日志,同時不能被重用,那么將分配一個輔助日志文件,至直主日志文件變得可供重用或者所分配輔助日志文件的數(shù)目被超出為止。一旦數(shù)據(jù)庫治理器決定輔助日志文件不再需要時,輔助日志文件便被收回。當(dāng)數(shù)據(jù)庫激活時,分配主日志文件。主日志文件和輔助日志文件的數(shù)目由數(shù)據(jù)庫參數(shù)LOGPRIMARY和 LOGSECOND來決定。當(dāng)數(shù)據(jù)庫最初被創(chuàng)建時,循環(huán)日志方式作為默認(rèn)的日志方式被激活。配置以循環(huán)方式的數(shù)據(jù)庫僅能恢復(fù)到曾經(jīng)做過備份的點。對數(shù)據(jù)庫進行恢復(fù)時,自從進行備份以后對數(shù)據(jù)庫所做的任何工作都將丟失。由于那個緣故,循環(huán)日志方式最適合用于那些只供查

59、詢的數(shù)據(jù)庫。4.4.3歸檔日志 歸檔日志(archival logging)是如此一種日志治理技術(shù),其中的日志文件處于非活動狀態(tài)時便將它們做歸檔處理。歸檔日志方法如圖 6.4所示。12活動的一包含有關(guān)非托付確認(rèn)的或非擴充的事務(wù)。DATA1314聯(lián)機歸檔一包含被托付確認(rèn)的和被擴充的事務(wù)。存放于ACTIVE日志子目錄中。15 脫機歸檔 歸檔數(shù)據(jù)來 ACTIVE日志子目錄 (也可能在其它介質(zhì)上)。16 圖4.4 歸檔日志方法Active(活動的)(由數(shù)15 和16表示) 這些文件包含與尚未托付確認(rèn)(或退回)工作的事務(wù)相關(guān)的信息。它們還包括差不多被委托確認(rèn)但它們的變更還沒有寫回到數(shù)據(jù)庫文件中的事務(wù)信息

60、。On_ line Archival (聯(lián)機歸檔)(由數(shù)14表示)這些文件包含有差不多完成不再需要崩潰恢復(fù)愛護的事務(wù)有關(guān)的信息。它們叫做聯(lián)機(on_ line)是因為它們駐留在與活動日志文件相同的子目錄中。Off-line Archival(脫機歸檔)(由數(shù)12和 13表示) 這些文件差不多被從活動的日志文件子目錄傳送出。傳送這些文件的方法可能是一個手工過程,比如,通過 user exit調(diào)用的手工過程。只要簡單地通過把歸檔日志文件傳遞至另一個目錄,把它們存儲到磁帶或其它某種介質(zhì)上,就能夠把歸檔日志文件置為 “脫機的”(off-line)。 兩個配置參數(shù)同意用戶去配置進行歸檔日志的數(shù)據(jù)庫: L

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論