GBase 8s数据库的事务日志记录:

数据库服务器可保持对在事务期间数据库服务器对数据库进行的每一更改的记录。如果发 生了取消该事务的情况,则数据库服务器自动地使用这些记录来撤销更改。许多原因可导 致事务失败。

例如,发出 SQL 语句的程序可失败或被终止。数据库服务器一发现事务失败,失败可能就在重新启动计算机和数据库服务器之后发生,它就使用来自该事务的记录 来将数据库返回到之前的同一状态。 保存事务的记录的过程称为事务日志记录,或简称为日志记录。事务的记录,称为日志记 录,保存在与数据库分开的磁盘空间部分中。此空间称为逻辑日志,因为该日志记录表示 事务的逻辑单元。 GBase 8s 提供下列支持:

  • 在日志记录数据库中创建无日志记录(raw)或日志记录(standard)的表。
  • 使用 ALTER TABLE 语句将表从无日志记录改变为日志记录,或相反。

为了快速加载非常大的表,GBase 8s 支持无日志记录的表。建议您在事务内不使用无日志 记录的表。要避免并发问题,在您在事务中使用表之前,请使用 ALTER TABLE 语句来使 该表成为standard(即,日志记录)。 要获取关于 GBase 8s 的无日志记录的表的更多信息,请参阅《GBase 8s 管理员指南》。 要了解无日志记录的表的性能优势,请参阅《GBase 8s 性能指南》。要获取关于ALTER TABLE语句的信息,请参阅 GBase 8s SQL 指南:语法。

大多数GBase 8s 数据库不会自动地生成事务记录。DBA 决定数据库是否使用事务日志记录。没有事务日志记录,您就不可回滚事务。 日志记录和级联删除 为了使级联删除起作用,必须在您的数据库中打开日志记录,因为当您指定级联删除时, 首先在父表的主键上执行删除。如果在执行父表的主键的行删除之后,但在删除子表的外 键的行之前,系统出现故障,则违反引用完整性。如果关闭日志记录,即使是临时地关闭, 也不会级联删除。然而,在重新打开日志记录之后,又可级联删除。 GBase 8s 允许您使用 CREATE DATABASE 语句中的 WITH LOG 子句来打开日志记录。