返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

ATAN(X)
函数说明
返回X 的反正切,即返回正切值为X 的值。
示例
示例1:X 为正整数。
gbase> SELECT ATAN(2) FROM dual;
+------------------+
| ATAN(2)
|
+------------------+
| 1.10714871779409 |
+------------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
749
示例2:X 为负整数。
gbase> SELECT ATAN(-2) FROM dual;
+-------------------+
| ATAN(-2)
|
+-------------------+
| -1.10714871779409 |
+-------------------+
1 row in set

本节描述如何使用 oninit 和 onmode 实用程序将一种数据库服务器运行方式更改为另一
种方式。
它还包含有关使用 ADMIN_MODE_USERS 配置参数以指定哪些用户可以采用管
理方式连接服务器的信息。
本节描述如何使用 oninit 和 onmode 实用程序以及使用 ISA 从一种数据库服务器运行方
式更改到另一种方式。
它还包含有关使用 ADMIN_MODE_USERS 配置参数以指定哪些用
户可以采用管理方式连接服务器的信息。
提示: 更改数据库服务器的方式之后,请运行 onstat 命令以验证当前服务器状态。
允许更改方式的用户
仅适用于 UNIX™

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 77 -
以 root 或 gbasedbt 身份登录的用户以及 DBSA 组的成员可以更改数据库服务器的操作
方式。
如果您希望属于 DBSA 组的用户以管理方式连接到数据库服务器,请将
ADMIN_USER_MODE_WITH_DBSA 配置参数设置为 1。
如果该参数设置为 0,
那么访问
将仅限于用户 gbasedbt。如果 $ONCONFIG 中缺少该参数,该参数值将视为 0。
用户 gbasedbt 或 DBSA 可以使用 onmode 实用程序、oninit 实用程序或
ADMIN_MODE_USERS 配置参数动态授予一个或多个特定用户以管理方式连接数据库服
务器的能力。
注: 对于 DBSA 组的成员,必须更改对 $GBASEDBTDIR/bin/oninit 的许可权以允许在
标准 GBase 8s 安装中运行 public execute permission - root:gbasedbt:6755。

用于更改方式的 ISA 选项
可以使用 Server Administrator (ISA) 更改数据库服务器方式。有关更多信息,请参阅 ISA
联机帮助。
操作
ISA 选项
初始化数据库服务器。
方式 > 联机(初始化磁盘)或静默(初始
化磁盘)
从脱机或管理更改为静默。
方式 > 静默
从任何方式更改为管理方式。
方式 > 单用户
从脱机、静默或管理更改为联机。
方式 > 联机
平稳地从联机更改到静默。
方式 > 静默(平稳)
立即从联机更改到静默。
方式 > 静默(立即)
关闭数据库服务器。
方式 > 脱机
用于更改方式的 ON-Monitor 选项 (UNIX)
在 UNIX™ 上,您可以使用 ON-Monitor 更改数据库服务器方式。有关更多信息,请参阅
《GBase 8s 管理员参考》中有关 ON-Monitor 的主题。
操作
菜单选项
初始化数据库服务器。
参数 > 初始化
从脱机更改到静默。
方式 > 启动
从脱机或静默更改到联机。
方式 > 联机
平稳地从联机更改到静默。
方式 > 平稳关闭
立即从联机更改到静默。
方式 > 立即关闭
更改到管理方式。
方式 > 单用户
关闭数据库服务器。
方式 > 采用脱机


GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 78 -
用于更改方式的命令行选项
表 1 包含所有方式的描述,
并显示当服务器处于每种方式时哪些用户可以访问数据库服务
器。这些主题包含有关用于更改方式的命令的信息,以及有关方式更改如何影响用户会话
的信息。
另见使用 ADMIN_MODE_USERS 配置参数指定管理方式用户。

从脱机更改到静默方式
当数据库服务器从脱机方式更改到静默方式时,数据库服务器将初始化共享内存。仅管理
员可以访问数据库服务器以执行不用执行 SQL 和 DDL 语句的维护功能。
操作系统
操作
UNIX™
运行 oninit -s。

从脱机更改到联机方式
将数据库服务器从脱机转为联机方式时,数据库服务器将初始化共享内存并且可被所有用
户会话使用。
操作系统
操作
UNIX™
运行 oninit。

从脱机更改到管理方式
将数据库服务器从脱机转移到管理方式时,您将该服务器移至了仅管理员才能用于执行数
据库服务器函数和维护函数(包括涉及执行 SQL 和 DDL 语句的函数)的方式中。
操作系统
操作
UNIX™
运行 oninit -j。
用户 gbasedbt 或 DBSA 可使用 oninit
-U 命令来指定管理方式用户的列表,如本例中所
示:
oninit -U mark,ajay,carol
在 oninit -U 列表中指定的用户可以在服务器实例活动的时间段内,或在您运行 onmode -j
-U 命令来更改可以连接到服务器的用户列表之前进行连接。
运行具有空格的 onmode -j -U
命令而非名称可除去列表中的所有用户,如本例中所示:
oninit -U " "
另见使用 ADMIN_MODE_USERS 配置参数指定管理方式用户。

从静默更改到联机方式
当您将数据库服务器从静默方式转到联机方式时,所有会话都将获得访问权。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 79 -
如果您已经将数据库服务器从联机方式转到静默方式,并且您现在正在将数据库服务器返
回到联机方式,那么较早的处理中被中断的任何用户都必须重新选择他们的数据库并且重
新声明他们的游标。
操作系统
操作
UNIX™
运行 onmode -m。

平稳地从联机更改到静默方式
在不中断当前处理的情况下,将数据库服务器从联机方式平稳地转换成静默方式,以限制
对数据库服务器的访问。
在您执行了此任务之后,数据库服务器将设置一个标志,该标志将防止新的会话获得对数
据库服务器的访问权。 允许当前的会话完成处理。
启动方式更改之后,无法将其取消。在从联机方式转为静默方式的过程中,数据库服务器
将被认为处于关闭方式。
操作系统
操作
UNIX™
运行 onmode -s 或 onmode -sy。

立即从联机更改到静默方式
将数据库服务器立即从尽快限制对数据库服务器的访问。进行中的工作可能会丢失。
会提示您确认立即关闭。如果确认,那么数据库服务器将向所有连接到共享内存的会话发
送断开连接信号。如果会话没有接收到断开连接信号或者不能自动在 10 秒之内答应,那
么数据库服务器会终止该会话。
数据库服务器用户将会接收到错误消息 -459
(指示数据库服务器已关闭)
或错误消息 -457
(指示他们的会话已意外终止)。
数据库服务器将清除数据库服务器已终止的所有会话。活动的事务将回滚。
操作系统
操作
UNIX™
运行 onmode -u 或 onmode –uy;
使用 -y 选项,就无需确认提示。

从静默或联机更改到管理方式
当您将数据库服务器从静默或联机方式移至管理方式时,您就将该服务器移至了一个仅管
理员可以使用的方式中。
如果以联机方式开始,数据库服务器自动断开与所有用户的连接,这些用户是使用非用户
gbasedbt 的用户标识连接的,
并且这些用户将接收到错误消息。
如果连接在事务期间终止,
那么数据库服务器将回滚回事务。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 80 -
如果您希望在没有连接其他任何用户的情况下运行 SQL 和 DDL 命令,请更改为管理方
式。
操作系统
操作
UNIX™
运行 onmode -j。
用户 gbasedbt 或 DBSA 可以使用 onmode -j -U 选项授予单个用户对管理方式下数据库
服务器的访问权。
例如,运行以下命令可使三个单独的用户连接到数据库服务器并具有数据库服务器的访问
权,除非数据库服务器方式更改为脱机、静默或联机方式:
onmode -j -U mark,ajay,carol
连接之后,这些个别用户可运行任何 SQL 或 DDL 命令。当该服务器更改为管理方式时,
没有在 onmode -j -U 命令中标识的用户的所有会话将失去与它们的数据库服务器的连接。
在初始运行 onmode -j -U 命令之后,
可以通过运行 onmode -j -U 并从命令中名称的新列表
除去个别用户名,从而除去个别用户,例如,通过运行:
onmode -j -U mark,carol
运行具有空格的 onmode -j -U 命令而非名称可除去列表中的所有用户,如本例中所示:
oninit -U " "
另见使用 ADMIN_MODE_USERS 配置参数指定管理方式用户。

从管理更改到联机方式
当您将数据库服务器从管理方式移至联机方式时,所有用户都可以访问该数据库服务器。
操作系统
操作
UNIX™
运行 onmode -m。
从管理更改到静默方式
当您将数据库服务器从管理方式移至静默方式时,您就将该服务器移至了一个仅管理员可
以用于执行维护函数(这些函数不包含执行 SQL 和 DDL 语句)的方式中。
操作系统
操作
UNIX™
运行 onmode -s。

从任何方式立即更改到脱机方式
可以立即使数据库服务器从任何方式更改到脱机方式。
会提示您确认脱机。如果确认,那么数据库服务器将启动检查点请求并且向所有连接到共
享内存的会话发送断开连接信号。如果会话没有接收到断开连接信号或者不能自动在 10
秒之内答应,那么数据库服务器会终止此会话。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 81 -
数据库服务器用户将会接收到错误消息 -459
(指示数据库服务器已关闭)
或错误消息 -457
(指示他们的会话已意外终止)。
当您对数据库服务器采取脱机方式后,请以静默、管理或联机方式重新启动数据库服务器。
当您重新启动数据库服务器时,它将执行快速恢复以确保数据在逻辑上是一致的。
数据库服务器将清除已由数据库服务器终止的所有会话。活动的事务将回滚。
操作系统
操作
UNIX™
运行 onmode -k 或 onmode -ky。
-y 选项将消除确认立即关闭的自动提示。
如果 onmode 命令无法关闭数据库服务器,可使用 onclean 实用程序强制执行立即关闭。
有关 onclean 实用程序的更多信息,请参阅《GBase 8s 管理员参考》。

使用 ADMIN_MODE_USERS 配置参数指定管理方式用户
ADMIN_MODE_USERS 配置参数可使您指定哪个用户可以管理方式连接数据库服务器。
不同于 oninit 和 onmode 命令可使您指定管理方式下的用户直到服务器更改为脱机、
静默
或联机方式,ADMIN_MODE_USERS 配置参数无限期地保存管理方式下用户的列表。
要创建 onconfig 文件中保存的管理方式用户列表,请指定用户的逗号分隔列表作为
ADMIN_MODE_USERS 配置参数值,例如,mark,ajay,carol。
要在会话期间覆盖 ADMIN_MODE_USERS,请使用 onmode -wf 命令,如本例中所示:
onmode -wf ADMIN_MODE_USERS=sharon,kalpana
ADMIN_MODE_USERS 配置参数的作用是添加到一列允许访问管理方式下的服务器的人
员。在 onmode 命令行中列出的人员会覆盖在 onconfig 文件中列出的人员。














GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 82 -
3 磁盘、内存和进程管理

ifx_getserial8() 函数返回插入至 int8 主变量内的最后一行的 SERIAL8 值。
语法
void ifx_getserial8(serial8_val)
ifx_int8_t *serial8_val;
serial8_val
指向 ifx_getserial8() 在其中放置新插入的 SERIAL8 值的 int8 结构的指针。

用法
在您插入包含 SERIAL8 列的行之后,请使用 ifx_getserial8() 函数。该函数返回您声
明的 int8 变量、serial8_val 中新的 SERIAL8 值。如果 INSERT 语句生成了新的
SERIAL8 值,
则 serial8_val 指向大于零的值。
零或空的 SERIAL8 值指示无效的 INSERT;
该 INSERT 可能以失败,或可能尚未执行。

示例
EXEC SQL BEGIN DECLARE SECTION;
int8 order_num;
int8 rep_num;
char str[20];
EXEC SQL END DECLARE SECTION;

EXEC SQL create table order2
(
order_number SERIAL8(1001),

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 713 -
order_date DATE,
customer_num INTEGER,
backlog CHAR(1),
po_num CHAR(10),
paid_date DATE,
sales_rep INT8
);
EXEC SQL insert into order2 (order_number, sales_rep)
values (0, :rep_num);
if (SQLCODE == 0)
{
ifx_getserial8(order_num);
if (ifx_int8soasc(ℴ_num, str, 20) == 0)
printf("New order number is %s\n", str);
}