在达梦数据库中查询数据文件,如下:
[dave@www.cndba.cn_dw1 ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 6.829(毫秒)
disql V8.1.0.147-Build(2019.03.27-104581)ENT
SQL>
SQL> set lineshow off
SQL> select group_id,id, path from v$datafile;
GROUP_ID ID PATH
----------- ----------- ----------------------------------
0 0 /dm/dmdbms/data/cndba/SYSTEM.DBF
1 0 /dm/dmdbms/data/cndba/ROLL.DBF
3 0 /dm/dmdbms/data/cndba/TEMP.DBF
4 0 /dm/dmdbms/data/cndba/MAIN.DBF
5 0 /dm/dmdbms/data/cndba/BOOKSHOP.DBF
6 0 /dm/dmdbms/data/cndba/DMHR.DBF
6 rows got
已用时间: 0.914(毫秒). 执行号:2220.
SQL>
发现一个非常有意思的问题,这些文件对应的ID都是0。 翻看官方手册中对v$datafile 视图的描述,这里仅描述为数据文件ID。 按通常的理解,数据库中数据文件的ID应该是不断增加的,这里全部显示为0。似乎不太正常。
所以我们这里创建一个用户表空间做进一步测试:
SQL> create tablespace dave datafile '/dm/dmdbms/data/cndba/CNDBA.DBF' size 128;
操作已执行
已用时间: 79.744(毫秒). 执行号:2223.
SQL> SELECT group_id,ID, PATH FROM V$DATAFILE;
GROUP_ID ID PATH
----------- ----------- ----------------------------------
0 0 /dm/dmdbms/data/cndba/SYSTEM.DBF
1 0 /dm/dmdbms/data/cndba/ROLL.DBF
3 0 /dm/dmdbms/data/cndba/TEMP.DBF
4 0 /dm/dmdbms/data/cndba/MAIN.DBF
5 0 /dm/dmdbms/data/cndba/BOOKSHOP.DBF
6 0 /dm/dmdbms/data/cndba/DMHR.DBF
7 0 /dm/dmdbms/data/cndba/CNDBA.DBF
7 rows got
已用时间: 0.381(毫秒). 执行号:2224.
这里新添加的数据文件ID 还是显示为0。 继续给表空间添加数据文件:
SQL> alter tablespace dave add datafile '/dm/dmdbms/data/cndba/CNDBA01.DBF' size 128;
操作已执行
已用时间: 31.080(毫秒). 执行号:2225.
SQL> select group_id,id, path from v$datafile;
GROUP_ID ID PATH
----------- ----------- ----------------------------------
0 0 /dm/dmdbms/data/cndba/SYSTEM.DBF
1 0 /dm/dmdbms/data/cndba/ROLL.DBF
3 0 /dm/dmdbms/data/cndba/TEMP.DBF
4 0 /dm/dmdbms/data/cndba/MAIN.DBF
5 0 /dm/dmdbms/data/cndba/BOOKSHOP.DBF
6 0 /dm/dmdbms/data/cndba/DMHR.DBF
7 0 /dm/dmdbms/data/cndba/CNDBA.DBF
7 1 /dm/dmdbms/data/cndba/CNDBA01.DBF
8 rows got
已用时间: 0.565(毫秒). 执行号:2226.
SQL>
看到数据文件ID的值增加了。
所以通过测试,可以弄清楚v$datafile 视图中的ID 并不是全局的,而是指表空间内部数据文件的ID。 小知识点,随笔记之。
版权声明:本文为博主原创文章,未经博主允许不得转载。



