前言:
如今大家对“数据库文件的逻辑结构形式是”可能比较重视,姐妹们都需要知道一些“数据库文件的逻辑结构形式是”的相关文章。那么小编同时在网络上网罗了一些关于“数据库文件的逻辑结构形式是””的相关知识,希望看官们能喜欢,兄弟们一起来了解一下吧!摘要:一般情况下,Oracle数据库的体系结构包括物理结构、逻辑结构、内存结构和实例进程结构四部分,这里主要介绍的是物理结构和逻辑结构两部分知识。Oracl数据库的物理结构由存储在磁盘中的操作系统文件所组成,主要包括数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)三种文件。而Oracle数据库的逻辑结构则包括表空间(Tablespace)、段(Segment)、区(Extent)和数据块(Block)四个名字。一般是多个数据块组成一个区;多区组成一个段;多个段组成一个表空间,而多个表空间组成一个Oracle数据库。
本文主要介绍Linux系统中的Oracle数据库的物理结构和逻辑结构,详细内容请参考下文。
一、访问Linux系统
1.登录Linux系统
2.切换到数据库帐户
执行指令# su - oracle
3.登录DBA帐号
执行指令# sqlplus / as sysdba
4.查看当前数据库实例
执行指令> select * from global_name;
二、Oracle数据库的物理结构
1. 数据文件(Date File)
说明:数据文件是指存储数据库数据的文件,就是用于保存用户应用程序数据和Oracle系统内部数据的文件。
(1)查看数据库中的数据文件
执行指令> select tablespace_name,file_name,autoextensible from dba_data_files;
(2)查看数据文件的信息结构
执行指令> desc dba_data_files;
2. 控制文件(Control File)
说明:控制文件是一个二进制文件,记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和位置、数据库建立日期等数据库信息。
执行指令> select name from v$controfile;
3.日志文件(Log File)
说明:日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。
执行指令> select group#,members,status from v$log;
备注:通过上述指令可以看到status状态字段为cunrrent表示是系统当前使用的日志文件组,当1日志文件组的空间被占用完后,数据库会自动转换到另一个日志文件组。
也可以使用alter system命令进行手工日志切换,命令如下:
> alter system switch logfile;
三、Oracle数据库的逻辑结构
说明:逻辑存储结构是从逻辑的角度分析数据库的构成,是对数据库存储结构在逻辑概念上的划分,并非物理上实际存在的数据文件。
1.表空间
说明:数据库表空间实际上是一个逻辑的概念,物理上是并不存在,目的是将一组data files组合在一起组成一个tablespace管理。创建数据库时,系统会自动创建一些表空间,这些表空间说明如下:
执行指令> select * from dba_tablespaces;
2. 段(Segment)
说明:一个段存储了一个数据库对象,比如一张表,一个索引都属于一个数据库对象。段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。
执行指令> select distinct(segment_type) from dba_segments;
3. 区(Extent)
说明:在Oracle中,区(Extent)是磁盘空间分配的最小单位,区由一个或者多个数据块组成,而一个或多个区又组成一个段。
执行指令> select min_extents,max_extents,tablespace_name from dba_tablespaces;
4. 块(Block)
说明:块(Block)是用来管理存储空间的基本单位,也是最小的逻辑存储单位。数据库是以块为单位进行逻辑读写(I/O)操作的。
执行指令> show parameter db_block_size查看块的大小
备注:一个数据库主要由:块头部、表目录、行目录、空闲空间和行空间五部分组成。
标签: #数据库文件的逻辑结构形式是