DB2 Log

日志类型:
主日志:预分配 配置最大数量:db cfg中LOGPRIMARY
辅助日志:动态分配 配置最大数量:db cfg中LGOSECOND
辅助日志数量小于等于主日志
 
日志记录类型:
1. 循环日志记录 --> 支持崩溃恢复,版本恢复 --> 不可恢复数据库
2. 归档日志记录 --> 支持崩溃恢复,版本恢复和前滚恢复 --> 可恢复数据库
 
数据库默认是循环日志记录
要设置日志为归档模式,需要设置LOGARCHMETH1参数
设置方式
Logarchmeth1和Logarchmeth2配置可能有如下几种组合
1. Logarchmeth1设置为LOGRETAIN,Logarchmeth2只能设置为OFF
     归档日志位置就是DB2数据库日志的位置,需要人工干预归档日志的转移和空间维护工作

2. Logarchmeth1设置为USEREXIT,Logarchmeth2只能设置为OFF
     归档日志的管理交由USEREXIT来处理,通过设置编译USEREXIT可以实现相对复杂一些的归档管理方式

3. Logarchmeth1设置为<Directory>,Logarchmeth2设置为OFF
     归档日志的工作将会自动进行,需要归档日志将会被自动归档到<Directory>指定的位置,由于归档是自动进行,DB2的日志目录中只有正常logprimary+logsecond个数据库日志。
写法:DISK:<directory>
4. Logarchmeth1设置为<Directory1>,Logarchmeth2设置为<Directory2>
     归档日志的工作将会自动进行,需要归档日志将会被自动归档到<Directory1>和<Directory2>指定的位置,也就是会产生两份归档日志由于归档是自动进行,DB2的日志目录中只有正常logprimary+logsecond个数据库日志。<Directory1>或者<Directory2>都可以设置为TSM。一般推荐<Directory1>为文件系统,<Directory2>设置为TSM,既可以归档到TSM离线保存,又可以在线使用文件系统中归档日志,比较方便。
查看数据库配置文件:db2 get db cfg for 数据库名|grep LOGARCHMETH1
修改数据库配置文件:db2 update db cfg for 数据库名 using LOGARCHMETH1 DISK:<directory>
 
修改后需要完成一次备份。然后就可以使用了。
 
数据库开归档后参数BLK_LOG_DSK_FULL
如果参数设置为YES, 当归档日志将相关路径写满,应用会停住,直至归档日志重新获得空间。
默认值:NO
 
参数                            可用值
MIRRORLOGPATH       NULL / <directory>
LOGARCHMETH1        OFF / DISK:<directory>
 
循环日志设置:
db2 update db cfg for COMMERCE using NEWLOGPATH <path>
db2 update db cfg for COMMERCE using LOGARCHMETH1 OFF
db2 update db cfg for COMMERCE using LOGPRIMAYR <循环主日志个数>
db2 update db cfg for COMMERCE using LOGSECOND <循环辅助日志个数>
db2 update db cfg for COMMERCE using LOGFILSIZ <number of pagesize> (pagesize:4k)
 
归档日志设置:
db2 update db cfg for COMMERCE using NEWLOGPATH <path>
db2 update db cfg for COMMERCE using LOGARCHMETH1 DISK:<path>
 
其他日志参数设置
关闭:db2 update db cfg for COMMERCE using FAILARCHPATH NULL
设置:db2 update db cfg for COMMERCE using FAILARCHPATH <path>
关闭:db2 update db cfg for COMMERCE using MIRRORLOGPATH NULL
设置:db2 update db cfg for COMMERCE using MIRRORLOGPATH <path>
 
查看DB2数据库日志使用量:
db2pd -logs -db <dbname>
 
手工运行归档:
db2 archive log for database <dbname>
 
数据库参数BLK_LOG_DSK_FUL修改成YES: db2 update db cfg for COMMERCE using BLK_LOG_DSK_FUL YES
原因:当因为日志空间不足导致数据库应用挂起,可以保证运行中事务继续运行。

Comments

Popular posts from this blog

Nginx Proxy & Load Balance & LNMP

Snort+barnyard2+Snorby CentOS 6.5_64 Installation

ORACLE Error