返回首页

gbase数据、南大通用产品文档:GBase8s需要日志记录的数据库服务器进程

更新日期:2024年09月11日

在 GBase 8s 运行时(处理事务、跟踪数据存储和确保数据一致性),GBase 8s 会自动为
所执行的一些操作生成逻辑日志记录。大多数时候,数据库服务器不会进一步使用逻辑日
志记录。但是,当数据库服务器需要回滚事务,例如在系统发生故障后运行快速恢复时,
逻辑日志记录将会很关键。逻辑日志记录是数据恢复机制的核心。
数据库服务器将逻辑日志记录存储在逻辑日志中。逻辑日志由逻辑日志文件组成,数据库
服务器在磁盘上管理它们,直至这些文件已安全地转为脱机(备份)。数据库服务器管理
员将保留已备份的逻辑日志文件,直至在数据复原期间需要用到这些文件,或直至管理员
决定不再需要这些记录用于复原。请参阅逻辑日志获取有关逻辑日志的更多信息。
逻辑日志记录本身长度可变。这就增加了可写入逻辑日志缓冲区中页的逻辑日志记录数。
但数据库服务器常常在页满之前清空逻辑日志缓冲区。有关逻辑日志记录格式的更多信
息,请参阅《GBase 8s 管理员参考》中有关解释逻辑日志记录的主题。
数据库服务器在执行各种恢复数据和确保数据一致性的函数时使用逻辑日志记录,如下所
示:
事务回滚
如果数据库正在使用事务日志记录,并且事务一定要回滚,那么数据库服务器使
用逻辑日志记录来还原事务期间所作更改。有关更多信息,请参阅事务日志记
录。
快速恢复
如果数据库服务器以不受控方式关闭,那么数据库服务器使用逻辑日志记录来恢
复自未将最旧的更新清空到磁盘以来发生的所有事务,以及回滚任何未落实的事
务。(当共享内存中和磁盘上的所有数据均相同时,它们在物理上是一致的。)
如果要将整个数据库服务器返回至最近逻辑日志记录之时的逻辑一致性状态,数
据库服务器会在快速恢复中使用逻辑日志记录。 (有关更多信息,请参阅检查点
之后的快速恢复。)
数据复原
数据库服务器使用最近存储空间和逻辑日志备份来重新创建数据库服务器系统,
直到最近备份的逻辑日志记录点为止。逻辑复原将应用上一次备份存储空间以来
的所有日志记录。
延迟检查
如果事务使用 SET CONSTRAINTS 语句将检查设置为 DEFERRED,那么数据库
服务器直至落实事务后才检查约束。如果在落实事务之时发生约束错误,那么数
据库服务器使用逻辑日志记录回滚事务。有关更多信息,请参阅《GBase 8s SQL

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 265 -
指南:语法》中的『设置数据库对象方式』。
级联删除
对参阅约束的级联删除使用逻辑日志记录可确保如果在删除子行之前删除父行时
系统发生故障,事务可回滚。有关主键和外键约束的信息,请参阅《GBase 8s
SQL 指南:教程》。
分布式事务
分布式事务所涉及的每个数据库服务器将保留事务的逻辑日志记录。即使在执行
该事务的其中一个数据库服务器上发生故障,该过程也可确保数据完整性和一致
性。有关更多信息,请参阅两阶段落实和逻辑日志记录。
数据复制
Data Replication 使用逻辑日志记录在主数据库服务器和辅助数据库服务器上维护
一致数据,从而使其中一个数据库服务器在另一数据库服务器发生故障时迅速用
作备份数据库服务器。有关更多详细信息,请参阅数据复制的工作原理。
Enterprise Replication
必须对 Enterprise Replication 使用数据库日志记录,因为它从逻辑日志记录中复
制数据。

GBase SQL 编辑器
此章节包括如何使用Visual
Studio 新建GBase 脚本文件,使用GBase
SQL
编辑器编辑脚本文件、执行SQL 语句和持久化脚本文件。

CARDINALITY 函数对集合包含的元素数目计数。可以将 CARDINALITY 函数与简单或嵌
套集合配合使用。将集合中的任何重复作为个别元素计数。下列查询显示一个查询,它
对 manager 表中的每一列返回 department 值和每个 direct_reports 集合中的元素数。
图: 查询
SELECT department, CARDINALITY(direct_reports) FROM manager;
图: 查询结果
department marketing 5

department engineering 7


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 95 -

department publications 4

department accounting 3
还可以从谓词表达式中对集合的元素数进行求值,如下所示。
SELECT department, CARDINALITY(direct_reports) FROM manager
WHERE CARDINALITY(direct_reports) < 6
GROUP BY department;
图: 查询结果
department accounting 3

department marketing 5

department publications 4