返回首页

gbase数据、南大通用产品文档:GBase8a14:58:

更新日期:2024年09月11日

node (172.168.83.14)
backup database begin

取值:[0|1]
默认值:1
说明:是否使用新的物化表。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

本实例说明了手动恢复所涉及的工作。 以下 SQL 语句由用户 nhowe 执行。 返回了错误
-698。
dbaccess
CREATE DATABASE tmp WITH LOG;
CREATE TABLE t (a int);
CLOSE DATABASE;
CREATE DATABASE tmp@apex WITH LOG;
CREATE TABLE t (a int);
CLOSE DATABASE;
DATABASE tmp;
BEGIN WORK;

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 525 -
INSERT INTO t VALUES (2);
INSERT INTO tmp@apex:t VALUES (2);
COMMIT WORK;
### return code -698
以下摘要引用自当前数据库服务器上的逻辑日志:
addr len type xid id link
.....
17018 16 CKPOINT 0 0 13018 0

18018 20 BEGIN 2 1 0 08/27/91 10:56:57
3482 nhowe


1802c 32 HINSERT 2 0 18018 1000018 102
4
1804c 40 CKPOINT 0 0 17018 1

begin xid id addr user

1 2 1 1802c nhowe

19018 72 BEGPREP 2 0 1802c 6d69 1

19060 16 COMMIT 2 0 19018 08/27/91 11:01:38

1a018 16 ENDTRANS 2 0 19060 580543
以下摘要引用自数据库服务器 apex 上的逻辑日志:
addr len type xid id link
.....
16018 20 BEGIN 2 1 0 08/27/91
10:57:07 3483 pault


1602c 32 HINSERT 2 0 16018 1000018 102
4

1604c 68 PREPARE 2 0 1602c eh

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 526 -

17018 16 HEURTX 2 0 1604c 1

17028 12 CLR 2 0 1602c

17034 16 ROLLBACK 2 0 17018 08/27/91 11:01:22

17044 40 CKPOINT 0 0 15018 1

begin xid id addr user
1 2 1 17034 --------

18018 16 ENDTRANS 2 0 17034 8806c3
....
首先您要尝试将当前数据库服务器日志中的事务与 apex 数据库服务器日志中的事务相匹
配。BEGPREP 和 PREPARE 日志记录均包含 GTRID。您可以通过使用 onlog -l 以及查看
BEGPREP 和 PREPARE 日志记录的数据部分来抽取 GTRID。GTRID 在数据部分中偏移
了 22 字节,长为 68 字节。更为简单但是准确度较低的方法是查看 COMMIT 或
ROLLBACK 记录的时间。 虽然由于将落实(或回滚)消息从协调者传输至参与者所用时
间而导致稍有延迟,但这两个时间必须很接近。(第二个方法缺乏准确度,因为虽然来自
同一协调者的并发事务很可能不在同一时间落实,但并发事务是可以在同一时间落实的。)

更正该样本情况
1. 查找所有已更新的记录。
2. 使用 onlog 和记录类型表来识别记录类型(插入、删除、更新)。
3. 使用每个记录的 onlog -l 输出以获取本地 xid、表空间数和行标识。
4. 通过将表空间数与 systables 系统目录表的 partnum 列中的值相比较,从而将表空
间数映射到表名。
5. 运用您的应用程序知识来确定需要哪一操作来更正该情况。
在本示例中,不同日志中 COMMIT 和 ROLLBACK 记录上的时间戳记很接近。没有其他
活动事务造成另一并发的落实或回滚的可能性。在这种情况下,当前数据库服务器上落实
了已分配行标识 102(十六进制)或 258(十进制)的插入 (HINSERT)。 因此,补偿事
务如下:
DELETE FROM t WHERE rowid = 258


GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 527 -
8 自动监视和更正操作概述
可以使用 SQL 管理 API、调度程序和向下钻取查询来管理自动维护、监视和管理任务。
GBase 8s 的这些组件简化了复杂系统中的信息收集和服务器维护。
SQL 管理 API
SQL 管理 API 用于通过 SQL 函数执行远程管理。因为 SQL 管理 API 操作完全
在 SQL 中执行,所以可在客户机工具中使用这些函数来管理数据库服务器。
调度程序
调度程序是一组任务,用于在预定义时间或按照服务器内部确定的时间来执行 SQL
语句。SQL 语句可以收集信息或监视和调整服务器。
向下钻取查询
向下钻取查询提供了有关最近执行的 SQL 语句的统计信息,以便跟踪各个 SQL 语
句的性能并分析语句历史记录。
可以在服务器 HDR 对的主服务器上使用 SQL 管理 API 和调度程序。
这些工具中的每一个工具都需要额外的磁盘空间以用于存储信息。
还可以使用基于 PHP 的 Web 浏览器管理工具 OpenAdmin Tool (OAT) (OAT) 从单一位
置管理多个数据库服务器实例。可以使用 OAT 执行的一些任务包括:

通过 SQL 管理 API 和调度程序定义和管理自动执行任务

为 SQL 语句的分析和调整创建并显示性能柱状图