Oracle数据库物理存储介绍

Oracle的数据在逻辑上存储在表空间中,物理上存储于表空间所包含的物理文件中(数据文件)。
Oracle数据库的物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告日志文件等。

数据文件

数据文件是用于存放Oracle系统内部数据和用户应用程序数据的文件。Oracle在创建表空间的同时会创建数据文件。
在表空间创建数据对象的时候,用户无法指定使用哪个数据文件,由Oracle系统负责选择具体的数据文件并在其中分配物理存储空间。
在读取数据的时候,Oracle系统首先从数据文件中读取数据,并将数据存储在内存的高速数据缓存区。当修改和插入数据的时候,Oracle不会立即将数据写入数据文件,而是把数据保存在数据缓存区,然后由Oracle的后台进程DBWR决定如何将其写入相应的数据文件。这样的存取方式减少了磁盘的I/O操作,提高了系统响应性能。
通过查询dba_data_file 或者v$datafile数据字典可以了解Oracle数据库的数据文件信息。
在这里插入图片描述
SYSTEM表空间:系统表空间,存放Oracle系统内部表和数据字典的数据——SYSTEM数据文件
SYSAUX表空间:SYSTEM的辅助表空间,主要存储除数据字典以外的数据对象——SYSAUX数据文件
UODO表空间:撤销表空间,用于存储撤销信息,当用户对数据表进行修改时,撤销表空间临时存放修改前的旧数据——撤销数据文件
USERS表空间:用于存放用户应用系统的数据——用户数据文件

参数文件

服务器参数文件(SPFILE)是二进制文件,用来记录Oracle数据库的基本参数信息(控制文件所在路径,日志缓冲大小等)。
服务器参数文件在安装Oracle数据库系统时由系统自动创建,文件的名称为SPFILEsid.ora,sid为所创建的数据库实例名称。

控制文件

控制文件是一个二进制文件,它记录数据库的物理结构,主要包含数据库名、数据文件与日志文件的名字和位置,数据库建立信息等。控制文件所存放的路径由服务器参数文件spfilesid.ora的control_fiels参数来指定。
每个数据库至少拥有一个控制文件,在系统运行过程中,控制文件还存放系统更改号、检查点信息及归档的当前状态等信息。

日志文件

对数据库所作的修改几乎都记录在日志文件中。在出现问题的时候,可以通过日志文件得到原始数据,从而保证不丢失已有的操作成果。
Oracle的日志文件主要包括重做日志文件和归档日志文件。

重做日志文件

在数据库运行期间,当用户执行commit命令(数据库提交命令)时,数据库首先将每笔操作的原始记录写入到日志文件中,写入日志文件成功后,才把新的记录传递给应用程序。
为了保障数据安全,每个Oracle实例都启用一个日志线程来记录数据变化。日志线程由若干“日志组”构成,而每个日志组又由一个或者多个日志文件构成。

归档日志

在所有的日志组中的日志文件都被写入一遍之后,日志写入进程将再次转向第一个日志组进行重新覆写,可以设置归档模式,让日志文件都被写满即将被复写之前,先由归档进程将日志文件中的日子读出,写入到归档日志文件中,这个过程称之为归档。

密码文件

密码文件是Oracle系统用于验证sysdba权限的二进制文件。当远程用户已sysdba或者sysoper链接数据库时,需要密码文件验证。
Oracle 11g 密码文件的默认存放位置是%dbhome_1%\database目录下,名称为PWD.
创建密码文件的命令如下:
orapwd file= password= entries=<max_users>;
filename:密码文件名称;
password:表示设置的账号口令
max_users:表示密码文件中可以存放的最大用户数,即允许以sysdba/sysoper权限登陆数据库的最大用户数。

警告文件

用来记录系统运行信息和错误信息。名称通常为(alter_orcl.log)。
可以通过background_dump_dest参数值来查看文件存放位置。
在这里插入图片描述

跟踪文件

跟踪文件包括后台进程跟踪文件和用户进程跟踪文件。
后台进程跟踪文件用于记录后台进程的警告和错误消息。文件的位置有初始化参数background_dump_dest确定,名称为.trc。
用户进程跟踪文件,用于记录与用户进程相关的信息,主要用于跟踪SQL语句。文件位置有初始化参数user_dump_dest确定,名称为ora.trc。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值