oracle概念-数据库文件概述

重要参考


oracle包含三大基本文件:

1:数据文件(data file)
2:控制文件(control file)

3:联机重做日志文件(online redo log file)


oracle 数据库 的 文件 (files) 的概念:


oracle数据库的体系结构最终组件反映在存储在磁盘上的物理文件,oracle有若干种类型的数据文件,,每一个数据文件都有不同的目的。 

       a : 数据库数据文件     b : 控制文件  c : 联机重做日志文件  d : 参数文件 e :其他数据库相关文件


下面一一介绍以上文件:


1:数据库数据文件

数据文件是一个存储在磁盘上的物理文件,这些文件用于存储数据库数据,数据库数据文件仅仅被DBWR进程写入。

这些数据库数据文件是和表空间进行关联的,包含了表和索引。


2:控制文件


控制文件是一种数据库的二进制文件包含了许多的数据库信息,包含了数据库名,数据日志文件,如果控制文件无效,oralce数据库不能成功启动。

因为控制文件是很重要,oracle允许你拷贝多个控制文件的备份,在不同的磁盘上放多个控制文件是DBA的良好的习惯。


3:联机重做日志文件的概念(online redo  logs )


联机重做日志文件就像一个记录带记录了oracle数据库的每一个改变,当oracle数据库发生变化的时候,这些变化是有规律的记录在联机重做日志日志中,就像VCR记录一个movie一样。


当磁盘出现破坏的时候,你可以使用备份oracle的文件替换存储在磁盘上的数据,如果备份数据是很多天以前的,你将丢失一些数据。

幸运的是 oracle 在联机重做日子文件中保存了这些操作事务,能够通过这个文件让丢失的事务操作重新进入数据库中。

这意味着oracle能够通过联机重做日志文件在oracle数据库启动是时候重新恢复丢失的数据。


需要注意的是oracle需要两个联机重做日志文件,oracle将首先在第一个文件中写信息,当第一个文件满的时候,oracle将转换到第二个日志文件写同同样的日志文件,这些日志成为oracle联机重做日志组。


4: oralce 参数文件


参数文件(有时叫 init.ora)包含了oracle启动时候需要的配置信息,通过参数文件我们能够找到控制文件,以及写trace 文件,还有其他oracle的信息,

如果没有参数文件,oracle将不能启动,oracle 允许你有一个客户端的参数文件--PFILE或者服务器端的参数文件(SPFILE)

没有特殊启动现在都用 SPFILE文件启动。


5:其他相关的oracle文件


在ORACLE_HOME以下的目录中,你将看到很多不同的文件,我们主要介绍以下几个:


1:ORACLE Trace files: oracle在很多不同的情况下创建这种文件,它们是被创建当数据库有意外的时候,或者session 失败,或者

个异常让oracle中断,或者基本的oracle的操作的命令(查询表,DML,DDL ,TL)等。


2:Alert 日志: 这是oracle数据的普通日志文件。


3: NetWorking  configuration files (网络配置文件) 这些文件用于配置oralce不同的网络组件,例如: tnsnames.ora和listener.ora


4 : oracle 数据 软件包  包含了让oracle运行的基本的oralce 程序。


讨论了以上这些数据文件后,让我们看看oracle数据库在启动的不同的状态,这些参数文件的作用。


二:不同oralce启动状态的oracle 文件的作用。


1 :close ---> NOMOUNT状态

需要做如下工作:

第一读取初始化文件:
在$ORACLE_HOME/dbs中
首先去找spfileSID.ora
如果没有找到,找 spfile.ora
如果没有找到,找 initSID.ora
以上是启动找三个文件的顺序。
第二: 分配SGA
第三: 启动后台进程
以上两步我认为相当于建立oralce的instance
第四:打开alertSID.log文件 和 trace file


2 :NOMOUNT -->MOUNT 状态

进行如下工作:

第一:把数据库和已经启动的实例关联起来
第二:通过参数文件中指定的control file文件位置找到control file 然后打开读取
第三:读取控制文件(control file) ,获取数据文件(data file)和联机重做日子文件(online redo log file)的名字,只是获取这个名字,但是不检测和关心是否这个data file 和这个online redo log file 的存在。


3 :MONNT-->OPEN


打开 data file (数据文件) 和 
online redo log files (联机重做日子文件)


如果这个时候 data file 和 联机重做日志文件出错了
这个时候就会报错


会检查联机重做文件和数据文件的一致性,如果不一致,
会做相关的一致性的清除工作。

control file的内容 :
1: 数据库的名字  和 identifier
2:数据库创建的时间戳
3:数据库的表空间和表空间的名字
4:记录了数据文件和联机重做日志文件的位置:
5:包含了联机 重做日志的 顺序序列号
6:checkpoint 信息
7:undo segments 的开始点和技术点
8:redo log archive 联机日志归档信息
9:backup 信息(备份信息)


注意:
oracle启动的时候读取启动初始化信息,
初始化信息中包含了控制文件的位置
控制文件中包含了联机重做日志文件和数据文件的位置


这三个控制文件的大小一样,3个控制文件最好放在
不同的物理磁盘上,往控制文件中写信息的时候
并发同时写,所以3个控制文件的内容是相同的,
但是读取的时候,只读取第一个,如果3个控制文件
有一个出错了,oracle就不能启动了。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值