【赵渝强老师】金仓数据库的数据文件

在金仓数据库中,数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASEDATA来表示。当数据库初始化完成后,会在这个目录生成相关的子目录以及一些文件。下图就是金仓数据库的物理结构:

数据文件用于存储数据,文件名以oid命名。对于超出1G的数据文件,金仓数据库会自动将其拆分为多个文件来存储,而拆分的文件名将由sys_class中的relfilenode字段来决定。

点击这里查看视频讲解:【赵渝强老师】金仓数据库的数据文件

通过下面的步骤可以确定表所对应的数据文件。

(1)查看数据库的OID。

sql 复制代码
kingbase=# select oid,datname from sys_database;

# 输出的信息如下:  
  oid  |  datname  
-------+-----------
 14791 | test
 14792 | kingbase
     1 | template1
 14790 | template0
 14793 | security
 16384 | scott
(6 行记录)

# 14792 是数据库kingbase的OID。

(2)查询testtable1表的OID。

sql 复制代码
kingbase=# select oid,relname,relkind,relfilenode from sys_class 
           where relname ='testtable1';

# 输出的信息如下:  
  oid  |  relname   | relkind | relfilenode 
-------+------------+---------+-------------
 16428 | testtable1 | r       |       16428
(1 行记录)

# 16428 是表testtable1的OID。

(3)查看表空间mydemotbs对应的目录,如下图所示。

相关推荐
m0_741173334 分钟前
CSS移动端实现卡片悬浮投影_利用box-shadow设置层次感
jvm·数据库·python
Lyyaoo.4 分钟前
Session粘滞性问题->Redis实现session共享
数据库·redis·缓存
珠海西格电力6 分钟前
零碳园区管理系统“云-边-端”架构协同的价值及具体案例
大数据·数据库·人工智能·架构·能源
sinat_383437367 分钟前
如何在 Laravel 中筛选并格式化匹配预定义列表的产品数据
jvm·数据库·python
2401_846339568 分钟前
mysql如何用执行流程思维写好SQL_SQL优化方法总结
jvm·数据库·python
鸽芷咕9 分钟前
KingbaseES数据库设计规范与SQL开发最佳实践
数据库·sql·设计规范
forEverPlume12 分钟前
SQL如何统计分组内不重复值的数量_COUNT与DISTINCT结合应用
jvm·数据库·python
极创信息14 分钟前
信创领域五种主流CPU架构(X86 / ARM / RISC-V / MIPS / LoongArch)
java·arm开发·数据库·spring boot·mysql·软件工程·risc-v
涛思数据(TDengine)17 分钟前
红有软件重构智能油田时序数据底座,支撑生产实时感知与设备预测性维护
时序数据库·tdengine·国产数据库
chaofan98022 分钟前
突破大模型落地瓶颈:Claude 4.7 与 GPT-5.5 长上下文工程实测
数据库·人工智能·python·gpt·自动化·php·api