8.4.2 查询控制文件中记录的信息
在控制文件中记录了数据库的结构信息,如数据文件和重做日志的名称及大小,永久性参数的信息等。控制文件在创建时,它的大小就已经确定,每条信息在控制文件中占用固定大小的存储空间。控制文件的信息是以记录(record)的形式组织的,每条记录所占的存储空间大小、控制文件能够存储的这种记录的数目,以及已经存储的这种记录数等信息,都可以从动态性能视图v$controlfile_record_section中查询。考虑以下查询:
SQL>SELECT type, record_size, records_total, records_used
FROM v$controlfile_record_section;
type record_size records_total records_used
DATABASE 316 1 1
CKPT PROGRESS 8180 11 0
REDO THREAD 256 8 1
REDO LOG 72 16 3
DATAFILE 520 100 4
FILENAME 524 2298 8
TABLESPACE 68 100 5
TEMPORARY FILENAME 56 100 1
RMAN CONFIGURATION 1108 50 0
LOG HISTORY 56 292 1
OFFLINE RANGE 200 16 0
在查询结果中列出了每种类型记录的大小、允许的最大数目以及已存记录的数目。其中type表示记录类型,record_size表示该类型的每条记录所占用的字节数,records_total表示在控制文件中能存储的该类型记录的数目,records_used表示这种记录已经存在的数目。例如,记录类型TABLESPACE表示表空间,这种类型的记录每条占用68字节,在控制文件中最多可以存储100条这样的记录,目前已经存储了8条这样的记录,这说明在当前数据库中最多能创建100个表空间,目前已经创建了5个。又比如,记录类型DATAFILE表示每个数据文件在控制文件中占用520字节,在数据库中最多可以创建100个数据文件,目前已经存在4个数据文件。