[轉]DB2目錄檔案結構

msdnchina發表於2011-03-13

DB2目錄檔案結構

原帖請見:http://sgadba.blog.163.com/blog/static/137046660201002625614299/

感謝原作者。

[db2inst2@lamp T0000000]$ pwd
/home/db2inst2/db2inst2/NODE0000/SAMPLE/T0000000

db2inst2(第二個紅色): 例項名

NODE0000: 資料庫分割槽名,新版本的DB2中,資料庫分割槽取代了以前版本中的節點的概念

SAMPLE: 例項下的樣本資料庫

T0000000: 表空間的容器

SAMPLE級中有 SQL00001 SQL00002 sqldbdir TEST

sqldbdir: 儲存本地資料庫目錄相關的檔案, 它記錄各資料庫名稱、資料庫別名以及資料庫型別和資料庫的位置資訊

SQL00001: 系統自帶資料庫

SQL00002: 系統自帶資料庫

TEST: 自定義資料庫

-----------------------------------------------------------------------------------------------------

[db2inst2@lamp db2inst2]$ cd NODE0000/

[db2inst2@lamp NODE0000]$ cd SQL00001

[db2inst2@lamp SQL00001]$ ls

db2event db2rhist.bak SQLBP.2 SQLDBCONF SQLOGCTL.LFH.1 SQLOGDIR SQLSGF.1 SQLSPCS.1 SQLTMPLK
db2rhist.asc SQLBP.1 SQLDBCON SQLINSLK SQLOGCTL.LFH.2 SQLOGMIR.LFH SQLSGF.2 SQLSPCS.2

db2event: 這個目錄儲存了DB2 事件監視器產生的結果。事件監視器用於記錄特定事件發生時資料庫的活動,記錄的結果可以被儲存在表、命名管道或者檔案中。要察看監控結果的話,可以使用事件分析器這樣的圖形化工具,或者 DB2EVMON 這樣的文字工具。

SQLOGDIR: 這個目錄是資料庫預設的日誌檔案存放目錄。不過,由於日誌檔案是資料庫恢復策略中的決定性因素,因此要儘量保證日誌檔案的可用性。如果使用預設設定,資料庫的日誌和資料都存放在同一位置,一旦發生介質錯誤,有可能造成日誌檔案和資料同時丟失,導致資料庫無法恢復。因此,對於關鍵性應用,建議更改資料庫配置引數 NEWLOGPATH 來修改日誌檔案的儲存位置。

SQLDBCON: 每個資料庫都有自己的配置引數,這些配置資訊都被存放在 SQLDBCON 檔案中,由於該檔案是二進位制格式,因此不能使用文字編輯器編輯,而應該使用 GET DB CFG 以及 UPDATE DB CFG 命令來察看和修改。

SQLOGCTL.LFH: 這個檔案就是日誌控制檔案,裡面記錄著日誌檔案的狀態,特別是包含了一個叫作LOGHEAD的變數,該變數定義了當前第一個活動日誌,該日誌也是崩潰恢復的起點。在進行崩潰恢復的時候,DB2會利用該變數的值來決定使用哪些日誌來進行崩潰恢復。LOGHEAD對於歸檔日誌也有很重要的意義,該變數的值是歸檔日誌檔案和活動日誌檔案的分割點,檔名序號小於LOGHEAD的值的日誌檔案都可以被歸檔到其他位置。要察看改變數的值,可以使用 GET DB CFG 命令

SQLOGMIR.LFH:該檔案與 SQLOGCTL.LFH 檔案的作用類似,不過專門適用於啟用了映象日誌的 DB2 環境

SQLSPCS.1 & SQLSPCS.2 :這兩個檔案中包含了資料庫中表空間的定義以及表空間的當前狀態。如果這兩個檔案被損壞,資料庫連線操作將會失敗

SQLBP.1 & SQLBP.2: 這兩個檔案中包含資料庫中緩衝池的資訊,用於對緩衝池進行管理。SQLBP.2 和 SQLBP.1 的內容完全相同,可以起到備份的作用。

db2rhist.asc & db2rhist.bak: db2rhist.asc 檔案也就是在備份和恢復過程中會用到的DB2 恢復歷史檔案。該檔案隨著資料庫的建立而建立,當對資料庫進行了備份、恢復以及 LOAD 等操作時,該檔案中都會記錄相應資訊。這些資訊在進行恢復操作將起到至關重要的作用。該檔案是如此重要,以至於為了防止該檔案損壞,DB2 同時生成了一個 db2rhist.bak 作為該檔案的備份,而且,DB2 的 restore 命令還允許從備份映像中單獨恢復該檔案。使用者可以使用 LIST HISTORY 命令來察看該檔案的內容,也可以使用 UPDATE HISTORY 命令和 PRUNE HISTORY 命令來修改該檔案,但不應當使用文字編輯器來直接處理

SQLINSLK & SQLTMPLK: 這兩個檔案都是用來保證該資料庫只能被資料庫管理器的一個例項來使用。

---------------------------------------------------------------------------------------------------------------------

db2 => list tablespace containers for 2 show detail

Tablespace Containers for Tablespace 2

Container ID = 0
Name = /home/db2inst2/db2inst2/NODE0000/SAMPLE/T0000002/C0000000.LRG
Type = File
Total pages = 4096
Useable pages = 4064
Accessible = Yes

/home/db2inst2/db2inst2/NODE0000/SAMPLE/T0000002/C0000000.LRG

T0000002: 表空間的容器(容器可以是目錄名、裝置名或檔名)

C0000000.LRG: ?

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-1047200/,如需轉載,請註明出處,否則將追究法律責任。

相關文章