数据库版本:
CTI_TEST2:/home/usr/gl_kpiad >db2level
DB21085I Instance "gl_kpiad" uses "64" bits and DB2 code release "SQL09057"
with level identifier "06080107".
Informational tokens are "DB2 v9.5.0.7", "special_27196", "IP23136_27196", and
Fix Pack "7".
Product is installed at "/opt/IBM/db2/V9.5".
数据库日志参数设置:
CTI_TEST2:/home/usr/gl_kpiad >db2 get db cfg|grep -i log
Log retain for recovery status = YES
User exit for logging status = NO
Catalog cache size (4KB) (CATALOGCACHE_SZ) = 300
Log buffer size (4KB) (LOGBUFSZ) = 98
Log file size (4KB) (LOGFILSIZ) = 100
Number of primary log files (LOGPRIMARY) = 10
Number of secondary log files (LOGSECOND) = 0
Changed path to log files (NEWLOGPATH) =
Path to log files = /DBTEST/gl_kpiad/NODE0000/SQL00001/SQLOGDIR/
Overflow log path (OVERFLOWLOGPATH) =
Mirror log path (MIRRORLOGPATH) =
First active log file =
Block log on disk full (BLK_LOG_DSK_FUL) = NO
Block non logged operations (BLOCKNONLOGGED) = NO
Percent max primary log space by transaction (MAX_LOG) = 0
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0
Percent log file reclaimed before soft chckpt (SOFTMAX) = 100
Log retain for recovery enabled (LOGRETAIN) = ON
User exit for logging enabled (USEREXIT) = OFF
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
First log archive method (LOGARCHMETH1) = DISK:/tmp
Options for logarchmeth1 (LOGARCHOPT1) =
Second log archive method (LOGARCHMETH2) = OFF
Options for logarchmeth2 (LOGARCHOPT2) =
Failover log archive path (FAILARCHPATH) =
Number of log archive retries on error (NUMARCHRETRY) = 5
Log archive retry Delay (secs) (ARCHRETRYDELAY) = 20
Log pages during index build (LOGINDEXBUILD) = OFF
参数设置后,个人理解LOGPRIMARY参数设置为10,则数据库活动日志目录/DBTEST/gl_kpiad/NODE0000/SQL00001/SQLOGDIR/下的日志数量为10个,均为未归档的日志。对于已经归档的日志,根据参数LOGARCHMETH1设置会移到/tmp目录下。
而目前测试的现象是:活动日志目录,即/DBTEST/gl_kpiad/NODE0000/SQL00001/SQLOGDIR/下的日志数一直多余10个,数量在13-23之间,查看发现有除了未归档的10个日志,还有已经归档到/tmp目录下的日志,没有清理或者重用,导致活动日志目录下日志数量一直多余10个。
疑惑:DB2的活动日志目录下为何还要部分已经归档的日志存在,既然已经归档到/tmp目录下,为何不删除?如果这些日志是用来重写的,那么活动日志目录下未删除的归档日志的数量得有个上限吧,这个是怎么控制的?跟LOGPRIMARY的设置有关吗?
收起