为什么要查询数据字典dba_free_space
A.显示一个表的属主
B.确定任何一个段被创建的时间
C.显示在一个表空间中的空闲块的个数
D.确定当前分配给一个表的区段个数
参考答案:C
解析: 这一题是测试对区段相关的数据字典dba_free_space的理解程度。因为在教材中只列出了数据字典dba_free_space而并未进一步解释,因此我们可以使用DBA用户登录数据库系统并使用如下的SQL*Plus命令列出数据字典dba_free_space的结构:
SQL>desc dba_free_space
名称 是否为空 类型
-------------------------- ----------- ---------------
TABLESPACE_NAME VARCHAR2(30)
FILE_ID NUMBER
BLOCK_ID NUMBER
BYTES NUMBER
BLOCKS NUMBER
RELATIVE_FNO NUMBER
随后,使用如下的SQL查询语句列出数据字典dba_free_space中每一列的详细注释信息:
SQL>select COLUMN_NAME, COMMENTS
2 from dict_columns
3 where table_name=’DBA_FREE_SPACE’;
COLUMN_NAME COMMENTS
-------------------- ---------------------------------------------
TABLESPACE_NAME Name of the tablespace containing the extent
FILE_ID ID number of the file containing the extent
BLOCK_ID Starting block number of the extent
BYTES Size of the extent in bytes
BLOCKS Size of the extent in ORACLE blocks
RELATIVE_FNO Relative number of the file containing the extent
已选择6行
仔细阅读以上查询的结果,不难看出只有选项C才是正确的,而其他的选项都不正确。