db2的两个sqldbdiry

来源:互联网 发布:centos6.5 yum lamp 编辑:程序博客网 时间:2024/05/11 12:23

在db2的文件中,包含了2个sqldbdir目录,分别是:

/home/db2inst2/sqllib/sqldbdir

/home/db2inst2/db2inst2/NODE0000/sqldbdir

两个目录下的文件名称都是一样的:

sqldbdir, sqldbbak, sqldbins

sqldbdbak是sqldbdir的备份,sqldbins是用于分区数据库的。


那么这两个目录有什么不同呢?

/home/db2inst2/sqllib/sqldbdir,即当前instance下的sqldbdir,存放的是系统数据库编目信息,既包含了本地数据库的编目,也包含了远程数据库的编目(如果有的话)。而/home/db2inst2/db2inst2/NODE0000/sqldbdir则只有本地数据库的编目了。有人说它是个原始文件,创建数据库后会拷贝一个到数据库目录下即node0000/下,但貌似不是这么一回事。即使把sqllib/sqldbdir删除了,也照样还是可以catalog的,还是会创建个新文件出来。所以这个说法是不对的。

其实,db2 list db direcotry, catalog, uncatalog操作的都是sqllib/sqldbdir,而在create/drop db时,操作的则是node0000/sqldbdir。

在connect to的时候,如果要连接的是本地的数据库,则从node0000/sqldbdir读取。如果要连接远程服务器上的数据库,则从sqllib/sqldbdir读取。

sqldbdir和sqldbbak是在catalog db后才同步的。

0 0
原创粉丝点击