2016年7月13日by 杰克·范瓦斯(Jack Vamvas)
题: 我正在查看db2diag.log中的消息,并确定了一些重复出现的ADM5530W NOT LOGGED INITIALIALLY消息
ADM5530W表的COMMIT处理"myschema.mytable"
初始化为NOT LOGGED INITIALIALLY的程序已启动。 It is recommended
您对此表进行了备份's table space(s).
他们的意思是什么?
回答: 主要目的 最初未记录 是为了限制事务的日志记录。
如果最初未记录 并且有一个:CREATE INDEX,DROP INDEX,ALTER TABLE,INSERT,DELETE或UPDATE ,这些将不会被记录。
这并不意味着有错误,而是预期的行为 最初未记录 .
作为开发人员,您需要权衡使用NOT LOGGED INITIALLY的好处和潜在的缺点。
最初不记录的主要优点之一得到了改善 性能 某些操作和减少的事务日志数量。
主要缺点之一是,如果服务器崩溃,并且事务上没有COMMIT,那么到DB2保存点的ROLLBACK将无法工作。 此外,在将日志从一台服务器传递到另一台服务器的HADR环境中,未记录的操作将不会反映在STANDBY服务器上
另一个缺点是档案记录情况
需要考虑何时不进行初始记录是合适的。这些是一些建议:
1)有一个数据加载过程,其中包含一系列来源
2)有些复杂的计算需要临时表,可以将其丢弃
3)有限空间驱动器配套 DB2 数据库事务日志。
Posted by: |