返回首页

gbase数据、南大通用产品文档:GBase8sonmode 和 c 参数:强制检查点(SQL 管理

更新日期:2024年09月11日

API)
随同 admin() 或 task() 函数,使用 onmode 和 c 参数来强制检查点。
语法

用法

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 766 -
这个函数强制检查点,清空缓冲区到磁盘。如果逻辑日志中的最近检查点阻止释放逻辑日
志文件(状态 U-B-L),则您可使用 c 选项来强制检查点。
使用 block 参数来阻止数据库服务器处理任何事务。使用这个选项在 GBase
8s 上执行外
部备份。 当数据库服务器被阻塞时,用户不可访问它,除了处于 read-only 模式。直到
解除数据库服务器阻塞,事务才可完成。
使用 hard 参数来强制阻塞的检查点。这是缺省值。
使用 norm 参数来强制未阻塞的检查点。
使用 unblock 参数来解除数据库服务器阻塞。当解除数据库服务器阻塞时,数据事务和正
常的数据库服务器操作可重新开始。请您在 GBase
8s 上完成外部备份之后使用这个选项。

这个函数等同于 onmode -c 命令。
示例
下列示例启动阻塞的检查点:
EXECUTE FUNCTION task("onmode","c","hard");

Execute 权限使得用户能够调用例程。通过 EXECUTE 或 CALL 语句,或通过使用表达
式中的函数可能调用例程。
下列用户拥有缺省的 Execute 权限,
这使得他们能够调用例程:

在缺省情况下,任何具有 DBA 权限的用户都可执行数据库中的任何例程。

如果以限定的 CREATE DBA FUNCTION 或 CREATE DBA PROCEDURE 语句
注册该例程,则仅拥有 DBA 权限的用户对那个例程有缺省的 Execute 权限。

如果数据库不符合 ANSI,则用户 public(任何拥有 Connect 数据库权限的用户)
自动地拥有对例程的 Execute 权限,未以 DBA 关键字注册该例程。

在符合 ANSI 的数据库中,过程所有者和任何拥有 DBA 权限的用户都可执行该
例程,而无需收到附加的权限。

授予和撤销 Execute 权限
例程有下列 GRANT 和 REVOKE 要求:

DBA 可将 Execute 权限授予数据库中的任何例程,也可撤销它。

例程的创建者可授予或取消对那个特定的例程的 Execute 权限。通过包括带有
GRANT EXECUTE ON 语句的 AS grantor 子句,创建者丧失授予或撤销的能力。

如果所有者在 GRANT EXECUTE ON 语句中应用了 WITH GRANT 关键字,
则另
一用户可授予 Execute 权限。
对于下列条件,DBA 或例程所有者必须显式地将 Execute 权限授予非 DBA 用户:

以 DBA 关键字子句注册了的例程

在符合 ANSI 的数据库中的例程

不符合 ANSI 的数据库中的例程,但将 NODEFDAC 环境变量设置为 yes。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 325 -
即使数据库服务器缺省地将权限授予 public,所有者也可限制对例程的 Execute 权限。为
此,请发出 REVOKE EXECUTE ON PUBLIC 语句。DBA 和所有者仍可执行该例程,且
如果使用的话,则可将 Execute 权限授予特定的用户。
使用 COMMUTATOR 和 NEGATOR 函数的 Execute 权限
重要: 如果您显式地授予对 SPL 函数的 Execute 权限,其为 UDR 的换向函数或否定函数,
则在被授予者可使用任意函数之前,您还必须授予对换向函数或否定函数的那种权限。您不可
随同 SPL 过程指定 COMMUTATOR 或 NEGATOR 修饰符。
下列示例演示对于函数的限制授权,以及将它的否定函数限定为一组用户。假设您创建下
列否定函数对:
CREATE FUNCTION greater(y PERCENT, z PERCENT)
RETURNS BOOLEAN
NEGATOR= less(y PERCENT, z PERCENT);
. . .
CREATE FUNCTION less(y PERCENT, z PERCENT)
RETURNS BOOLEAN
NEGATOR= greater(y PERCENT, z PERCENT);
在缺省情况下,任何用户都可执行该函数和否定函数。下列函数仅允许 accounting 执行这
些函数:
REVOKE EXECUTE ON FUNCTION greater FROM PUBLIC;
REVOKE EXECUTE ON FUNCTION less FROM PUBLIC;
GRANT accounting TO mary, jim, ted;
GRANT EXECUTE ON FUNCTION greater TO accounting;
GRANT EXECUTE ON FUNCTION less TO accounting;
用户可能接收附带 WITH GRANT OPTION 授权的 Execute 权限来将 Execute 权限授予
其他用户。如果用户失去对例程的 Execute 权限,则还从通过那个用户授予了 Execute 权
限的那些用户撤销 Execute 权限。
要获取更多信息,请参阅《GBase 8s SQL 指南:语法》 中的 GRANT 和 REVOKE 语句
描述。

在 GBase 8s 的附加 GBase 8s SQL 数据类型与 GBase 8s ODBC Driver C 数据类型之间
有支持的转换。
GBase 8s SQL 数据类型 Collection、DISTINCT、Row 和智能大对象支持在下列 GBase 8s
ODBC 驱动程序 C 数据类型(fCType)之间转换:
l
SQL_C_BINARY
l
SQL_C_BIT
l
SQL_C_CHAR
l
SQL_C_DATE
l
SQL_C_DOUBLE
l
SQL_C_FLOAT
l
SQL_C_LONG
l
SQL_C_SHORT
l
SQL_C_SLONG
l
SQL_C_SSHORT
l
SQL_C_STINYINT
l
SQL_C_TIMESTAMP
l
SQL_C_TINYINT
l
SQL_C_ULONG
l
SQL_C_USHORT
l
SQL_C_UTINYINT
GBase 8s SQL 数据类型 OPAQUE 支持在 SQL_C_BINARY 与 SQL_C_CHAR ODBC
驱动程序 C 数据类型(fCType)之间转换。请使用 SQL_C_CHAR 作为字符串来访问外
部格式的 OPAQUE 值。请使用 SQL_C_BINARY 来访问内部二进制格式的 OPAQUE。