返回首页

gbase数据、南大通用产品文档:GBase8aMONTHNAME(date)

更新日期:2024年09月11日

函数说明

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
808
返回date 中对应的月份,并以英文名称显示。
示例
示例1:返回8 月对应的英文名称。
gbase> SELECT MONTHNAME('2020-08-30') FROM dual;
+-------------------------+
| MONTHNAME('2020-08-30') |
+-------------------------+
| August
|
+-------------------------+
1 row in set

或者,
DBA 可使用 CREATE ROLE 语句定义一个角色,
并使用 GRANT 和 REVOKE 语
句来将角色分配给用户或取消,以及授予和撤销角色权限。例如:
GRANT engineer TO nmartin;
需要 SET ROLE 语句来激活非缺省的角色。
要获取关于角色和权限的更多信息,
请参阅 访
问管理策略 和 对数据库级对其对象的权限。要获取关于 GRANT 和 REVOKE 语句的更
多信息,请参阅《GBase 8s 数据库设计和实现指南》。要获取关于这些语句的语法的更多
信息,请参阅《GBase 8s SQL 指南:语法》。

GBase 8a 实例绑定优化
对于海光、鲲鹏CPU 硬件,GBase 8a 一个实例绑定多个numa 节点时需要进
行优化。参看2.3.2 章节GBase 8a 实例绑定numa 节点中的示例,4 个实例均分
numa node0~numa node7,实现了实例号为0 的第一个实例绑定numa node0、
numa node4,实例号1 的第二个实例绑定numa node1、numa node5、实例号2 的
第三个实例绑定numa node2、numa node6,实例号3 的第四个实例绑定numa
node3、numa node7。
但是我们通过numactl –hardware 命令可以查看到CPU 的node 分布情况,
实例号为0 的实例绑定了node0、node4,而node0 与node4 分属于不同的CPU,
这种情况下分属两颗不同物理CPU 中的core 核心绑定为一组运行gbased 的一
个实例,
会造成这两个距离较远的node 在访问彼此node 对应的内存时经历较长
的延时,性能差。实例0~实例3 的绑定都是这种情况。





南大通用数据技术股份有限公司
26/44

优化方案希望各个实例绑定的numa node 在同一个CPU 上,以保证每个实例
访问共享内存时的性能。
对于2.3.2 章节GBase 8a 实例绑定numa 节点中的示例
第一处改动可按如下进行改动:

第二处、第三处改动仍按2.3.2 章节,此处不再表述,可参考2.3.2 章节。

 附本节参考命令:





南大通用数据技术股份有限公司
27/44

关注distance 部分,
每个node 间的distance,
判断cpunodebind 部分脚本
代码绑定的合理性。
根据CPU numanode 的情况设计脚本启动部分绑定逻辑,目标是将彼此间
distance 小的numanode 绑定为一组,提升共享内存的访问性能。
检查绑定后的正确性:
登录一个gnode 所在服务器:
列出gbased 进程的pid
[gbase@P10BUDPDPPDB01 ~]$ pidof gbased
30612 29786 28948 28129
检查每个进程绑定的numanode
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 30612
pid 30612's current affinity list: 48-63,112-127
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 29786





南大通用数据技术股份有限公司
28/44
pid 29786's current affinity list: 32-47,96-111
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 28948
pid 28948's current affinity list: 16-31,80-95
[gbase@P10BUDPDPPDB01 ~]$ taskset -cp 28129
pid 28129's current affinity list: 0-15,64-79
其中affinity list 的数字部分代表了cpu processor 的编号,和numactl
中的以下信息部分对应,
可以用上述命令检查当前的绑定是否正确,
调整绑定关
系后绑定是否正确。