刚刚创建的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:DB2NODE0000SQL00001SQLOGDIR>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的方法应该更为实用.虽然两者日志的作用可能不同.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267386/viewspace-371904/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/267386/viewspace-371904/