在金仓数据库中,数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASEDATA来表示。当数据库初始化完成后,会在这个目录生成相关的子目录以及一些文件。下图就是金仓数据库的物理结构:
数据文件用于存储数据,文件名以oid命名。对于超出1G的数据文件,金仓数据库会自动将其拆分为多个文件来存储,而拆分的文件名将由sys_class中的relfilenode字段来决定。
点击这里查看视频讲解:【赵渝强老师】金仓数据库的数据文件通过下面的步骤可以确定表所对应的数据文件。
(1)查看数据库的OID。- 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。- 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对应的目录,如下图所示。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |