日期:2014-05-16  浏览次数:20437 次

DB2目录文件结构
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: ?