1.物理存储组成
主要包括控制文件,数据文件,临时文件和在线重做日志文件。并且这些文件都可在操作系统层面看到。
2.数据库文件的存储机制
ASM(automatic storage management):专门为oracle数据库设计的一种文件系统。
操作系统文件系统:一般来说,oracle存放数据的文件系统通常都使用LVM管理的逻辑卷。这样更易于拓展。
裸设备:裸设备最大的优势在于可以绕过操作的缓冲限制,进行直接的I/O,并且可以写入更大的缓冲。
文件系统集群:集群主要保证了数据的更加安全。集群中的部分节点失败,并不会导致数据文件的丢失。
一个数据库一般使用多种机制来存储数据库文件,例如,数据库将控制文件和在线重做日志文件放在传统的文件系统上;将数据文件放在裸设备上;将剩下的例如临时文件,RMAN备份相关文件放在ASM中,将归档重做日志文件放到文件集群中。
3.数据文件概述
第一、为了方便数据库管理,oracle将表空间概念和数据文件紧密联系起来,每个表空间至少包括一个数据文件,每个数据文件只属于一个表空间。
一个数据库包括的数据文件主要包括:
SYSTEM表空间数据文件:用于存放数据库的元数据,oracle会强制将第一个创建的datafile分配给SYSTEM表空间。
SYSAUX表空间数据文件:SYSTEM表空间的辅助表空间。
UNDO表空间数据文件:主要存放UNDO数据,保证数据的一致性和支持回滚。
临时表空间数据文件:
主要存放只在会话期间存在的数据,会话结束后,自动删除。
当内存不足时,用来存放结果集。
本地管理的表空间,主要用来存放哈希操作和排序操作的特殊文件。
第二、数据文件结构
数据文件结构主要包括数据文件头和数据文件体。
数据文件头中主要包含数据文件的元数据,例如:检查点SCN、绝对文件编号和相对文件编号等。
数据文件体中,主要由数据区组成,数据区分为used、formatted never used和previous used,current unused状态。
4.控制文件概述
数据库的控制文件为一个与该数据库关联的非常小的二进制文件。每个数据库有且只有一个控制文件。为了控制文件的安全,oracle数据库采用多路复用的方式来进行保护,但是每份控制文件内容都是一致的。
控制文件的使用:
控制文件是数据库用来管理数据库状态和找到数据库文件的根文件。其内容包括:
数据库名(DB_NAME)和数据库唯一标识(DBID)
数据库创建时间
关于数据文件、在线重做日志文件和归档重做日志文件的信息
表空间的信息
RMAN备份的信息
5.在线重做日志概述
online redo log在实例恢复中起着非常重要的作用,其记录着所有数据文件的改变。其最少包括两组成员(为了保证数据库开启归档时,一个在进行归档另一个可以同时写入)。
oracle数据库只有数据库恢复时才会使用online redo log 但是数据库管理员可以通过logminer工具来查询数据库历史活动信息。
日志文件的切换原因可能有三种:某日志文件已写满,但是写操作还没结束;日志文件切换被设置成固定时间进行切换,且切换时间已到;手动进行日志文件的切换。
如何判断已被写满的online redo log文件是否可被覆盖重写:
非归档模式:只要保证该日志文件中的记录所对应的数据脏块修改,已经被DBW写入数据文件中,该online redo log文件即可被复用。
归档模式:不仅要保证日志文件记录的块修改需要被DBW成功写入数据文件,还需要保证日志文件已经归档。归档成功之后才能被复用。
oracle使用日志组来冗余在线日志文件,保障日志文件安全。
onlin redo log结构组成:
改变发生的SCN和time stamp
事务ID与产生改变的事务
事务提交的SCN和time stamp(如果提交)
引起改变的操作类型
被修改数据段的段名和类型
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30167136/viewspace-1503687/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30167136/viewspace-1503687/