返回首页

gbase数据、南大通用产品文档:GBase8sWHEN NULL 条件下的简单的CASE 表达式

更新日期:2024年09月11日

如果selector值为NULL,则不能在WHEN NULL条件下被匹配,相反,可以在WHEN
boolean_expression IS NULL条件下使用CASE表达式搜索。
DECLARE
grade CHAR(1); -- NULL by default
appraisal VARCHAR2(20);
BEGIN
appraisal :=
CASE grade
WHEN NULL THEN 'No grade assigned'
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
WHEN 'D' THEN 'Fair'
WHEN 'F' THEN 'Poor'
ELSE 'No such grade'
END;
DBMS_OUTPUT.PUT_LINE ('Grade ' || grade || ' is ' || appraisal);
END;

--Result:
--Grade is No such grade

删除数据
GBase 8c 提供了两种删除表数据的语句:删除表中指定条件的数据,请参考DELETE;
或删除表的所有数据,请参考TRUNCATE。
TRUNCATE 快速地从表中删除所有行,
它和在每个表上进行无条件的DELETE 有同样
的效果,不过因为它不做表扫描,因而快得多。在大表上最有用。

通过配置“连接管理器”以在发生网络故障时进行故障转移,可以确保应用程序服务器保
持与数据库服务器的连接。
可以针对两种不同的情况配置数据库服务器故障转移:

当主服务器变得无法运行时

当应用程序服务器丢失与主服务器的网络连接时
以下示例是由一个应用程序服务器和带有一个 SD 辅助服务器的一个主服务器组成的网
络。 每个数据库服务器都配置了两块网络接口卡 (NIC),因此每个数据库服务器都有两个
TCP/IP 地址。
图: 应用程序服务器和数据库服务器之间的网络连接



GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 468 -
如果发生网络故障,并且应用程序服务器无法连接到主服务器,但可以连接到辅助服务器,
那么在启用了网络监视的情况下,主服务器会故障转移到辅助服务器。
网络监视是通过设置 LOCAL_IP 参数和 FOC 参数的 PRIORITY 属性来启用的:

LOCAL_IP 参数列出了运行连接管理器的计算机上 NIC 卡的可用 TCP/IP 地址。

FOC 参数的 PRIORITY 属性用于配置在应用程序所在相同主机上或在高可用性
集群中应用程序服务器上运行的连接管理器的故障转移优先级。
可为集群指定优先级,以防止因故障转移而丢失网络连接。如果连接管理器的 PRIORITY
属性设置为正整数,那么连接管理器将执行本地 IP 地址和其他集群计算机之间的网络监
视。
PRIORITY 值在配置为管理特定集群的所有连接管理器之间必须是唯一的。如果
PRIORITY 值设置为正整数,那么 FOC 参数的 ORDER 属性必须设置为 ENABLED。
例如,在包含两个应用程序服务器的配置中,多个网络故障可能引起冲突,即故障转移到
辅助数据库服务器会导致其中一个应用程序服务器丢失与数据库服务器的连接。由于故障
转移会导致其中一个应用程序服务器丢失数据库连接,因此会产生冲突。
要解决这种情况,请在连接管理器配置的过程中设置每个应用程序服务器的优先级。如果
为一个应用程序服务器配置的优先级高于另一个应用程序服务器,并且故障转移将导致丢
失与优先级较低的应用程序服务器的连接,那么将允许数据库服务器的故障转移。如果故
障转移导致丢失与优先级较高的应用程序服务器的连接,那么将不允许发生故障转移。
要监视连接管理器与数据库服务器之间的网络连接,连接管理器必须在与应用程序服务器
相同的计算机上运行。
将连接管理器配置为在网络故障期间保持连接
要确保应用程序服务器保持与数据库服务器的连接,可以将连接管理器配置为在发生网络
故障时启动故障转移。

连接管理器必须在应用程序服务器上运行。

必须至少有一个共享主服务器磁盘的 SD 辅助服务器。
要配置网络监视:
1.
如有必要,在每个应用程序服务器上至少安装两块网络接口卡 (NIC)。
2.
在每个应用程序服务器上执行以下步骤:
a. 安装连接管理器软件。
b. 在 sqlhosts 文件中创建数据库服务器和所有 SLA 的条目。
c. 如有必要,使用 onpassword 实用程序创建密码文件并将其加密。
d. 将 GBASEDBTDIR 环境变量设置为指向安装了连接管理器的目录。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 469 -
e. 在连接管理器配置文件的头中,将 LOCAL_IP 参数设置为计算机上 NIC 的可
用 TCP/IP 地址。例如,如果应用程序服务器包含两个 NIC,其中 NIC1 的
TCP/IP 地址为为 9.25.151.14,NIC2 的 TCP/IP 地址为 9.25.151.15,那么参数
条目为:
LOCAL_IP 9.25.151.14,9.25.151.15
f. 在连接管理器配置文件的主体中,配置服务级别协议 (SLA)。
g. 在连接管理器配置文件的主体中,将 FOC 参数的 PRIORITY 属性设置为大于
0 的值。例如,要启用网络监视并设置最高优先级,请输入以下内容:
PRIORITY=1
h. 在连接管理器配置文件的主体中,将 FOC 参数的 ORDER 属性设置为
ENABLED。
ORDER=ENABLED
3.
在每个数据库服务器上执行以下步骤:
a. 在 sqlhosts 文件中,创建应用程序服务器和所有 SLA 的条目。
b. 启动每个数据库服务器实例。
4.
启动每个连接管理器实例。
现在,如果发生网络故障,连接管理器将立即启动故障转移。连接管理器将确保在发生网
络故障时,应用程序服务器可保持与数据库服务器的连接。
要在网络故障转移后返回到原始网络配置,请参阅集群故障转移、重定向和复原。