扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
刚刚创建的DB2数据库就遇到了一个日志文件的错误:
db2 => insert into test_compress select * from test DB21034E 该命令被当作 SQL 语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回: SQL0964C 数据库的事务日志已满。 SQLSTATE=57011 |
在DB2中,可以用如下命令修改日志文件大小:
db2 => update db cfg for sample using LOGFILSIZ 50000 |
DB2的提示信息非常详细,告诉我们:对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。
其中,我们修改的参数logfilsiz 代表日志文件大小.
其缺省值在UNIX/Windows都为1000 个Block,我的数据库Block size为4k,50000个Block,大小约为195M:
D:\DB2\NODE0000\SQL00001\SQLOGDIR>ls -l total 1200048 -rwxrwxrwa 1 db2admin None 204808192 Jun 27 17:46 S0000000.LOG -rwxrwxrwa 1 db2admin None 204808192 Jun 27 17:25 S0000001.LOG -rwxrwxrwa 1 db2admin None 204808192 Jun 27 17:25 S0000002.LOG |
DB2的日志修改较Oracle简单,但是在一个繁忙的数据库中,等待所有进程退出数据库显然并不现实,所以可能日志修改生效需要等到下一次数据库重新启动;那么在本质上,Oracle的方法应该更为实用.虽然两者日志的作用可能不同.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者