数据库事务日志的最大大小
数据库事务日志的最大大小由数据库的三个配置参数决定,分别是“主日志文件的数目”(LOGPRIMARY)、“辅助日志文件的数目” (LOGSECOND)和“日志文件大小(4KB)”(LOGFILSIZ)。
数据库事务日志的最大大小的计算公式如下所示:
数据库事务日志的最大大小的计算公式
数据库事务日志的最大大小 = ( LOGPRIMARY + LOGSECOND )* LOGFILSIZ * 4KB
LOGSECOND 在这个公式中不能设为 “ -1 ” ,“ -1 ”代表你在请求一个无限的活动日志空间,数据库也不会报数据库事务日志已满错误,如果空间不足则会报日志磁盘已满错误,
具体如本章第五节所述。下面我们具体看一下这三个参数:
主日志文件的数目 LOGPRIMARY
此数据库配置参数用来指定要预分配的主日志文件个数。主日志文件建立分配给恢复日志文件的固定存储器数量。在循环日志管理模式下,数据库事务将按顺序重复使用主日志,
也就是当一个主日志已满时,顺序使用下一个主日志,如果主日志已满,则按需一次分配一个辅助日志,辅助日志在使用完后,将被释放。如果你发现数据库会经常分配辅助日志文件,
则可能需要通过增大日志文件大小或增大主日志文件的数目来提高系统性能。
辅助日志文件的数目 LOGSECOND
此数据库配置参数用来指定按需分配的辅助日志文件个数。尽量不要把此参数的值设置成“ -1 ” ,“ -1 ”代表你在请求一个无限的活动日志空间,数据库也不会报数据库事务日志已满错误,
如果空间不足则会报日志磁盘已满错误。
日志文件大小 LOGFILSIZ
此数据库配置参数用来指定日志文件的大小。
当出现事务日志已满的错误时,需要调整以上的参数。如果调整LOGFILSIZ参数,需要重新连接数据库,这时候可以到active log的空间看看有没有产生出相应大小的调整大小后的日志文件。如果出现,表示调整成功,这时候再执行需要的事务。