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

在金仓数据库中,数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$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对应的目录,如下图所示。

相关推荐
鸽芷咕1 小时前
MySQL/PostgreSQL 迁移金仓 KES:LEFT JOIN 丢数据排查与避坑指南
数据库·mysql·postgresql
2401_8414956411 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Hardworking66613 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜13 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>13 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
wenb1n14 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
段一凡-华北理工大学14 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
ClouGence15 小时前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源
花生了什么事o17 小时前
DDD:领域驱动设计的初步认识
java·数据库
BGK11235817 小时前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库