逻辑日志是写入密集型的。如果对包含逻辑日志文件的数据库空间制作镜像,那么您会遭遇双写入的性能轻微降级。但是,可以通过选择适当的逻辑缓冲区大小和日志记录方式将日志记录生成 I/O 请求的速率调整到特定范围。
有关轻微的双写入性能降级的详细信息,请参阅考虑对关键数据组件使用镜像。
使用未缓冲且符合 ANSI 的日志记录时,对每个落实的事务,数据库服务器都会请求将日志缓冲区清空到磁盘(如果镜像了数据库空间,那么清空到两个磁盘)。缓冲日志记录生成的 I/O 请求远少于无缓冲或符合 ANSI 的日志记录生成的 I/O 请求。
用无缓冲日志记录,日志缓冲区只有在它被填充并且所包含的全部事务都已完成后才写入到磁盘中。如果增加逻辑日志缓冲区的大小,还可以进一步降低逻辑日志 I/O 的频率。但是,缓冲日志记录将事务保存在任何部分填充的缓冲区中,这种缓冲区在系统出现故障时很容易丢失数据。
虽然缓冲日志记录可以保证数据库的一致性,但在出现故障时无法保证特定的事务。逻辑日志缓冲区越大,在出现故障后复原服务时需要重新执行的事务也就越多。
与物理日志不同,您不能在初始数据库服务器配置中,为逻辑日志文件指定备用的数据库空间。反之,先使用 onparams 实用程序将逻辑日志文件添加到备用数据库空间,然后从根数据库空间删除逻辑日志文件。