当前位置:数据库 > DB2 >>

db2 循环日志和挂载其它盘符的问题

问题1:db2 循环日志的周期是多少啊?比如它是自动记载多少天的日志,然后开始覆盖前面的日志!! 问题2:如果db2 装在系统盘C盘,现在系统盘C盘分区整体控件不够了,怎样通过db2 工具将D盘的空间挂载到db2上 如能帮我完美的解决问题,我会追加分的!!!
答案:打字太费劲了。
第一个是db2的日志问题。db2数据库的日志有两种模式,一种是循环日志,一种是归档模式。你的说法有问题,如果是循环日志的话,根据你的数据库里配置的三个参数,主日志文件和辅助日志文件数及日志大小文件,总的日志大小不会超过(总日志文件数与日志大小的乘积),然后是循环使用的,也就是说,如果数据库进行一次事务操作时,先生成第一个主日志文件(受日志文件大小参数)控制,不足时生成第二个主日志文件,当一次事务超过所有的主日志文件时,才会创建辅助日志文件),然后下次覆盖第一个,依次循环,所以循环日志模式,日志文件大小不是无限增大的。只有在归档模式下才会不断产生日志文件,这种模式的好处是数据库可以恢复到任意时点。查看数据库日志的模式时,可以在db2=>命令行下connect to db name 然后 db2=> get db cfg for dbname
会看到有如下几个参数与日志有关系:
启用的恢复的日志保留                        (LOGRETAIN) = OFF
 启用的日志记录的用户出口                     (USEREXIT) = OFF
 日志文件大小(4KB)                         (LOGFILSIZ) = 1024
 主日志文件的数目                           (LOGPRIMARY) = 13
 辅助日志文件的数目                          (LOGSECOND) = 4
 已更改的至日志文件的路径                   (NEWLOGPATH) =
 日志文件路径                                            = D:\DB2\NODE0000\SQL00002\SQLOGDIR\
 溢出日志路径                          (OVERFLOWLOGPATH) =
 镜像日志路径                            (MIRRORLOGPATH) =
 首个活动日志文件                                        =
可以看出这里的数据库是运行于循环日志模式,第一个参数是off,如果是on则处于归档模式。下边有日志文件的路径,如果是归档模式,还可以查看到首个活动日志文件,则可以备份归档日志后,删除活动日志以前的归档日志文件。因此你说的按天的日志不知道是什么意思。更改上述参数采用 update db cfg using ....
第二个问题:db2的数据库数据是存储在表里的,表是位于表空间的,表空间对应的表空间容器物理文件存储在文件系统上。随着数据量的增大,分区容量不够时,一种方法是备份数据库,然后使用[重定向]还原数据库,将数据库的表空间容器重定向到一个存储量大的目录或者磁盘上。另一种方法是,直接为该表空间增加新的表空间容器,就可以了。比较简单,在此不在详述。
查看表空间信息时db2=>connect to dbname 
db2=>list tablespaces
看到用户定义的表空间的编号,一般是3以后的。
然后
db2=>list tablespace containers for 3
可以查看3号表空间对应的表空间容器信息,一个表空间可以有多个表空间容器,这些表空间容器可以位于不同的磁盘和文件目录上,这样可以解决某个硬盘或者目录容量不足的问题。
给表空间增加容器的方法就不用讲了,直接alter tablespace语句就行了。

上一个:ysql,sqlserver,db2监控
下一个:有关db2无法识别中文

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,