5.Oracle杂记——数据字典dba_extents

前端之家收集整理的这篇文章主要介绍了5.Oracle杂记——数据字典dba_extents前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

5.Oracle杂记——数据字典dba_extents

视图dba_extents包含了数据库中所有分区的信息。

查看视图结构如下:

sys@PDB1> desc dba_extents

Name Null? Type

------------------------------------------------------------- ------------------------------------

OWNER VARCHAR2(128)

SEGMENT_NAME VARCHAR2(128)

PARTITION_NAME VARCHAR2(128)

SEGMENT_TYPE VARCHAR2(18)

TABLESPACE_NAME VARCHAR2(30)

EXTENT_ID NUMBER

FILE_ID NUMBER

BLOCK_ID NUMBER

BYTES NUMBER

BLOCKS NUMBER

RELATIVE_FNO NUMBER

其中:

注意:段是由区组成的。

OWNER 表示拥有者

SEGMENT_NAME:表示段名字

PARTITION_NAME:表示分区名字,如果没有分区则为空

SEGMENT_TYPE:表示段类型

TABLESPACE_NAME:表示表空间名字

EXTENT_ID: 区 的ID。

FILE_ID:区所在文件ID

BLOCK_ID: 区所在块的ID

BYTES: 该区的字节

BLOCKS : 该区的块数量

RELATIVE_FNO:相对文件ID

执行如下:

sys@PDB1> select * from dba_extents wheresegment_name='CUSTOMER' and rownum <= 5;

OWNER

----------------------------------------------------------------------------------------------------

SEGMENT_NAME

----------------------------------------------------------------------------------------------------

PARTITION_NAME

----------------------------------------------------------------------------------------------------

SEGMENT_TYPE TABLESPACE_NAME EXTENT_ID FILE_ID BLOCK_ID BYTES

------------------------------------------------ ---------- ---------- ---------- ----------

BLOCKS RELATIVE_FNO

---------- ------------

BENCHMARKsql

CUSTOMER

TABLE TPCC 0 131424 65536

8 13

BENCHMARKsql

CUSTOMER

TABLE TPCC 1 13 1432 65536

8 13

BENCHMARKsql

CUSTOMER

TABLE TPCC 2 131440 65536

8 13

BENCHMARKsql

CUSTOMER

TABLE TPCC 3 131448 65536

8 13

BENCHMARKsql

CUSTOMER

TABLE TPCC 4 131456 65536

8 13

通过该视图,我们可以找到某个表段中具有多少个EXTENT,每个EXTENT属于哪个BLOCK,哪个FILE了。

因为存在FILE_ID,而在上篇中的DBA_DATA_FILES视图也存在FILE_ID的,所以,两个视图能够通过FILE_ID进行连接了。

从我们自己的查询中发现,每个EXTETN基本就是8个BLOCK数量,大小是65536个字节。

猜你在找的Oracle相关文章