返回首页

gbase数据、南大通用产品文档:GBase8s设置 ontape 实用程序的配置参数

更新日期:2024年09月11日

ontape 实用程序使用 onconfig 文件中的八个配置参数。其中有两个配置参数用于为备份与
恢复期间的数据变换指定过滤器程序;其他六个配置参数用于创建存储空间和逻辑日志备
份。
onconfig 文件位于 $GBS_DATA/conf 目录中。
ontape 的数据变换过滤器参数
BACKUP_FILTER 和 RESTORE_FILTER 配置参数指定了可用于在备份之前和恢复之后
变换数据的外部程序的名称。
BACKUP_FILTER
指定数据变换中所用外部过滤器程序的名称和位置。该过滤器在备份数据之前对其进
行变换(例如,将其压缩)。然后变换的数据将被备份,并且会存储成单个文件。过
滤器路径指向 $GBS_HOME/bin 目录(缺省值)或程序的绝对路径
RESTORE_FILTER
指定数据变换中所用外部过滤器程序的名称和位置。在数据返回至服务器之前,该过
滤器会将数据变换为备份之前的原始状态,例如,将其解压缩。过滤器路径指
向 $GBS_HOME/bin 目录(缺省值)或程序的绝对路径
先决条件: 该数据先前必须已使用 BACKUP_FILTER 参数进行变换。
有关语法和使用信息(与 ON-Bar 和 ontape 相同),请参阅 BACKUP_FILTER 配置参数
和 RESTORE_FILTER 配置参数。

ontape 的磁带和磁带设备参数
第一组配置参数指定用于存储空间备份的磁带设备和磁带的特征;第二组指定用于逻辑日
志备份的磁带设备和磁带的特征。
以下列表显示备份磁带设备以及相关的磁带参数。
TAPEDEV
用于存储空间备份的目录文件系统或磁带设备的绝对路径名称。指定 ontape 在归档
过程中写入存储空间数据的目标位置,以及 ontape在恢复过程中读取数据的源位
置。

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

要配置 ontape 以使用 stdio,将 TAPEDEV 设置为 STDIO。
在云环境中备份或恢复时,将以下语法用于 TAPEDEV 配置参数:
TAPEDEV 'local_path, keep=option, cloud=cloud_vendor, url=url'

local_path 是将存储空间备份对象临时存储在的目录的完整路径名。

option 可以设置为 yes 或 no。如果 keep 设置为 yes,那么 ontape 实用程序
将备份对象保留在本地目录中。如果 keep 设置为 no,那么在云存储位置中传
输备份对象后,会将这些对象删除。

cloud_vendor 是云存储供应商的名称。

url 是将存储空间备份数据永久存储在的云存储位置。
TAPEBLK
用于存储空间备份的磁带的块大小(以千字节为单位)。
TAPESIZE
用于存储空间备份的磁带的大小(以千字节为单位)。 值可以为 0 - 2,097,151。
以下列表显示逻辑日志磁带设备以及相关的磁带参数。
LTAPEDEV
逻辑日志磁带设备或文件系统目录。
在云环境中备份或恢复时,将以下语法用于 LTAPEDEV 配置参数:
LTAPEDEV 'local_path, keep=option, cloud=cloud_vendor, url=url'

local_path 是将日志备份对象临时存储在的目录的完整路径名。

option 可以设置为 yes 或 no。如果 keep 设置为 yes,那么 ontape 实用程序
将备份对象保留在本地目录中。如果 keep 设置为 no,那么在云存储位置中传
输备份对象后,会将这些对象删除。

cloud_vendor 是云存储供应商的名称。

url 是将日志备份数据永久存储在的云存储位置。
LTAPEBLK
用于逻辑日志备份的磁带的块大小(以千字节为单位)。
LTAPESIZE
用于逻辑日志备份的磁带的大小(以千字节为单位)。值可以为 0 - 2,097,151。
以下主题中包含如何为存储空间和逻辑日志备份设置磁带设备、磁带块大小和磁带大小参
数的相关信息。

设置磁带设备参数

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

通过以下方法指定 TAPEDEV 和 LTAPEDEV 的值:

尽可能使用不同的磁带设备。

使用符号链接。

指定文件系统的目录。

对于磁带设备,请指定 /dev/null。

将磁带设备倒带。

配置参数以对云存储执行备份。
下面几部分分别说明这些要点。

为存储空间和逻辑日志备份指定不同的设备
当备份到磁带设备时,请在 onconfig 文件中为 LTAPEDEV 和 TAPEDEV 参数指定不同
的设备。您可以单独调度这些备份。可以在一个设备上创建备份同时在另一个设备上连续
地备份逻辑日志文件。
如果为 LTAPEDEV 和 TAPEDEV 指定相同的设备,逻辑日志可能会填满,这将导致数
据库服务器在备份过程中停止处理。在这种情况下,您有两个选项:

停止备份,释放磁带设备,然后备份逻辑日志文件。

使标准处理处于暂挂状态,直到备份完成。
使用一个磁带设备时需要采取的预防措施
如果只有一个磁带设备,并要在数据库服务器处于联机状态下创建备份时,请采取以下预
防措施:

通过将许多或大型的逻辑日志文件组合起来,为数据库服务器配置大量的逻辑日
志空间。(请参阅《GBase 8s 管理员指南》。)

将所有显式创建的临时表存储在专用的数据库空间中,然后在备份前删除该数据
库空间。

在数据库活动较少时创建备份。

在开始备份前释放尽可能多的逻辑日志文件。
在备份完成前,逻辑日志可能会被填满。备份与检查点同步。备份可以等待检查点以使活
动同步,但直到所有虚拟处理器都退出关键段后,该检查点才会发生。当数据库服务器的
处理由于某个逻辑日志文件填满而发生暂挂时,虚拟处理器无法退出其关键段,从而导致
死锁。

将磁带设备指定为符号链接

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

可以将 LTAPEDEV 和 TAPEDEV 的值指定为符号链接。使用符号链接,您可以在不更
改 onconfig 文件中的路径名的情况下,切换到其他磁带或与磁带兼容的设备。例如:可以
为磁带设备 /dev/rst0 指定以下符号链接:
ln -s /dev/rst0 /dbfiles/logtape
当您如以下示例所示设置 LTAPEDEV 配置参数时,可以在不更改 LTAPEDEV 参数的
情况下切换到另一个设备:
LTAPEDEV /dbfiles/logtape
您只需要更改符号链接,如以下示例所示:
ln -s /usr/backups /dbfiles/logtape
使用磁带设备进行备份时,如果用户只具有一个磁带设备,那么可以将逻辑日志备份重定
向到磁盘文件。

指定文件系统目录
通过使用 ontape 实用程序,您可以在文件系统的目录中执行存储空间(0 级、1 级或 2
级)归档或逻辑日志备份。对于每个存储空间归档和逻辑日志备份,ontape 会在指定目录
中创建文件。
要指定文件系统目录,请将 LTAPEDEV 和 TAPEDEV 配置参数设置为目录的绝对路径
名。
当 ontape 重复归档操作时,它会重命名现有文件,以便不会重写旧的文件。时间戳记会添
加到文件名中,以便将相关存储空间或逻辑日志文件组织到一起。
要了解文件命名模式,请参阅重命名现有文件。

指定远程设备
在网络中执行存储空间或逻辑日志备份时,可以备份到与 UNIX™ 和 Linux™ 平台上另一
个主机相连的远程设备。
不应当执行到远程设备上的连续备份。
远程设备和数据库服务器计算机必须具有信任关系,以便 rsh 或 rlogin 实用程序从数据库
服务器计算机连接到远程设备计算机,而无需询问密码。您可以通过在远程设备计算机上
配置 /etc/hosts.equiv 文件、~/.rhosts 文件或系统的任何对等机制,建立信任关系。如果想
要使用您的平台所使用的缺省实用程序之外的其他实用程序来处理远程会话,那么可以
将 DBREMOTECMD 环境变量设置为要使用的特定实用程序。
要指定另一个主机上的磁带设备,请使用以下语法来设置 TAPEDEV 或 LTAPEDEV 配
置参数:
host_machine_name:tape_device_pathname
以下示例指定主机 kyoto 上的磁带设备:

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

kyoto:/dev/rmt01
有关远程设备上磁带大小的信息,请参阅远程设备的磁带大小。

为磁带设备指定 /dev/null
最好不要将 /dev/null 用作备份时使用的设备。但是,如果您决定不需要从逻辑日志恢复
事务,那么可以指定 /dev/null 作为逻辑日志备份的磁带设备
将 /dev/null 指定为备份磁带设备时,可以避免在某些操作(如更改数据库的日志记录状
态)后所需的 0 级备份的开销。显然,不能将存储空间从某个备份恢复到 /dev/null 上。
将磁带设备指定为 /dev/null 时,将忽略块大小和磁带大小。 如果您将 LTAPEDEV 配置
参数设置为 /dev/null 或从 /dev/null 更改为其他值,那么必须重新启动数据库服务器以使
新设置生效。
重要: 将 LTAPEDEV 配置参数设置为 /dev/null 时,一旦逻辑日志文件填满,数据库服务器
就将其标记为已备份,从而有效地放弃逻辑日志信息。

将 TAPEDEV 设置为 stdio
要将 ontape 实用程序配置为从标准输入读取或写入标准输出,请将 TAPEDEV 配置参数
设置为 stdio。

打开前和关闭时将磁带设备倒带
对于 ontape,必须使用可倒带的磁带设备。从磁带读取或向磁带写入之前,数据库服务器
将执行一系列需要倒带的检查。

指定磁带块大小
使用 TAPEDEV 和 LTAPEBLK 配置参数可指定您的磁带设备允许的最大块大小(以千
字节为单位)。
将磁带参数设置为 /dev/null 时,将忽略相应的块大小。
指定块大小时,ontape 实用程序将不检查磁带设备。请验证磁带设备是否可以读取您指定
的块大小。如果不能,您将无法恢复该磁带。

指定磁带大小
使用 TAPESIZE 和 LTAPESIZE 配置参数可指定可以写入磁带的最大数据量。
要写入到或读取到磁带设备的末端,请将 TAPESIZE 和 LTAPESIZE 设置为 0。您不能
使用远程设备的该选项。

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

将磁带设备指定为 /dev/null 时,将忽略相应的磁带大小。
这些参数值的范围为 0 - 2,097,151。

远程设备的磁带大小
您可以估算能够存储在远程设备上的磁带中的连续逻辑日志备份数据量。
在对远程设备执行连接逻辑日志备份时,写入磁带的数据量是 LTAPESIZE 和通过以下公
式得出的数量二者中的较小值:
(磁盘上所有逻辑日志文件占用的总空间)-
(最大逻辑日志文件)
远程设备的 I/O 完成后,数据库服务器在日志填满条件发生前释放这些逻辑日志文件。
限制: 远程设备的磁带大小不能设置为 0。

在 Windows™ 环境中,GBase 8s ODBC Driver 提供 GUI 来配置 DSN。
要配置 DSN,请:

选择一个过程来修改 DSN:

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 39 -
o
选择“用户 DSN”选项来限制一个用户的访问。
o
选择“系统 DSN”选项来限制系统用户的访问。
o
选择“文件 DSN”选项以允许网络上所有用户的访问。

键入“DSN 配置”值,来创建 DSN,诸如数据源名称、数据库服务器名称和
数据库语言环境。
对于值的描述,请参阅后面的两个表。以它们在每一部分中出现的顺序显示值。还可使
用 Microsoft™ ODBC Version 2.5或后来的版本,来配置 DSN。
提示: 要查明有什么 DSN,请点击 关于 标签,并阅读 描述 文本框的内容。
重要: 要在 Windows 64 位平台上配置 DSN,您必须使用 32 位 ODBC Data Source
Administrator:
C:\WINDOWS\SysWOW64\odbcad32.exe
您必须为 SSO 指定用户和口令或 CSM 设置。必须指定用户和口令。 如果正在启用单
点登录(SSO),则附加的步骤位于《GBase 8s 安全指南》中的“为 SSO 配置 ESQL/C
和 ODBC Driver”中。
表 1. 必需的 DSN 值
必需的值
描述
数据源名称
要访问的 DSN
此值为您选择的任意名称。数据源名称 就像一个包含关于 DSN
的所有相关连接信息的信封一样。
数据库名称
在缺省情况下,DSN 连接到的数据库名称。
主机名称
服务器 所在的计算机
协议
用来与 服务器 通讯的协议
在添加了 DSN 之后,该菜单键显示可用的选项。
服务器名称
服务器 所在的 GBase 8s 数据库服务器
服务
运行在 主机 上的 GBase 8s 数据库服务器进程
请与您的系统管理员或数据库管理员确认该服务名称。
表 2. 可选的 DSN 值
可选的值
描述
客户机语言环境
缺省值:en_us.1252
数据库语言环境
缺省值:en_us.1252
描述
任何信息,诸如版本号和服务
选项
通用信息,诸如口令设置
要获取关于此值的更多信息,请参阅《GBase 8s 管理员指南 》
中的 sqlhosts 信息。
口令
访问 DSN 的口令

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 40 -
必需的值
描述
事务库
指定代码集转换的“动态链接库”(DLL);缺省值:
$GBASEDBTDIR\bin\ig04n304.dll
用户 ID
访问 DSN 的用户标识或账户名称
事务选项
非 GBase 8s 事务库的选项
当 rgbValue(输出区域)对于代码集转换的数据不够大时,指
定如何设置 pcbValue 的变化的多字符长度报告选项
可能的值:

0= 估计的

1= 精确地
缺省值:0
游标行为
当调用提交或回滚事务时,游标行为的标志
可能的值为:

0= 关闭游标

1= 保持游标
缺省值:0
在完成这些步骤之后,您将连接至 DSN。

本章前面的示例显示由列名、运算符和 SQL 函数组成的 SELECT 语句表达式。本章提供
了包含 SPL 例程调用的表达式。
SPL 例程包含特定的存储过程语言
(SPL)
语句和 SQL 语句。
有关 SPL 例程的更多信息,
请参阅创建和使用 SPL 例程。
GBase 8s 允许用 C 和 Java™ 编写外部例程。有关更多信息,请参阅《GBase 8s 用户定义
的例程和数据类型开发者指南》 。
当您在投影列表中包含 SPL 例程表达式时,该 SPL 例程必须是返回单个值(一行一列)
的例程。例如:仅当 test_func() 返回单个值时,以下语句才有效:
SELECT col_a, test_func(col_b) FROM tab1
WHERE col_c = "Davis";
当您在 SELECT 语句的 Projection 子句中包含 SPL 例程表达式时,该 SPL 例程必须是
返回单个值(一行一列)的例程。例如:仅当 test_func() 返回单个值时,数据库服务器返
回一个错误消息。returns more than one value, the database server returns an error message.
SPL 例程通过允许您对选择的每行执行子查询来扩展可用函数的范围。
例如,假设您现有客户号、客户的姓和客户已下订单数的列表。下列查询查询了检索此信
息的一种方法。customer 表具有 customer_num 和lname 列,但没有每个客户已下订单数的
记录。可以编写 get_orders 例程,该例程查询每个 customer_num 的 orders 表并返回相应订
单的数目(标记为 n_orders)。
图: 查询

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

SELECT customer_num, lname, get_orders(customer_num) n_orders
FROM customer;
该结果显示了此 SPL 例程的输出。
图: 查询结果
customer_num lname n_orders

101 Pauli 1
102 Sadler 9
103 Currie 9
104 Higgins 4

123 Hanlon 1
124 Putnum 1
125 Henry 0
126 Neelie 1
127 Satifer 1
128 Lessor 0
使用 SPL 例程来封装查询中经常执行的操作。例如:以下查询中的条件包括例
程 conv_price,该例程将库存商品的单击转换为不同的货币并添加任何进口关税。
图: 查询
SELECT stock_num, manu_code, description FROM stock
WHERE conv_price(unit_price, ex_rate = 1.50,
tariff = 50.00) < 1000;