返回首页

gbase数据、南大通用产品文档:GBase8a* 乘法

更新日期:2024年09月11日

示例
示例1:两个操作数都是整型。
gbase> SELECT 3*5 FROM dual;
+-----+
| 3*5 |
+-----+
|
15 |
+-----+
1 row in set

尽管 GBase 8s SQL API 产品允许您将 SQL 嵌入在主语言中,
但某些语言包括 SQL 作为
它们的语句集的固有部分。GBase 8s “存储过程语言”(SPL)使用 SQL 作为它的语句
集的固有部分。您使用 SQL API 产品编写应用程序。您使用 SPL 编写例程,例程与数据
库一起存储并从应用程序调用它。

当您初始化或重新启动数据库服务器时,该服务器将创建您在 LOGFILES 配置参数中所指
定数量的逻辑日志文件。这些日志文件是您在 LOGSIZE 参数中指定的大小。
动态添加逻辑日志文件
DYNAMIC_LOGS 配置参数确定数据库服务器何时将动态添加逻辑日志文件。当您使用
DYNAMIC_LOGS 的缺省值 2 时,如果下一个活动日志文件包含最旧打开事务的开头,那
么数据库服务器将动态添加新的日志文件并将警报设置为关闭。
数据库服务器将在以下时刻检查逻辑日志空间:

在切换到新日志文件后

在逻辑恢复的事务清除阶段开始时

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 305 -
如果 DYNAMIC_LOGS 参数设置为 1 并且下一个活动日志文件包含来自打开事务的记
录,那么数据库服务器将提示您手动添加日志文件并将警报设置为关闭。在您添加日志文
件后,数据库服务器将重新开始处理事务。
如果 DYNAMIC_LOGS 参数设置为 0 并且在长事务回滚过程中逻辑日志文件耗尽了空
间,那么该数据库服务器可能挂起。(长事务将防止第一个逻辑日志文件变为空闲并防止
其可用于重新使用。)要修复该问题并完成长事务,请将 DYNAMIC_LOGS 设置为 2 并
且重新启动数据库服务器。
有关更多信息,请参阅监视动态添加的日志的事件和设置用于回滚长事务的高水位标志
动态添加的日志文件的大小和数量
动态日志的用途是添加足够的日志空间,以允许回滚事务。在动态添加日志文件时,数据
库服务器使用以下因素来计算日志文件的大小:

平均日志大小

可用的连续空间量
如果逻辑日志空间过小,那么数据库服务器将按需添加尽可能多的日志文件,以回滚事务。
日志文件的数目由以下条件限制:

支持的最大数目的日志文件

日志文件的磁盘空间量

Root 块中可用的连续空间量
如果数据库服务器因为耗尽磁盘空间而停止添加新日志文件,它会写入错误消息并发出警
报。向现有数据库空间添加数据库空间或块。然后数据库服务器会自动重新开始处理事务。

Root 块中的保留页存储有关每个日志文件的信息。在添加更多日志文件时,包含该信息的
扩展数据块会扩展。Root 块需要两个 1.4 兆字节的扩展数据块,各用于跟踪 32,767 个
日志文件(支持的最大数目)。
如果在还原期间要从非 Root 块分配块保留页扩展数据块,那么服务器会尝试将其放回
Root 块中。如果在 Root 块中没有足够空间可用,还原将失败。包含所需空间的消息会显
示在联机日志中。所需空间必须在再次尝试还原之前从 Root 块中释放。
动态添加的日志文件的位置
数据库服务器按以下搜索顺序在数据库空间中分配日志文件。一个数据库空间如果包含逻
辑日志文件或物理日志,就可成为关键的数据库空间。
途径 分配日志文件的位置
1 包含最新日志文件的数据库空间
(如果该数据库空间已满,数据库服务器会搜索其他数据库空间。)
2 包含日志文件的镜像数据库空间(但根数据库空间除外)

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 306 -
3 所有已经包含日志文件的数据库空间(根数据库空间除外)
4 包含物理日志的数据库空间
5 根数据库空间
6 任何镜像数据库空间
7 任何数据库空间
如果不想使用此搜索顺序来分配新的日志文件,那么必须将 DYNAMIC_LOGS 参数设置
为 1 并在要用于新日志的位置运行 onparams -a -i。有关详细信息,请参阅监视动态添加的
日志的事件。
手动添加逻辑日志文件
可以使用 onparams 命令或 ON-Monitor 来添加逻辑日志文件。
您可以为以下原因而手动添加逻辑日志文件:

增加分配给逻辑日志的磁盘空间

更改逻辑日志文件的大小

允许打开的事务回滚

作为将逻辑日志文件移至不同数据库空间的操作的一部分
限制: 您不能执行以下操作:

向 BLOB 空间或智能大对象空间添加日志文件。

向具有非缺省页大小的数据库空间添加逻辑或物理日志。
一次添加一个,
最多向任一数据库空间添加 32,767 个逻辑日志文件。
一旦您向数据库空间
添加了日志文件,该空间就成为关键数据库空间。您可以在存储空间备份期间添加逻辑日
志文件。
您可以在以下任一位置添加逻辑日志文件:

文件列表的末尾(使用 onparams -a 命令)

当前逻辑日志文件之后(使用 onparams -a -i 命令)
要使用 onparams 添加逻辑日志文件,请执行以下操作:
1. 以用户 gbasedbt 或 root 的身份(在 UNIX™ 上)。
2. 请确保数据库服务器处于联机、管理、静默或快速恢复方式的清除阶段。
数据库服务器在清除阶段将以下消息写入日志:
Logical recovery has reached the transaction cleanup phase.
3. 决定要将日志文件添加到日志文件列表的末尾还是添加到当前日志文件之后。
无论 DYNAMIC_LOGS 参数值为多少,
您都可以在当前日志文件后插入日志文件。
添加新大小的日志文件不会更改 LOGSIZE 的值。

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

以下命令使用 LOGSIZE 配置参数指定的日志文件大小将逻辑日志文件添加
到 logspace 数据库空间中逻辑日志文件列表的末尾:
onparams -a -d logspace

以下命令将 1000 KB 的逻辑日志文件插入 logspace 数据库空间中的当前日志
文件之后:
onparams -a -d logspace -s 1000 -i

要添加具有新大小(此例中为 250 KB)的逻辑日志文件,请运行以下命令:
onparams -a -d logspace -s 250
4. 使用 onstat -l 检查日志文件状态。
新日志文件的状态为 A,且立即可用。
5. 下次必须备份数据时,请对根数据库空间和包含新日志文件的数据库空间执行 0
级备份。
虽然在添加日志文件后不再需要立即备份,但因为数据结构已更改,所以下一次备
份必须为 0 级备份。有关备份数据的信息,请参阅《GBase 8s 备份与复原指南》。

有关使用 onparams 来添加逻辑日志文件的更多信息,请参阅 《GBase 8s 管理员参考》。
使用 ON-Monitor 添加逻辑日志文件 (UNIX)
1. 请遵循手动添加逻辑日志文件中有关添加日志文件的指示信息,只是使
用 ON-Monitor 来代替 onparams。
2. 请选择参数 > 添加日志来添加逻辑日志文件。
3. 在标为数据库空间名称的字段中,输入新逻辑日志文件将位于的数据库空间的名
称。
逻辑日志大小字段中将自动包含日志文件的大小。新的日志文件始终是由
LOGSIZE 指定的值。