db2开启归档日志、记录表等对象日志的方法
一.windows平台下:
1.开启归档
1.1.logretain方式
win -》开始 -》所有程序 -》 IBM DB2 -》BD2copy -》一般管理工具 -》 控制中心
-》 右键库名“TDB” -》 数据库配置找到 “日志” -》 logarchmeth1 -》左键点击“值” -》
-》更改数据库配置参数-logarchmeth1 -》 选择 “logretain” 确定(但这时,还没生效)。
1.2.非logretain方式
同上,在更改数据库配置参数-logarchmeth1 选择 DISK,并添加上备份路径即可,例如:F:\DB2\arch\
2.备份重启
在控制中心界面 -》备份数据库,做一次全备并重启数据库,就ok了。
(注:
备份数据库 db2 backup database basename to d:\basename
还原数据库 db2 restore database basename from d:\basename taken at 20190316083915 on d:\basename dbpath on d
)
3.结果验证
db2 get db cfg |findstr -i log
使用上述命令,分别显示如下:
3.1 logretain方式
logretain = RECOVERY
logarchmeth1 = LOGRETAIN
3.2 非logretain方式
logretain = OFF
logarchmeth1 = DISK:F:\DB2\arch\
即OK.
二.linux平台下:
1.归档方式选择
1.1 logretain方式
db2 update db cfg DB_NAME using LOGRETAIN ON
1.2.非logretain方式
db2 update db cfg DB_NAME using LOGARCHMETH1 “DISK:/opt/DB2/arch"
2.重启连接数据库,如有连接挂起,做一次离线全备就ok了,否则在线备份即可。
db2stop force db2start db2 connect to sample (如连接挂起,做一次离线全备) db2 backup database sample > /home/db2inst1/backup/ db2 connect to sample
3.结果验证
db2 get db cfg for sample |grep -i log
使用上述命令,分别显示如下:
3.1 logretain方式
LOGRETAIN = RECOVERY
LOGARCHMETH1 = LOGRETAIN
3.2 非logretain方式,显示
LOGRETAIN = RECOVERY
LOGARCHMETH1 = DISK:/opt/DB2/arch
即OK.
4. 重启数据库ok了。
三.开启DB2的对象日志捕获
如未打开,对应的表操作是不记录日志的。语法:
alter table <table_name> data capture changes
四.手动归档
db2 connect reset
db2 archive log for db sample