返回首页

gbase数据、南大通用产品文档:GBase8sonbar b 语法:备份

更新日期:2024年09月11日

使用 onbar -b 命令可备份存储空间和逻辑日志。
要运行 ON-Bar 命令,
您必须是 root 用户或 gbasedbt 用户,
或者是 UNIX™ 上 bargroup 组
的成员。
用途

示例:备份整个系统

示例:备份所有联机存储空间和逻辑日志

示例:执行增量备份

示例:备份指定的存储空间和所有逻辑日志

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 38 -

示例:备份文件中指定的存储空间列表

示例:备份逻辑日志

示例:物理备份
使用 ON-Bar 备份的语法

表 1. onbar -b 命令的选项
选项
描述
-b
指定一个备份
备份存储空间和逻辑日志,包括当前逻辑日志。
dbspace_list
指定要备份的存储空间,以空格分隔。
如果没有输入 dbspace_list 或 -f filename,
ON-Bar 会备份数据库服务器上所有联机的存储空间。
-c
关闭并备份当前逻辑日志和其他所有逻辑日志。
-C
启动连续日志备份。
因为连续日志备份将无限期运行以等待逻辑日志填满,所
以请保留专用存储设备和终端窗口。
要停止连续日志备份,请使用中断命令(例如,CTRL-C 或
SIGTERM)停止 ON-Bar 进程。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 39 -
选项
描述
-cf
指定是否备份关键文件。
有效值为:

yes = 备份关键文件。该值为执行 0 级、1 级或
2 级备份时的缺省值。

no = 不备份关键文件。该值为备份逻辑日志文件
时的缺省值。

only = 仅备份关键文件。
-ffilename
备份 filename 值所指定的文本文件中列出的存储空
间。
使用该选项以避免每次备份时都要输入一长串存储空间。
有关更多信息,请参阅文件中的存储空间列表。
-F
执行伪备份
存储管理器应用程序不是必需的。
实际上并没有发生备份,
因此不可能从伪备份进行恢复。如果确实需要伪备份,请
酌情少量使用。伪备份可能在以下情况下适用:

更改数据库日志记录方式

将 RAW 表更改为 STANDARD 表

允许用户在不执行备份的情况下使用新的日志、块
或镜像

在您作为管理员判定不需要备份的特殊情况下
-L
指定要在存储空间上执行的备份级别:

0 = 完整备份(缺省值)

1 = 自上次 0 级备份以来的更改

2 = 自上次 1 级备份以来的更改

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 40 -
选项
描述
如果您请求增量备份,而 ON-Bar 发现没有为特定存储
空间执行前一级的备份,那么 ON-Bar会对该存储空间执
行前一级的备份。例如,如果请求 1 级备份,
而 ON-Bar 未找到 0 级备份,那么它会转而进行 0 级
备份。
-l
执行对所有逻辑日志文件的备份。
当前逻辑日志文件未备份。
如果使用的是 Storage Manager,它还会备份 Storage
Manager 目录。
-O
覆盖常规备份限制。
当 Blob 空间处于脱机状态时,
使用该选项备份逻辑日志。

如果 Blob 空间脱机时发生日志备份,
返回码 178 将显示
在 ON-Bar 活动日志中。
-p
仅备份物理存储空间,而不备份逻辑日志。
会将警告消息写入活动日志,以列出恢复存储空间时所需
的最新日志文件的日志唯一标识。如果逻辑日志是连续进
行备份的,请使用此选项。如有必要,将启动日志开关,
以便可以备份此日志。如果当前的日志比最近一次存储空
间的归档检查点日志新,那么不会启动日志开关。
-s
数据库服务器发生故障后,回收磁盘上现有的所有逻辑日
志。当服务器处于脱机状态时,可以运行onbar -l -s 命
令。
如果可能,替换损坏的磁盘前请使用该选项。如果使
用 onbar
-r 在未损坏的磁盘上执行冷恢复,
ON-Bar 将
自动回收逻辑日志。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 41 -
选项
描述
-w
备份整个系统,其中包含基于单个检查点的所有存储空间
和逻辑日志。
备份的时间与备份信息存储在一起。
在整个系统的备份中,
所有存储空间中的数据是一致的,因此,不再需要恢复逻
辑日志。如果不保存逻辑日志,您必须 使用 -w 选项。

用途
在备份数据之前,请通过运行 oncheck -cD 命令来确保您的数据是一致的。
要运行 ON-Bar 命令,您必须是 root 用户或 gbasedbt 用户,或者是 UNIX 上 bargroup 组
的成员。有关更多信息,请参阅 ON-Bar 安全性。
当数据库服务器处于联机、停顿或快速恢复方式时,可以备份存储空间和逻辑日志。
存储空间块可以存储在原始磁盘存储空间上、熟文件中。
仅备份联机的存储空间。使用 onstat -d 命令来确定哪些存储空间是联机的。备份期间,如
果 ON-Bar 遇到关闭的数据库空间,
它将跳过并随后返回一个错误。
如果存储空间处于脱机
状态,请在存储空间回到联机状态时重新启动备份。
开始备份 后,在 ON-Bar 活动日志和数据库服务器消息日志中监视其进度。
可以单独备份逻辑日志或与存储空间一起备份。一旦逻辑日志填满,请立即对其进行备份,
这样就可以复用这些日志,并防止在包含这些日志的磁盘丢失时发生数据丢失。如果日志
文件填满,数据库服务器将暂停,直到备份了逻辑日志为止。可以手动备份逻辑日志,也
可以运行 onbar -b -C命令来启动连续逻辑日志备份。逻辑日志备份始终是 0 级的。关闭当
前逻辑日志后就可以对其进行备份。
如果执行整个系统的备份与恢复,那么无需恢复逻辑日志。但是,请在使用整个系统的备
份时备份逻辑日志。这些日志备份允许您将数据恢复到整个系统备份后的某一时间,从而
使数据丢失降到最低限度。
如果要运行连续的逻辑日志备份,
然后启动整个系统备份,
那么 ON-Bar 进程会尝试保存逻
辑日志。由于连续的逻辑日志备份正在运行,因此会返回错误消息以指示逻辑日志备份已
在运行,且整个系统备份会返回非零错误代码。在这种情况下,逻辑日志只会备份一次。
要避免该错误,请使用onbar -b -w -p 命令创建物理备份。
要在 ON-Bar 中备份特定表或一组表,
请将这些表存储在单独的数据库空间中,
然后备份该
数据库空间。或者,您也可以使用 archecker 实用程序执行表级别恢复。

示例:备份整个系统

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 42 -
以下命令在执行所有联机存储空间和逻辑日志的检查点后执行整个系统的 0 级备份:
onbar -b -w
以下命令执行整个系统的 1 级备份:
onbar -b -w -L 1

示例:备份所有联机存储空间和逻辑日志
以下命令执行所有联机存储空间和已用逻辑日志的标准 0 级备份:
onbar -b

示例:执行增量备份
以下命令执行标准 1 级备份:
onbar -b -L 1

示例:备份指定的存储空间和所有逻辑日志
以下命令对名为 fin_dbspace1 和 fin_dbspace2 的数据库空间以及所有逻辑日志执行 0 级备
份:
onbar -b fin_dbspace1 fin_dbspace2

示例:备份文件中指定的存储空间列表
以下名为 listfile3 的样本文件包含要备份的存储空间列表:blobsp2.1、my_dbspace1、
blobsp2.2、dbsl.1、rootdbs.1 和 dbsl.2。
blobsp2.1
# a comment ignore this text

my_dbspace1 # back up this dbspace
; another comment
blobsp2.2 dbsl.1
rootdbs.1 dbsl.2 ; backing up two spaces
以下命令备份 listfile3 文件中列出的存储空间:
onbar -b -f listfile3

示例:备份逻辑日志
以下命令启动手动逻辑日志备份:

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 43 -
onbar -b -l
以下命令备份当前逻辑日志文件:
onbar -b -l -c

示例:物理备份
以下命令备份所有存储空间,而不备份任何逻辑日志:
onbar -b -p -L 0
会将警告消息写入 ON-Bar 活动日志文件中,
说明该日志文件备份未启动。
该消息还包含恢
复存储空间时所需的最新日志文件的日志唯一标识。所需的最新日志文件包含最近一次备
份的数据库空间的归档检查点。
示例消息:
2011-12-14 09:30:35 14277 14275 (-43354) WARNING: Logical logs were
not backed up as part of this operation. Logs through log unique ID 9
are needed for restoring this backup. Make sure these logs are backed
up separately.

文件中的存储空间列表
您可以在文件中列出要备份或恢复的存储空间。
filename 值可以是任何有效的 UNIX™ 文件名:

简单文件名,例如:listfile_1

相对文件名,例如:../backup_lists/listfile_2 或 ..\backup_lists\listfile2

绝对文件名,例如:/usr//backup_lists/listfile3 或 c:\\backup_lists\listfile3
文件的格式规则如下:

如果要恢复块,那么列出不带路径的存储空间名称。每行可以列出多个存储空间,
用空格或制表符分隔。

如果要重命名块,那么列出旧块路径名、旧偏移量、新块路径名和新偏移量。在每
项之间放置一个空格或一个制表符。将每个块的信息置于单独的行上。

注释以 # 或 ; 符号开头,并继续到当前行的结尾。

ON-Bar 将忽略文件中的所有注释和空白行。

备份期间使用 Storage Manager

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 44 -
使用 ism_watch 命令可监视发送到 Storage Manager 服务器的备份与恢复。在备份期间,
Storage Manager 服务器自动将存储空间数据路由到 ISMData 卷池中的卷,并将逻辑日志
文件路由到 ISMLogs 卷池中的卷。

始终保持 ISMLogs 池中有安装的卷,
以确保存储设备总是可用于接受逻辑日志数据。
如果
未安装此卷,备份会暂停。有关使用设备和 Storage Manager 命令的更多信息,请参阅
《GBase 8s Storage Manager 管理员指南》。
备份操作期间,Storage Manager 会创建已备份数据的保存集并在 Storage Manager 目录中
输入有关已备份数据的信息。您还可以使用 ism_catalog -create_bootstrap 命令来备份
Storage Manager 目录:
如果使用 onbar 脚本备份存储空间和逻辑日志,将自动备份 Storage Manager 目录。如果
直接调用 onbar_d,那么必须使用 ism_catalog -create_bootstrap 命令。

备份 Blob 空间
您可以在使用事务日志记录的数据库中备份 Blob 空间。
备份新的 Blob 空间之前,确保对 Blob 空间创建进行了记录的日志文件不再是当前的日
志文件。您可以运行 onstat -l 命令来验证逻辑日志状态。
当用户更新或删除 Blob 空间中的简单大对象时,直到释放了包含删除记录的日志文件后
才能释放 Blob 页以重新使用。必须备份日志文件才能将其释放。
重要: 如果在更新或删除没有备份逻辑日志的 Blob 空间的数据后对该 Blob 空间执行热恢
复,那么该 Blob 空间可能无法恢复。
要备份 Blob 空间:
1. 通过运行 onstat -l 或 xctl onstat -l 命令来验证逻辑日志的状态。
2. 通过运行 onmode -l 命令来切换到下一个日志文件。
3. 备份逻辑日志:

如果 Blob 空间是联机的,请运行 onbar -b -l -c 命令。

如果 Blob 空间是脱机的,请运行 onbar -b -l -O 或 onbar -b -O 命令。如果备
份成功,ON-Bar 将返回 178。
4. 通过运行 onbar -b 或 onbar -b -w 命令来备份 Blob 空间。

语法

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
478
CREATE
RESOURCE
POOL
[vc_name.]
(pool_attribute=value [, ...])
TYPE {static|dynamic} [BASE ON ]
其中,base on 在创建动态资源池时使用,parent_pool_name 为
动态资源池隶属的静态资源池名称。pool_attribute 的value 值可以为:
[ priority={1|2|3|4|5|6|7|8 } ]
< cpu_percent=integer >
< max_memory=integer >
< max_temp_diskspace=integer >
< max_disk_space=integer >
< max_disk_writeio= integer >
< max_disk_readio=integer >
[ max_activetask=integer ]
[ task_max_parallel_degree=integer ]
[ task_waiting_timeout=integer ]
[ task_running_timeout=integer ]
表4- 83 参数说明
参数名称
说明
priority
1.
优先级,共分8 级,1 为最高,8 为最低,视为保
留参数,建议统一配置为1;
2.
此优先级只针对CPU 设置。
cpu_percent
1.
使用CPU 资源的百分比,
以整数表示,
范围为[1,
100];
2.
对于静态资源池为CPU 百分比带宽控制(可参
考linux cgroup/cpu 中cpu.cfs_quota_us 参数说明,
计算公式为cpu.cfs_quota_us = (cpu_cores
*
cpu.cfs_period_us) * cpu_percent );
3.
对于动态池为CPU 使用权重控制(可参考
linux/cgroup 中cpu.shares 参数说明,计算公式
为cpu.shares = 1024 * cpu_percent)。
max_memory
1.
算子buffer 的使用总量上限,设置单位为M。动
态池总值应小于或等于其所在静态池设定;
2.
如果单条sql 有多个算子,
并且有多条sql 并发执
行,总的算子buffer 使用量超过了资源池配置的

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
479
参数名称
说明
内存总量,则后续sql 任务报错处理;
3.
若不控制内存,建议设置值大于(物理内存
+SWAP)的和值。
max_temp_diskspace
1.
池中单个任务执行过程中可使用临时磁盘量,设
置单位为M;
2.
若不控制占用临时磁盘大小,建议设置值大于物
理磁盘空间大小;
3.
该参数为必填参数,设置得动态池参数总和不能
超过静态池参数。
max_disk_space
1.
该资源池关联的所有用户的表空间占用磁盘总
和,设置单位为M;
2.
若不控制磁盘空间,建议设置值大于物理磁盘空
间大小;
3.
该参数为必填参数,设置的动态池参数总和不能
超过静态池参数。
max_disk_writeio
1.
池中任务对所有磁盘访问的写速率限制,设置单
位为MB/S,此参数必须与DC 同步I/O 控制参

_gbase_dc_sync_size 配合使用才生效;
2.
gbase_dc_sync_size 须小于等于所有动态池中设
置的
max_disk_writeio 值,建议_gbase_dc_sync_size=1
M (DC 同步I/O 控制详细介绍请参看本小节的说
明部分);
3.
若不控制此项,建议设值置大于物理磁盘写性能
理论值;
4.
设置动态池总值应小于或等于其所在静态池设
定。
max_disk_readio
1.
池中任务对所有磁盘访问的读速率限制,设置单

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
480
参数名称
说明
位为MB/S;
2.
若不控制此项,建议设置值大于物理磁盘读性能
理论值;
3.
动态池总值应小于或等于其所在静态池设定。
max_activetask
1.
此参数为动态资源池专属,表明同时池中可并发
任务数,缺省值为20,可根据内存设置该参数,
每个任务的内存使用量限制= max_memory /
max_activetask;
2.
该参数如果过大会使得每个任务内存使用量下
降,导致任务执行失败;
3.
如果下发任务数大于此参数值,则多出的任务进
入等待队列。
task_max_parallel_degree
1.
池中任务执行并发度,缺省为0。即资源池不控
制并发度大小,并发度由集群参数
gbase_parallel_degree 控制(可参考

语法图使用特殊组件描述语句和命令的语法。