返回首页

gbase数据、南大通用产品文档:GBase8sSQLT_DAT 类型

更新日期:2024年09月11日

SQLT_DAT类型是oracle数据库中特有的一种精度到秒的日期类型封装格式:
使用 7 字节缓存表示日期
其中年占两个字节, 即第一,二字节。分别表示世纪和年代, 且做加 100 运算。
表示范围公元前 4712 年 1 月 1 日至公元 9999 年 12 月 31 日。
第三字节表示月,取值范围是 1- 12

第四字节表示日,取值范围是 1-31

GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 11
第五字节表示时,取值范围是 1-24
第六字节表示分,取值范围是 1-60
第七字节表示秒,取值范围是 1-60
其中年的表示8s与oracle是不同的,8s是到0-9999年

Oracle例:

Example (for 30-NOV-1992, 3:17 PM)
----------------------------------------------------------
Byte 1 2 3 4 5 6 7
----------------------------------------------------------
Meaning Century Year Month Day Hour Minute Second
Values 119 192 11 30 16 18 1
----------------------------------------------------------
GCI接口兼容了这个数据类型,如果使用这个类型进行数据绑定,获取到的时间精度只能到
秒。
注:如果sql类型是时间类型,目前不支持其插入操作。

使用分区表
分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。
这张逻辑上的表称
之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分
区上的。分区表和普通表相比具有以下优点:

改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。

增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。

方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。
GBase 8c 支持的分区表为范围分区表。
范围分区表:
将数据基于范围映射到每一个分区。
这个范围是由创建分区表时指定的分
区键决定的。分区键经常采用日期,例如将销售数据按照月份进行分区。

corosync 服务无法启动
问题现象
在进行迁移工作的数据导入之后,启动集群所有管理节点一直不能正常启动,通
过命令service gcware stop 也不能停止。
【gcadmin 报错】
Could not initialize CRM instance error: [6]->IGC AIS ERR TRY AGAIN]
【管理节点状态】
corosync is stopped
gclusterd is stopped
recover (pid 127432) is running..

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
91
【停止管理节点报错】/opt/gcluster/log/gcluster/system.log
Stopping GCMonit fail! Info: [gcmonit] share memory get error
Signaling GCRECOVER (gcrecover) to terminate: [ OK]
Waiting for gcrecover services to unload:
【集群启动日志】
解决方法:
由于异常断电或者文件系统损坏导致某一个coor 节点上gcware 的持久化文件损
坏,
引起corosync 服务无法启动,
这种情况可以通过从其他好的节点,
拷贝一个
gcware 目录来解决,或者删除CLUSTERSTATE 以及CLUSTERSTATE.bak 文件。
(1) 使用root 用户将/var/lib/gcware 中CLUSTERSTATE 以及CLUSTERSTATE.bak
文件复制到其他地方。
(2) 将管理节点的corosync、gbased、gclusterd、gcmmonit、gc_sync_server
进程杀掉
killall -9 corosync gbased gclusterd gcmmonit gc_sync_server
若killall 没有安装还可采用如下命令:
ps -ef|grep -E 'gc|coro|gbased' |grep -v grep|awk '{print $2}'|xargs
kill -9
(3) 检查是否所有集群服务状态为【stop】service gcware status
(4) 删除/var/lib/gcware 中CLUSTERSTATE 以及CLUSTERSTATE.bak 文件

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
92
(5) gcwexec 启动集群服务