DB2 UDB 培訓資料_第1頁
DB2 UDB 培訓資料_第2頁
DB2 UDB 培訓資料_第3頁
DB2 UDB 培訓資料_第4頁
DB2 UDB 培訓資料_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

8、服務器端通常還需要安裝Run-time Client組件。1.3.2、通過Net.Data來存取UDBNet.Data是IBM公司開發(fā)的通過WEB對關系型數(shù)據(jù)庫進行存取的工具。它提供了一種宏語言的開發(fā)和執(zhí)行環(huán)境,同時具有HTML的簡易性和SQL語言的功能。開發(fā)人員可以按照Net.Data的語法編寫Net.Data宏,WEB用戶可以通過HTML頁面上的鏈接來調用相應的Net.Data宏,Net.Data解釋器會對其進行分析,可以提取Net.Data宏中的SQL成分,提交給數(shù)據(jù)庫,然后按照Net.Data宏中規(guī)定的格式將數(shù)據(jù)庫管理器傳回的結果格式化成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ù)庫管理器在內存中的映象。實例提供了一個可標識的數(shù)據(jù)庫服務器的環(huán)境。 在安裝了UDB的工作站上可以同時創(chuàng)建和運行多個實例,每個實例都有自己的內存空間,并具有單獨的權限控制。一般來說,在一臺機器上運行多個實例基于以下幾種考慮:對數(shù)據(jù)庫環(huán)境進行調試和開發(fā)的需要 如果直接在提供正式數(shù)據(jù)服務的

10、實例內部對進行各種調試和開發(fā),有可能會影響系統(tǒng)的性能,甚至會使整個系統(tǒng)崩潰。這時用戶可以創(chuàng)建一個新的實例,在新的實例內進行調試和開發(fā),因為各個實例都有自己的內存空間,一個實例中的工作不會干擾其他實例正常的數(shù)據(jù)庫服務。出于對安全性的考慮。 因為每個實例有單獨的權限控制,我們可以為不同的實例設定不同的管理人員,加強安全性的控制。比如你可以把你的個人信息存放在由你控制的實例中,其他的實例擁有者無權查看。出于優(yōu)化的考慮不同的數(shù)據(jù)庫可能會需要不同的數(shù)據(jù)庫管理器的配置參數(shù)來達到最優(yōu)的性能,如果把它們放到同一個實例中,不能滿足需要。 當然,系統(tǒng)中的實例不是越多越好,如果在系統(tǒng)中創(chuàng)建的實例過多,不僅會造成額外

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

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

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

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

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

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

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

18、 設置缺省實例的交流協(xié)議為TCP/IP 和NETBIOS db2set all 列出當前所有的登記項的值1.6、訪問控制權限1.6.1、DB2訪問控制的層次結構 SYSADMSYSCTRL 權力DBADMSYSMAINT特權 DB2中的訪問控制層次如上圖所示??梢詫B2的用戶賦于不同級別的權力和各種特權。其中權力(Authorities)是對一組數(shù)據(jù)庫對象進行存取的特權集,有特定的名稱。而特權(Privileges)則是對特定對象訪問的權利。 權力(Authorities)分為以下級別:(1)、SYSADM系統(tǒng)管理該權限是一個實例中的最高權限??梢酝瓿梢粋€實例范圍內任何管理工作??梢酝ㄟ^實例

19、配置變量中的SYSADM_GROUP參數(shù)來指定一個用戶組擁有該權限。如果該參數(shù)為空,在Windows NT環(huán)境下,創(chuàng)建該實例的用戶擁有該權限;在UNIX環(huán)境下,與實例同名的用戶擁有該權限。(2)、SYSCTRL系統(tǒng)控制該權限可以完成系統(tǒng)中的管理功能,但不能訪問數(shù)據(jù)。但擁有該權限的用戶可以創(chuàng)建數(shù)據(jù)庫,并管理自己創(chuàng)建的數(shù)據(jù)庫中的數(shù)據(jù)??梢酝ㄟ^實例配置變量中的SYSCTRL_GROUP參數(shù)來指定一個用戶組擁有該權限 (3)、SYSMAINT系統(tǒng)維護該權限只能完成系統(tǒng)中與維護有關的任務,但不能訪問數(shù)據(jù),而且擁有該權限的用戶不能創(chuàng)建數(shù)據(jù)庫??梢酝ㄟ^實例配置變量中的 SYSMAINT_GROUP參數(shù)來指定

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

21、可以可以使用TRACE工具可以可以可以獲取實例和數(shù)據(jù)庫的快照信息可以可以可以查詢表空間狀態(tài)可以可以可以可以更改日志歷史文件可以可以可以可以休止表空間可以可以可以可以使用RUNSTATS工具可以可以可以可以對表做LOAD可以可以讀日志文件可以可以可以創(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、客戶端配置工具CCA要對遠

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

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

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

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

26、腳本保存在腳本中心中,也可以對保存在腳本中心中的腳本加以調度。 另外,命令中心一個非常有用的功能是允許用戶通過它查看SQL語句的存取計劃,存取計劃中包含著SQL語句執(zhí)行情況的統(tǒng)計結果,用戶可以通過命令中心為SQL語句生成存取計劃,并以可視化的形式表現(xiàn)出來。 命令中心可以通過系統(tǒng)菜單(Windows NT操作系統(tǒng))或控制中心(Control Center)來調用,也可以通過在命令行下鍵入db2cctr命令來執(zhí)行。具體界面如下圖。 2.2.4、腳本中心(Script Center)腳本中心的主要功能有:創(chuàng)建、編輯、保存和運行命令腳本(可以包括DB2命令和操作系統(tǒng)命令)運行一個以前保存的腳本文件對一

27、個以前保存的命令腳本進行調度,指定其在特定的時間的運行,被調度的作業(yè)將以暫掛作業(yè)的形式將在下面介紹的日志工具中被監(jiān)控。腳本中心的優(yōu)點在于可以將命令以文件的方式存放,重復利用,并且腳本中可以直接包含操作系統(tǒng)命令(在CLP中如果要執(zhí)行操作系統(tǒng)命令需要在命令的前面加“!”)。腳本的運行狀態(tài)也可以在日志工具中查看到。腳本中心的具體界面如下圖。2.2.5、日志(Journal) 通過日志可以查看幾類信息: 作業(yè)信息包括暫掛作業(yè)(Pending Job )信息、正在運行的作業(yè)(Running Job) 信息以及已經(jīng)完成的作業(yè)的信息。對于Pending Job,可以對其進行重新調度、顯示與它相關的腳本或立即

28、運行它?;謴蜌v史信息 提供了對數(shù)據(jù)庫進行的備份、恢復過程的詳細信息,比如:備份的時間、備份的類型等,這些信息實際都被保存在一個稱為恢復歷史文件的文件當中。 警報信息 包含了系統(tǒng)發(fā)出的警報信息。系統(tǒng)信息 包含了UDB數(shù)據(jù)庫管理器生成的信息。 日志除了包含以上信息以外,也可以對已經(jīng)被腳本中心調度的作業(yè)重新進行調度。 日志的具體界面見下圖。 2.2.6、警報中心(Alert Center)警報中心搜集所有數(shù)據(jù)庫管理器發(fā)出的警告信息,管理人員可以根據(jù)這些警告信息對某些系統(tǒng)錯誤進行分析。查找出系統(tǒng)的潛在問題??蓪ⅰ熬瘓笾行摹痹O置為自動打開,顯示已超過其閾值并因此處于警報或警告狀態(tài)的各種受監(jiān)控對象。閾值的

29、設置用可從“控制中心”調用的“性能監(jiān)控程序”來完成。圖符的顏色指示警告的嚴重性。紅色圖符指示報警信號。黃色圖符指示警告。并顯示為性能變量返回的數(shù)據(jù)。1.2.7、許可證中心(License Center)許可證中心可以對UDB的許可證信息提供集中管理,可以允許用戶增添、更改和刪除UDB產(chǎn)品的許可證。用戶也可以瀏覽當前安裝在UDB系統(tǒng)上的許可證信息,比如:產(chǎn)品名稱、產(chǎn)品的版本、過期時間及允許的用戶數(shù)目等信息。具體界面見下圖。2.2.8、控制中心(Control Center)控制中心是UDB的管理工具的核心,絕大多數(shù)的管理任務和對其他管理工具的存取都可以通過控制中心來完成。具體界面如下圖。控制中心

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

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

32、比如設定SQL語句之間的分隔符、 如果DB2實例沒有啟動,是否需要在UDB工具啟動的時候自動啟動實例。工具設置可以從工具欄上的圖形按鈕存取。具體界面如下圖。 2.2.10、快速向導(SmartGuides)UDB中很多任務的完成涉及到很多術語和參數(shù),如果用戶對這些信息不是很了解,會影響到任務的完成效果。為了能夠對這些用戶提供幫助,UDB中提供了很多快速向導。這些快速向導可以針對不同的任務向用戶提出一些比較淺顯的問題,根據(jù)用戶對問題的回答設定相應的參數(shù)。幫助用戶完成相應的任務。UDB中提供的快速向導分為以下幾類: 對象創(chuàng)建類:在創(chuàng)建數(shù)據(jù)庫、表空間和表時提供幫助。 數(shù)據(jù)庫管理任務:在備份和恢復數(shù)據(jù)

33、庫時提供幫助。 多點更改:在分布式環(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務進行控制。 性能調節(jié):幫助用戶對系統(tǒng)性能進行調節(jié)。 具體的快速向導有: 創(chuàng)建數(shù)據(jù)庫快速向導:允許用戶創(chuàng)建數(shù)據(jù)庫、分配存儲空間以及選擇基本性能選項。要調用 它,選擇對象窗格中的“數(shù)據(jù)庫”圖符,單擊鼠標按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建數(shù)據(jù)庫。 創(chuàng)建表快速向導:此快速向導幫助用戶使用預定義的列模板來設計列,創(chuàng)建表的主關鍵字并將一個或多個表空間分配給表。要調用它,選擇“表”圖符,單擊鼠標按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表。 創(chuàng)建表空間快速向導:此快速向導允許用戶創(chuàng)建一個新的表空間

34、并設置存儲及性能選項。要調用它,選擇“表空間”圖符,單擊鼠標按鈕2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建表空間。 索引快速向導:該快速向導幫助用戶確定對給定的一組 SQL 語句,要創(chuàng)建或刪除哪些索引,才能使給定的語句性能最優(yōu)。要調用它選擇“索引”圖符,單擊鼠標按鈕 2,然后選擇創(chuàng)建 - 使用 SmartGuide 創(chuàng)建索引。 性能配置。此快速向導幫助您根據(jù)有關數(shù)據(jù)庫的用途來調諧數(shù)據(jù)庫。然后它對數(shù)據(jù)庫和實例建議新的配置參數(shù),并在需要時自動應用它們。要調用它,選擇相應數(shù)據(jù)庫的圖符,單擊鼠標按鈕 2,然后選擇使用 SmartGuide 配置。 復原數(shù)據(jù)庫快速向導:此快速向導帶您經(jīng)歷恢復

35、數(shù)據(jù)庫的全過程。要調用它,選擇相應數(shù)據(jù)庫的圖符,單擊鼠標按鈕 2,然后選擇復原 - 使用 SmartGuide 復原數(shù)據(jù)庫。 備份數(shù)據(jù)庫快速向導:它詢問用戶關于數(shù)據(jù)庫中的數(shù)據(jù)、數(shù)據(jù)庫的可用性以及可恢復性要求 等基本問題。然后它建議一個備份方案、創(chuàng)建作業(yè)腳本并調度它。要調用它,選擇相應數(shù)據(jù)庫的圖符,單擊鼠標按鈕 2,然后選擇備份 - 使用 SmartGuide 備份數(shù)據(jù)庫。 配置多站點更新快速向導:該快速向導幫助用戶在分布式環(huán)境下,對涉及到多數(shù)據(jù)庫更改的事務進行控制。要使用它,選擇相應實例,單擊鼠標按鈕 2,然后選擇多站點更新 - 使用 SmartGuide 配置。2.2.11、通用工具選項除了

36、以上提供的工具之外,UDB還有幾個其它相關工具選項。例如:顯示SQL(Show SQL)和顯示命令(Show Command) 如果某個工具生成了SQL語句,比如創(chuàng)建表、索引等工具,那么在該工具界面上將有顯示SQL按鈕可用。類似地,生成DB2命令的工具將有顯示命令按鈕可用。單擊這兩個按鈕之一,可以查看該工具根據(jù)用戶在圖形界面中所做選擇而生成的SQL語句或DB2命令。幫助用戶了解該界面是如何工作的。另外該選項也允許用戶將語句或命令另存為腳本以備將來使用。若用戶希望再次運行相同的語句或命令,可以不必重新輸入SQL語句或DB2命令。一旦SQL語句或DB2命令已保存到腳本中,用戶可以調度腳本、編輯此腳

37、本進行更改或創(chuàng)建類似的腳本而不必重新輸入語句或命令。顯示相關對象(Show Related) 顯示相關項顯示表、索引、視圖、別名、觸發(fā)器、表空間、 “用戶定義函數(shù)”以及“用戶定義類型”之間的直接關系。顯示相關對象可以幫助用戶了解一個對象與哪些對象相關,分析數(shù)據(jù)庫的結構以及判斷可能執(zhí)行的操作會造成的影響。例如,如果用戶希望刪除有從屬視圖的表,顯示相關項會告訴用戶如果進行刪除操作后,哪些視圖將變?yōu)闊o效視圖。 從“控制中心”的內容窗格中的很多對象中,單擊鼠標按鈕2。都會看到“顯示相關對象”的選項。第三章 數(shù)據(jù)移動3.1、數(shù)據(jù)移動概述 在數(shù)據(jù)庫的使用過程中,經(jīng)常需要將一個數(shù)據(jù)庫中的數(shù)據(jù)遷移到另外的一個

38、數(shù)據(jù)庫中。為了實現(xiàn)這種功能,我們可以使用數(shù)據(jù)庫復制技術,這種技術在大多數(shù)的關系型數(shù)據(jù)庫中都有相應的實現(xiàn),不過這種方法對管理的要求較高,而且需要網(wǎng)絡的連接。更常用的方法是利用某種類型的外部文件作為中介,將一個數(shù)據(jù)庫中的某個表中的數(shù)據(jù)導出到一個外部文件中,然后把該文件中的數(shù)據(jù)導入到另外一個數(shù)據(jù)庫中。 DB2中實現(xiàn)以上功能的主要工具有三個:EXPORT、IMPORT和LOAD。其中EXPORT的功能是將表中的數(shù)據(jù)導出到外部文件中;而IMPORT和LOAD的功能是將外部文件中的數(shù)據(jù)導入到一個表中。IMPORT和LOAD的功能類似,但在實現(xiàn)手段上有很大差異。 能夠被DB2所支持用作數(shù)據(jù)移動的中間文件的格

39、式有四種:非定界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ù)轉移。 3.2、EXPORT的功能和使用EXPORT 用于將一個表或多個表中的數(shù)據(jù)導出到外部文件中。 下面是EXPOR

40、T的一個例子: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中的相應數(shù)據(jù)將被輸出到myfile文件中,該文件為PC/IXF格式。注意事項: 在做EXPORT之前,首先要連接到相應的數(shù)據(jù)庫上。因為要對表或視圖(EXPORT支持對視圖進行操作)進行SELECT操作,執(zhí)行EXPORT的用戶至少要有相關表或視圖上的SE

41、LECT權限。如果使用PC/IXF文件,文件中將包含表中的索引定義。可以通過DB2 Connect將主機上的數(shù)據(jù)導出到外部文件中。3.3、IMPORT的功能和使用 IMPORT可以被看作是EXPORT的逆過程,用于將數(shù)據(jù)從外部文件中導入到數(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ù)被導入到表artists中,這個表在IMPORT之前并不存在,系

42、統(tǒng)將根據(jù)artexprt文件的格式創(chuàng)建表后,再進行數(shù)據(jù)導入。注意事項: 在做IMPORT之前,首先要連接到相應的數(shù)據(jù)庫上。因為要對表或視圖(IMPORT支持對視圖進行操作)進行修改操作,執(zhí)行EXPORT的用戶至少要有相關表或視圖上的相關權限(依據(jù)導入模式的不同而不同)。比如,使用INSERT模式,至少要有相應表上的INSERT權限;如果使用CREATE模式,則需要數(shù)據(jù)庫上的CREATETAB權限。如果使用CREATE模式,必須使用PC/IXF文件進行數(shù)據(jù)導入。可以通過DB2 Connect向主機上的數(shù)據(jù)庫導入數(shù)據(jù)。3.4、LOAD的功能和使用 3.1、LOAD概述LOAD的功能與IMPORT類

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

44、在這個階段中,數(shù)據(jù)被導入到表中,如果表上有索引存在,LOAD將按照索引定義搜集索引關鍵字,然后進行排序。如果有不符合表定義的數(shù)據(jù)行,LOAD將會把它們放到一個文件(DUMP FILE)中,同時在消息文件(MESSAGE FILE)中進行記錄。如果在命令中指定了SAVECOUNT參數(shù),LOAD將每隔一定數(shù)目的數(shù)據(jù)行進行一次保存。第二個階段叫BUILD階段。在這個階段中,LOAD會利用在LOAD階段搜集的索引關鍵字構造索引。如果表上沒有索引,這個過程將被忽略。另外,如果表上定義了唯一性約束,LOAD會在這個階段進行檢查。如果有違反唯一性約束的數(shù)據(jù)行,LOAD將會把它們拷貝到一個特殊的表例外表(Ex

45、ception Table)中。相應的信息會保存在信息文件(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表明表空間處于備份掛起(BACKUP PENDI

46、NG)狀態(tài)。上面提到的幾個狀態(tài)都是在LOAD過程中有可能發(fā)生的。我們下面就來探詢其原因及解決辦法。、LOAD PENDING狀態(tài) 如果LOAD由于用戶的錯誤而沒有運行,比如指定的數(shù)據(jù)輸入文件不存在或者要載入數(shù)據(jù)的表不存在,則對表空間的狀態(tài)不會有任何影響。 如果LOAD在向表中導入數(shù)據(jù)的時候出現(xiàn)了錯誤,LOAD會終止,同時將要導入數(shù)據(jù)的表所在的表空間置于LOAD PENDING狀態(tài)。如果表空間處于LOAD PENDING,除了使用LOAD工具對表空間進行操作來消除LOAD PENDING狀態(tài)以外,不能對該表空間進行其他操作。出現(xiàn)了LOAD PENDING狀態(tài)以后,應該對LOAD生成

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

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

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

50、的數(shù)據(jù)進行備份,可以用于日后的恢復;如果使用NONRECOVERABLE選項,則等于用戶明確表示日后不想恢復LOAD導入的數(shù)據(jù),這個選項一般用于接收數(shù)據(jù)導入的表被用于只讀操作,如果需要對數(shù)據(jù)進行恢復,重新進行LOAD就可以。 3.5、IMPORT和LOAD的對比 IMPORT和LOAD在功能上相似,但在實現(xiàn)方式和使用上有很大不同,我們將通過下表將這兩中工具進行一下對照。IMPORTLOAD說明在導入大量數(shù)據(jù)時速度較慢在導入大量數(shù)據(jù)時速度明顯比IMPORT快LOAD是將數(shù)據(jù)格式化成數(shù)據(jù)頁的形式直接寫入數(shù)據(jù)庫如果使用IXF文件格式,表和索引可以不存在在導入數(shù)據(jù)之前,表和索引必須存在IMPORT可以

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

52、點重新開始。IMPORT使用的是數(shù)據(jù)庫內部的臨時表空間LOAD使用的是數(shù)據(jù)庫以外的臨時空間所有的約束在IMPORT過程中都將被總結在LOAD過程中只檢查唯一性約束LOAD關閉約束檢查,需要在LOAD后用SET INTEGERITY消除表上的CHECK PENDING狀態(tài)在IMPORT過程中,當每一行被導入時,索引關鍵字被插入到索引中在LOAD過程中,LOAD在LOAD階段搜集索引關鍵字,在BULID階段統(tǒng)一生成索引如果需要重新搜集統(tǒng)計信息,在IMPORT后使用RUNSTAT工具如果需要重新搜集統(tǒng)計信息,可以在LOAD后使用RUNSTAT工具,也可以在LOAD過程中進行搜集在LOAD中直接搜集統(tǒng)

53、計信息會延長LOAD所需時間IMPORT能夠被DB2 Connect支持LOAD能夠被DB2 Connect支持數(shù)據(jù)導入文件必須在執(zhí)行IMPORT的節(jié)點上數(shù)據(jù)導入文件必須在要導入數(shù)據(jù)的數(shù)據(jù)庫所在的節(jié)點上IMPORT不需要備份根據(jù)復制選項的不同,可能需要進行備份IMPORT導入的數(shù)據(jù)在日志中會有記錄第四章 數(shù)據(jù)庫恢復在防止關鍵數(shù)據(jù)的丟失當中,恢復用戶自己的環(huán)境十分重要。有一些工具可以幫助用戶管理自己的環(huán)境和保證用戶可以對自己的數(shù)據(jù)實施充分的恢復措施。我們將討論在關系數(shù)據(jù)庫系統(tǒng)中的日志存檔概念,因為它屬于數(shù)據(jù)庫的恢復功能的組成部分。日志文件是由DB2用來確保數(shù)據(jù)庫完整性,即使當出現(xiàn)某些不可預見的問

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

55、ion)。事務是應用程序進程內的一個可恢復的SQL操作序列。對數(shù)據(jù)庫的任何一次讀或寫都是在某次事務內完成的。任何一個成功地與數(shù)據(jù)庫相連接的應用程序都自動地啟動一個事務。應用程序必須通過發(fā)出一條 SQL COMMIT(委托確認)或SQL ROLLBACK(退回)語句去結束該事務。 SQL的 COMMIT語句告訴數(shù)據(jù)庫管理員立即對數(shù)據(jù)庫實施事務中的所有數(shù)據(jù)庫變動(插入、更新、刪除)。SQL的 ROLLBACK語句告訴數(shù)據(jù)庫管理器不實施這些變動,但將受到影響的行返回到開始該事務之前的原有狀態(tài)。4.3日志文件的使用為了確保用戶數(shù)據(jù)的完整性,DB2已經(jīng)實施提前寫日志存檔模式。提前寫日志存檔的基礎是指:當

56、發(fā)出刪除、插入或更新數(shù)據(jù)庫中某一數(shù)據(jù)的 SQL調用時,所做出數(shù)據(jù)變更首先要寫到日志文件中去。當發(fā)出一條 SQL委托確認命令時 DB2要保證把為了重新運作(replay)所需要的日志文件都寫入磁盤中。在發(fā)生斷電之類的不幸事故時,日志文件可以用來把數(shù)據(jù)庫退回到原來的某個一致性狀態(tài)。所有被委托確認的事務都將重新再做一遍,所有非委托確認的事務都將回退到原有起點。所有數(shù)據(jù)庫都有與它們相關聯(lián)的日志文件。日志文件有預先定義的長度。因此,當日志文件被填滿時,日志存檔過程就要在另一個日志文件中繼續(xù)進行。4.4日志管理配置4.4.1日志的類型 現(xiàn)在我們來考查可能出現(xiàn)在DB2中的兩類日志: 循環(huán)日志 (Circul

57、ar logging) 歸檔日志 (Archival logging)4.4.2循環(huá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)主日志文件是預先分配的,而輔助日志文件僅在需要時才分配。如果數(shù)據(jù)庫管理器需要序列中的下一

58、個日志,并且不能被重用,那么將分配一個輔助日志文件,至直主日志文件變得可供重用或者所分配輔助日志文件的數(shù)目被超出為止。一旦數(shù)據(jù)庫管理器決定輔助日志文件不再需要時,輔助日志文件便被收回。當數(shù)據(jù)庫激活時,分配主日志文件。主日志文件和輔助日志文件的數(shù)目由數(shù)據(jù)庫參數(shù)LOGPRIMARY和 LOGSECOND來決定。當數(shù)據(jù)庫最初被創(chuàng)建時,循環(huán)日志方式作為默認的日志方式被激活。配置以循環(huán)方式的數(shù)據(jù)庫僅能恢復到曾經(jīng)做過備份的點。對數(shù)據(jù)庫進行恢復時,自從進行備份以后對數(shù)據(jù)庫所做的任何工作都將丟失。由于這個原因,循環(huán)日志方式最適合用于那些只供查詢的數(shù)據(jù)庫。4.4.3歸檔日志 歸檔日志(archival logg

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論