研究Oracle数据库的物理存储结构(oracle物理存储结构)
由于Oracle数据库具有广泛的应用,了解Oracle数据库的物理存储结构对我们在管理、使用数据库有重要意义。Oracle数据库的物理存储结构一般可以分为实例层次、数据文件层次、表空间层次和数据块层次四个层次。
首先,我们来了解一下实例层次,它是Oracle数据库的最外层,也是所有Oracle数据库操作的唯一入口。实例层次的主要内容包括数据字典、重做日志文件(Redo Log)、控制档(Control File)和参数文件(Parameter File)几项,数据字典是专门用来保存Oracle数据库全局信息的一个容器,通过它可以掌握数据库中所有数据对象的存储结构元数据。重做日志文件和控制档是用于当Oracle数据库出现问题时,能够恢复损坏的数据。参数文件中记录着专门用于控制实例的参数设置,如果想更改实例参数,就要从参数文件着手,一般来说参数文件的参数只能保存,不能被更改或删除,新的参数只能在参数文件上追加。例如,如果想要添加系统参数db_unique_name,可以添加如下代码:
db_unique_name=orcl
其次,数据文件层次,它是Oracle数据库数据存储的底层,数据文件是存放数据库实际数据、信息的文件,一般来说会将不同类型的表分别存放在不同的数据文件中,这样可以节约一定的空间,也可以更合理、有序的处理数据文件,此外,数据库中的表空间也可以针对不同的数据文件进行自定义大小。可以通过以下语句查看数据文件信息:
select file_name,bytes,tablespace_name from dba_data_files;
再然后,我们来看表空间层次,它的作用是将数据文件租分为数个空间,以便让多个表可以被存放在不同的空间下,这样就可以节省一定的检索时间。Oracle一般有三种表空间,分别是大表空间(Big Table Space)、固定表空间(Fixed Table Space)和可扩展表空间(Ex-tendable Table Space),它们的特点分别如下:
(1)大表空间:表的大小是以整个表空间的空间来进行存储,并且只能存储固定大小的表。
(2)固定表空间:表的大小是固定的,并且不能被修改。
(3)可扩展表空间:表的大小可以被扩展或缩减,可以根据需要添加或删除表。
最后,咱们来看一下数据块层次,数据块是Oracle数据库数据存储的最小单位,每个数据块由一个头部和两个部分构成,头部负责存放数据块内容的描述信息,而两个部分则存放具体的数据内容,比如数据表的表名、字段的名称等。每个数据表的数据块大小一般有16K,32K或64K之分,可以通过下面的语句查询数据块的大小:
select b.name,b.block_size from dba_tables dt,dba_tablespaces b where dt.tablespace_name=b.tablespace_name;
总之,Oracle数据库的物理存储结构设计到实例层次、数据文件层