db2日志保存的两种方式
db2日志保存分为哪些方式呢?这是很多人提到过的问题,下面就为您详细介绍db2日志保存的两种方式,供您参考学习之用。
db2日志保存有两种方式:循环日志和归档日志
循环日志:
在任何情况下都不能删除循环日志,如果删除数据库就会出错。如果出错了,只能用备份做恢复,如果没有做备份,那么只有找IBM官方来帮做一个连接,然后你export出数据,然后再重建数据库。据说这个还是要在你买了PPA的情况下才提供的服务内容。
归档日志:
归档日志中的活动日志部份是不能删除的,如果删除结果同循环日志被删除的情况。归档日志中的已归档日志是可以删除的,但删除了以后你可能就没法做一些前滚操作了。数据库备份的恢复涉及备份文件和日志
关系如下:
做备份的时候,最好使用日志参数把一个特殊日志也打包进去,因为恢复的时候如果没有这个特殊文件,恢复是无法完成的,更别说前滚了。两次全备份之间的归档日志如果被删除,则数据库无法前滚到这两次全备中的任何时间,相反如果日志保留,则可以把数据库前滚到这两次全备中的任何时间点,具体做法是:先恢复第一个全备,然后使用日志前滚到指点的时间点。其实就一句话:如果两次备份之间的日志有保留就可以把数据库前滚到这两次备份中的任何时间点。
1、查看日志空间相关设置:
db2 get dbm cfg for dbname
--------------------------------------------------------------------------------------------------------------
- | Log file size (4KB) (LOGFILSIZ) = 10000
- | Number of primary log files (LOGPRIMARY) = 20
- | Number of secondary log files (LOGSECOND) = 10
- | Changed path to log files (NEWLOGPATH) =
- | Path to log files = /data1/instwip/
- | First active log file = S0006578.LOG
- 日志空间大小=LOGFILSIZ*LOGPRIMARY
2、更新LOGFILSIZ、LOGPRIMARY、LOGSECOND
db2 update db cfg for 数据库名称 for LOGFILSIZ using 参数值
db2 update db cfg for 数据库名称 for LOGPRIMARY using 参数值
db2 update db cfg for 数据库名称 using LOGSECOND 参数值
3、修改循环日志/归档日志
db2= update db cfg for 数据库名称 using LOGARCHMETH1 参数值
db2= update db cfg for 数据库名称 using FAILARCHPATH 参数值