返回首页

gbase数据、南大通用产品文档:GBase8s释放逻辑日志文件

更新日期:2024年09月11日

如果日志文件是新添加的(状态 A),那么可立即使用该文件,也可立即删除。
您可能希望为以下原因而释放逻辑日志文件:

使数据库服务器不停止处理

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

释放已删除的 BLOB 页所用的空间
释放日志文件的过程根据日志文件的状态而变化。每个过程均在以下主题中进行了描述。
要查明逻辑日志文件的状态,请参阅逻辑日志文件的状态标志和监视日志记录活动。
提示: 有关使用 ON-Bar 或 ontape 以备份存储空间和逻辑日志的信息,请参阅《GBase 8s 备份与复原
指南》。
删除状态为 D 的日志文件
当删除已使用的日志文件时,该文件将标记为已删除(状态为 D)且无法再次使用,同时
onparams 将打印以下消息:
Log file log_file_number has been pre-dropped. It will be deleted from the log list and its
space can be reused once you take level 0 archives of all BLOBspaces, Smart
BLOBspaces and non-temporary DBspaces.
必需具有 0 级归档,以确保日志文件本身以及不同数据库空间中的所有关联信息都已归
档。在 0 级归档的结束后会删除日志文件;但是,由于除去日志文件本身属于磁盘上根保
留页结构中的更改,因此下一次执行的归档也必须是 0 级归档。必须先执行 0 级归档,
然后才能执行 1 级或 2 级归档。

释放状态为 U 的日志文件
如果日志文件包含记录但尚未备份(状态为 U),请使用通常使用的备份工具来备份该文
件。
如果备份日志文件无法将状态更改为可用 (F),
那么其状态会更改为 U-B 或 U-B-L。
请参
阅释放状态为 U-B 或 F 的日志文件或释放状态为 U-B-L 的日志文件。

释放状态为 U-B 或 F 的日志文件
如果日志文件已备份但仍在使用中(状态为 U-B),那么说明日志文件中的某些事务仍在
进行,
或日志文件包含快速恢复所需的最旧更新。
由于过去已使用过状态为 F 的日志文件,
因此该文件将与状态为 U-B 的日志文件一样遵循相同的规则。
要释放正在使用的已备份日志文件,请执行以下操作:
1. 如果您不希望等待至事务完成,可将数据库服务器切换到静默方式。
请参阅立即从联机更改到静默方式。任何活动的事务将回滚。
2. 使用 onmode -c 命令以强制产生一个检查点。执行此操作的原因是状态为 U-B 的
日志文件可能包含最旧的更新。
已备份但不在使用中(状态为 U-B)的日志文件无需释放。在以下示例中,日志 34 无需
释放,但日志 35 和 36 需要释放。日志 35 包含上一个检查点,而日志 36 已备份但仍
在使用中。
34 U-B-- Log is used, backed up, and not in use

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 302 -
35 U-B-L Log is used, backed up, contains last checkpoint
36 U-B-- Log is used, backed up, and not in use
37 U-C-- This is the current log file, not backed up
提示: 仅当逻辑日志没有通过活动的事务跨越并且不包含最旧的更新,您才能释放带有 U-B
(而非 L)状态的逻辑日志。

释放状态为 U-C 或 U-C-L 的日志文件
请遵循以下步骤来释放当前日志文件。
要释放当前日志文件(状态为 C),请执行以下操作:
1. 运行以下命令将当前日志文件切换到下一个可用的日志文件:onmode -l
2. 用 ON-Bar 或 ontape 备份原始日志文件。
3. 在备份了所有填满的日志文件后,
会提示您切换到下一个可用的日志文件并备份新
的当前日志文件。
因为刚刚切换到此日志文件,所以无需执行备份。
在释放当前日志文件后,如果日志文件的状态为 U-B 或 U-B-L,请参阅释放状态为 U-B
或 F 的日志文件或释放状态为 U-B-L 的日志文件。

释放状态为 U-B-L 的日志文件
如果日志文件已备份,并且其中的所有事务已关闭,但该文件还未释放(状态为 U-B-L),
那么此逻辑日志文件包含最近的检查点记录。可以释放状态为 U-B-L 的日志文件。
要释放状态为 U-B-L 的日志文件,数据库服务器必须创建新的检查点。 可以运行以下命
令来强制执行检查点:onmode -c
仅限 UNIX: 要用 ON-Monitor 强制执行检查点,请选择强制执行检查点选项。

SQLColAttributes 返回结果集章列的描述符消息。
它不能用于返回标记列的信息(列 0)。描述符消息作为字符串,32 位描述符相关值或整
数值返回。
下表描述了 SQLColAttributes 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01004
-11003
Data truncated
24000
-11031
Invalid cursor state
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1002
-11062
Invalid column number
S1008
-11065
Operation canceled
S1010
-11067
Function-sequence error
S1090
-11071
Invalid string or buffer length
S1091
-11072
Descriptor type out of range

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 214 -
SQLSTATE
错误值
错误消息
S1C00
-11092
Driver not capable
S1T00
-11094
Time-out expired
SQLColAttributes 可以返回 SQLPrepare 或 SQLExecute 在 SQLPrepare 之后,
SQLExecute 之前调用的任何 SQLSTATE。具体取决于数据源何时评估与 hstmt 关联的
SQL 语句。

数据库管理
在对数据库进行操作之前,应注意下列事项:



GBase 8a 管理工具手册
南大通用数据技术股份有限公司

- 21 -

必须拥有对该数据库操作的权限,即拥有 create、drop 等权限。

连接到已注册服务器

对数据库可以进行如下操作:

新建数据库

删除数据库

数据库属性

新建查询

生成脚本