返回首页

gbase数据、南大通用产品文档:GBase8s管理外部表装入和卸载操作产生的错误

更新日期:2024年09月11日

可管理外部表装入和卸载操作期间发生的错误。
这些主题描述如何使用拒绝文件和错误消息来管理错误,以及如何恢复已装入到数据库的
数据。
拒绝文件
装入期间具有转换错误的行将写入执行转换的服务器上的拒绝文件中。
CREATE EXTERNAL TABLE 语句中的 REJECTFILE 关键字用于确定指定给拒绝文件的
名称。
可不使用拒绝文件,而是使用 CREATE EXTERNAL TABLE 语句中的 MAXERRORS 关
键字来指定数据库服务器停止装入数据之前允许的错误数。(如果不设置 MAXERRORS
关键字,数据库将无视错误数,处理所有数据。)

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 262 -
数据库服务器将在开始执行装入时除去拒绝文件(如果有)。仅当装入期间发生错误时,
才会重新创建和写入拒绝文件。
拒绝文件条目是包含以逗号分隔的以下字段的单行:
file name, record, reason-code, field-name: bad-line
file name
输入文件的名称
record
输入文件中的记录号,在该文件中检测到错误
reason-code
错误的描述
field-name
外部字段名称(行中的第一个错误即在此处出现)或 (如果拒绝不特别针
对特定列)
bad-line
坏行本身(仅对于定界或固定 ASCII 文件)
装入操作以 ASCII 格式写入 file name、record、field-name 和 reason-code。
bad-line 信息由输入文件的类型决定:
• 对于定界文件或固定文本文件,整个坏行将直接复制到拒绝文件中。但是如果定界
格式表具有 TEXT 或 BYTE 列,那么拒绝文件中将不包含任何坏数据。装入操作
将仅为每个拒绝的行生成一个标题。
• 对于 GBase 8s 内部数据文件,坏行不会放入拒绝文件中,因为您无法编辑文件中
的二进制表示。但是,拒绝文件中仍然会报告 file name、record、reason-code 和
field-name,这样您可以隔离该问题。
以下类型的错误可能导致行被拒绝。
CONSTRAINT constraint name
违反了该约束。
CONVERT_ERR
有字段遇到转换错误。
MISSING_DELIMITER
找不到定界符。
MISSING_RECORDEND
找不到记录结尾。
NOT NULL
field-name 中找到了空值。
ROW_TOO_LONG
输入记录长度超过了 64 KB。
输入记录长度超过了 2 GB。

外部表错误消息
与外部表有关的大多数错误消息都在范围 -26151 到 -26199 之间。
其他消息为 -615、-999、-23852 和 -23855。在这些消息中,n macro 和 r macro 指从替
换字符 %r(first..last) 生成的值。有关错误消息列表使用 finderr 实用程序。有关违例表错
误消息的信息,请参阅《GBase 8s 管理员参考》。

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

外部表的表类型可恢复性
装入数据时,数据库服务器将检查表的可恢复性级别。
• 如果表类型为 RAW,数据库服务器可使用轻量级追加(快速)方式装入数据和处
理检查约束。如果装入期间数据库服务器崩溃,将不回滚装入的数据,而表可能保
持未知状态。
• 如果表类型为 STATIC,那么数据库服务器根本不能装入数据。
• 只有高级方式支持数据可恢复性。高级方式使用记录的常规插入。要在快速方式装
入失败之后恢复数据,请还原为最近的 0 级备份。对于此级别的可恢复性,表类型
必须为 STANDARD。
有关复原表类型的信息,请参阅《GBase 8s 备份与复原指南》。

























4 日志记录和日志管理


GBase 8s 技术白皮书

第12 页
南大通用数据技术股份有限公司
强制访问控制(MAC)功能提供客体(数据对象)在主体(数据库用户)之
间共享的控制,与自主访问控制(DAC)不同的是,强制访问控制由安全管理员
管理;自主访问控制尽管也作为系统安全策略的一部分,但主要由客体的拥有
者管理。强制访问控制通过无法绕开的访问控制限制来防止各种直接和间接的
攻击,一个用户无权将任何数据资源的访问权授予别的用户。GBase 8s 在传统
的自主访问控制基础上增加了安全标记及强制访问控制功能。
GBase 8s 的强制访问控制模型以BLP 模型作为核心基础,并加以适当的扩
充,模型的主要内容为:
l
主体与客体
在GBase
8s 中主体是指数据库用户,客体包括数据表、视图、存储过程和
函数等。
l
安全标记(层次等级与非层次范畴)
敏感标记又称标记,每个主体、客体均有标记,标记分为安全等级标记与
范畴标记,等级标记是用正整数表示,而范畴标记则用集合表示。标记是由层
次等级标记I 及非层次范畴标记S 的二元组组成:
(I,S)
,它们间有偏序关系。
设有L1= (I1,S1), L2= (I2,S2) 则:L1 ≤ L2 成立的充分必要条件是:
(I1≤I2)∧ (S1 ⊆S2)
l
强制访问控制安全策略
Bell-La
Padula 模型的基本安全策略是“下读上写”。在GBase
8s 中,基
于实用性和灵活性的考虑对安全策略进行了扩充,除了采用向下读、向上写原
则外,还设置有向上读向下写原则,以及将写分为插入,修改/删除两种操作
而形成的下面四种安全访问策略:
下读上写其他(修改/删除)同写;
下读上写其他(修改/删除)同读;
上读下写其他(修改/删除)同写;
上读下写其他(修改/删除)同读。


GBase 8s 技术白皮书
南大通用数据技术股份有限公司
第13 页
同时还增设一种初始策略:下读相等写其他(修改/删除)同写,以及另一
种自定义策略。
l
特权机制
某些特定用户在一段时间内可以信赖他们不会把某些敏感数据向外扩散,
因此可以让他们具有对这些数据的相应操作,即使这时不符合“下读上写”的
原则,是基于灵活性、实用性考虑的一种补充。
当主体访问客体时,强制访问控制需按安全访问策略模型作安全检查,只
有当符合模型要求时访问才能进行,否则为非法,访问不能进行。
目前强制访问控制的主体粒度为用户级,客体粒度为表级。

常用的算术操作符均是可用的。
注意

如果两个参数均是整型,“-”,“+”和“*”以BIGINT(64 位)精度运算并返
回结果。

如果一个参数是无符号的整数,其他参数是整数,结果为无符号整数。