Posted on 2009-07-14 23:05
Prayer 閱讀(986)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
這是我的電腦剛裝完后,
db2的
目錄結(jié)構(gòu),上網(wǎng)查了一下每個(gè)
目錄和文件的用途,現(xiàn)總結(jié)如下:
1、頂級目錄-DB2,這是實(shí)例名,所謂實(shí)例,我理解的就是一套完整的數(shù)據(jù)庫運(yùn)行環(huán)境和內(nèi)存結(jié)構(gòu),和oracle的實(shí)例含義差不多,只不過oracle一臺機(jī)器同一時(shí)間只能運(yùn)行一個(gè)實(shí)例,而DB2則可以同時(shí)運(yùn)行多個(gè)實(shí)例,每個(gè)實(shí)例下包含多個(gè)數(shù)據(jù)庫,而數(shù)據(jù)庫包含各種對象,如:表、視圖、索引、觸發(fā)器、過程之類的,而和oracle相對應(yīng)的,這些對象都是屬于某個(gè)用戶即屬于某個(gè)模式。這里模式的概念和oracle里類似,也許所有數(shù)據(jù)庫系統(tǒng)中模式的概念都大同小異。
2、Node0000,這是數(shù)據(jù)庫分區(qū)名,新版本的DB2中,數(shù)據(jù)庫分區(qū)取代了以前版本中的節(jié)點(diǎn)的概念。一個(gè)數(shù)據(jù)庫分區(qū)是數(shù)據(jù)庫的一個(gè)子集,擁有自己的配置文件、數(shù)據(jù)、索引和日志。在多分區(qū)數(shù)據(jù)庫環(huán)境下,一個(gè)數(shù)據(jù)庫可以被劃分為多個(gè)分區(qū),不同的分區(qū)可以駐留在不同的物理機(jī)器上,從而提高整個(gè)數(shù)據(jù)庫系統(tǒng)的處理能力。在這種環(huán)境下,每個(gè)分區(qū)都有自己的編號,這個(gè)編號會(huì)體現(xiàn)在數(shù)據(jù)庫的目錄結(jié)構(gòu)中。比如,如果該分區(qū)的編號為3,則該層目錄名稱應(yīng)為NODE0003。對于單分區(qū)數(shù)據(jù)庫環(huán)境,該目錄名固定為NODE0000。這和Oracle集群是不是很像。
3、SQL00001,代表了實(shí)例下的一個(gè)數(shù)據(jù)庫,每建一個(gè)數(shù)據(jù)庫,編號就會(huì)加一,如果想看看這個(gè)目錄對應(yīng)了哪個(gè)數(shù)據(jù)庫,可以在clp下運(yùn)行命令 LIST DATABASE DIRECTORY ON D,這個(gè)命令查看了D盤下的目錄,結(jié)果顯示如下:

4、SQLDBDIR,存儲(chǔ)本地?cái)?shù)據(jù)庫目錄相關(guān)的文件。本地?cái)?shù)據(jù)庫目錄中駐留在每個(gè)存儲(chǔ)著數(shù)據(jù)庫的驅(qū)動(dòng)器或者路徑中,用于存取子目錄下的本地?cái)?shù)據(jù)庫。該目錄中存儲(chǔ)的每個(gè)條目中包含著數(shù)據(jù)庫名稱、數(shù)據(jù)庫別名以及數(shù)據(jù)庫類型和數(shù)據(jù)庫的位置信息。
5、DB2EVENT,這個(gè)目錄保存了DB2 事件監(jiān)視器產(chǎn)生的結(jié)果。事件監(jiān)視器用于記錄特定事件發(fā)生時(shí)數(shù)據(jù)庫的活動(dòng),記錄的結(jié)果可以被保存在表、命名管道或者文件中。要察看監(jiān)控結(jié)果的話,可以使用事件分析器這樣的圖形化工具,或者 DB2EVMON 這樣的文本工具。
以下為轉(zhuǎn)載自loveunix.net :
db2rhist.asc 和 db2rhist.bak 文件
db2rhist.asc文件也就是在備份和恢復(fù)過程中會(huì)用到的DB2 恢復(fù)歷史文件。該文件隨著數(shù)據(jù)庫的建立而建立,當(dāng)對數(shù)據(jù)庫進(jìn)行了備份、恢復(fù)以及 LOAD 等操作時(shí),該文件中都會(huì)記錄相應(yīng)信息。這些信息在進(jìn)行恢復(fù)操作將起到至關(guān)重要的作用。該文件是如此重要,以至于為了防止該文件損壞,DB2 同時(shí)生成了一個(gè) db2rhist.bak 作為該文件的備份,而且,DB2 的 restore 命令還允許從備份映像中單獨(dú)恢復(fù)該文件。用戶可以使用 LIST HISTORY 命令來察看該文件的內(nèi)容,也可以使用 UPDATE HISTORY 命令和 PRUNE HISTORY 命令來修改該文件,但不應(yīng)當(dāng)使用文本編輯器來直接處理。
SQLBP.1 和 SQLBP.2 文件
這兩個(gè)文件中包含數(shù)據(jù)庫中緩沖池的信息,用于對緩沖池進(jìn)行管理。SQLBP.2 和 SQLBP.1 的內(nèi)容完全相同,可以起到備份的作用。
SQLDBCON 文件
每個(gè)數(shù)據(jù)庫都有自己的配置參數(shù),這些配置信息都被存放在 SQLDBCON 文件中,由于該文件是二進(jìn)制格式,因此不能使用文本編輯器編輯,而應(yīng)該使用 GET DB CFG 以及 UPDATE DB CFG 命令來察看和修改。
SQLINSLK 和 SQLTMPLK 文件
這兩個(gè)文件都是用來保證該數(shù)據(jù)庫只能被數(shù)據(jù)庫管理器的一個(gè)實(shí)例來使用。
SQLOGCTL.LFH 文件
這個(gè)文件就是日志控制文件,里面記錄著日志文件的狀態(tài),特別是包含了一個(gè)叫作LOGHEAD的變量,該變量定義了當(dāng)前第一個(gè)活動(dòng)日志,該日志也是崩潰恢復(fù)的起點(diǎn)。在進(jìn)行崩潰恢復(fù)的時(shí)候,DB2會(huì)利用該變量的值來決定使用哪些日志來進(jìn)行崩潰恢復(fù)。LOGHEAD對于歸檔日志也有很重要的意義,該變量的值是歸檔日志文件和活動(dòng)日志文件的分割點(diǎn),文件名序號小于LOGHEAD的值的日志文件都可以被歸檔到其他位置。要察看改變量的值,可以使用 GET DB CFG 命令。
SQLOGDIR 目錄
這個(gè)目錄是數(shù)據(jù)庫缺省的日志文件存放目錄。不過,由于日志文件是數(shù)據(jù)庫恢復(fù)策略中的決定性因素,因此要盡量保證日志文件的可用性。如果使用缺省設(shè)置,數(shù)據(jù)庫的日志和數(shù)據(jù)都存放在同一位置,一旦發(fā)生介質(zhì)錯(cuò)誤,有可能造成日志文件和數(shù)據(jù)同時(shí)丟失,導(dǎo)致數(shù)據(jù)庫無法恢復(fù)。因此,對于關(guān)鍵性應(yīng)用,建議更改數(shù)據(jù)庫配置參數(shù) NEWLOGPATH 來修改日志文件的存儲(chǔ)位置。
SQLOGMIR.LFH 文件
該文件與 SQLOGCTL.LFH 文件的作用類似,不過專門適用于啟用了鏡像日志的 DB2 環(huán)境。
SQLSPCS.1 和 SQLSPCS.2 文件
這兩個(gè)文件中包含了數(shù)據(jù)庫中表空間的定義以及表空間的當(dāng)前狀態(tài)。如果這兩個(gè)文件被損壞,數(shù)據(jù)庫連接操作將會(huì)失敗。
以上介紹的文件和目錄都是用于管理和控制數(shù)據(jù)庫的,而數(shù)據(jù)庫中的數(shù)據(jù)都是被存儲(chǔ)在表空間中。在創(chuàng)建數(shù)據(jù)庫時(shí),系統(tǒng)必須預(yù)先創(chuàng)建三個(gè)表空間-系統(tǒng)目錄表空間、系統(tǒng)臨時(shí)表空間以及缺省用戶表空間,如果不特別指定,這三個(gè)表空間都會(huì)是 SMS 表空間,由于 SMS 表空間的容器類型只能是目錄,因此 DB2 會(huì)生成下列三個(gè)目錄:
SQLT0000.0 目錄
這個(gè)目錄是系統(tǒng)目錄表空間 SYSCATSPACE 所使用的容器。用于存儲(chǔ)系統(tǒng)目錄表。系統(tǒng)目錄表由一組以 SYSIBM 為模式的表組成,是一個(gè)數(shù)據(jù)庫的數(shù)據(jù)字典。系統(tǒng)目錄表里面包含了三類信息。一類是數(shù)據(jù)庫中所有數(shù)據(jù)庫對象的定義信息;一類是數(shù)據(jù)庫中的統(tǒng)計(jì)信息,在對應(yīng)用程序進(jìn)行優(yōu)化時(shí)需要使用這些統(tǒng)計(jì)信息計(jì)算存取計(jì)劃。此外,還有一類是數(shù)據(jù)庫級別的授權(quán)信息。如果系統(tǒng)目錄表空間處于異常,數(shù)據(jù)庫連接操作將會(huì)失敗。
SQLT0001.0 目錄
這個(gè)目錄是系統(tǒng)臨時(shí)表空間 TEMPSPACE1 所使用的容器,用于存儲(chǔ)數(shù)據(jù)庫系統(tǒng)在操作過程中生成的臨時(shí)數(shù)據(jù),比如排序、多表連接等操作時(shí)所形成的臨時(shí)表。每個(gè)數(shù)據(jù)庫中必須至少存在一個(gè)系統(tǒng)臨時(shí)表空間。
SQLT0002.0 目錄
這個(gè)目錄是缺省用戶表空間 USERSPACE1 所使用的容器,用于存放用戶創(chuàng)建的表。用戶也可以在數(shù)據(jù)庫創(chuàng)建后創(chuàng)建自己的用戶表空間。
要說明的是,我們上面介紹的三個(gè)表空間都是通過缺省方式創(chuàng)建的,在實(shí)際應(yīng)用中,用戶可以在創(chuàng)建數(shù)據(jù)庫的時(shí)候指明這三個(gè)表空間的類型以及容器。那樣的話,看到的目錄結(jié)構(gòu)會(huì)有些不一樣,但功能上是相同的。
下一次,我將研究一下表空間