Oracle的文件系统

本文详细介绍了Oracle数据库的文件系统,包括控制文件(.CTL)、数据文件(.DBF)、日志文件(.LOG)以及参数文件。数据文件存储数据库中的数据,日志文件记录数据库更改,控制文件保存数据库物理状态。文章还深入讨论了日志文件的类型,如在线重做日志和归档重做日志,并阐述了如何进行各种日志操作。同时,讲解了控制文件的重要性和管理,以及参数文件的作用和位置。
摘要由CSDN通过智能技术生成

Oracle的文件结构图如下:

Oracle的文件系统主要分成以下的四大块:

  1>   控制文件(.CTL)

  2>   数据文件(.DBF)

  3>   日志文件(.LOG)

  4>   其他文件

  前三种文件系是Oracle文件系统的主要组成部分,一般在以下路径可以找到:

  $ORACLE_HOME$\oradata\orcl

    .CTL文件为控制文件

    .DBF 文件为数据文件

    .LOG 文件为日志文件

  除了前三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成部分,在启动数据库时,参数文件不直接参与工作,只是控制文件是由参数文件寻找的。参数文件位置:

  $ORACLE_HOME$\admin\orcl\pfile

1.1   数据文件

  真正存储数据库中的数据,包括表,索引,试图等

  通常情况下数据文件的后缀名都是.DBF,但这只是约定俗成的一种做法,实际上数据库并不要求数据文件以.DBF为后缀,只是便于区分,建议建立数据文件的时候都加上。

  查看所有数据文件的文件号、状态和文件名

    SQL> select  *  from v$datafile;

1.2   日志文件

  分三大类:

    alert log files        --警报日志

    trace log files       --跟踪日志 (用户和进程)

    redo log file         --重做日志(记录数据库的更改)。

1.2.1       重做日志文件

  重做日志的简单原理:在数据更新操作commit前,将更改的SQL脚本写入重做日志。主要用于数据库的增量备份和增量恢复。重做日志直接对应于硬盘的重做日志文件(有在线和归档二种),重做日志文件以组(Group)的形式组织,一个重做日志组包含一个或者多个日志文件

  重做日志分为

    在线重做日志      -- online Redo log files

    归档重做日志      -- archive Redo log files

1.2.1   在线重做日志(online Redo log files)

   又称联机重做日志,指Oracle以SQL脚本的形式实时记录数据库的数据更新,换句话说,实时保存已执行的SQL脚本到在线日志文件中(按特定的格式)。

   在线重做日志的原理:

      对于在线重做日志,Oracle 11g默认对于每个数据库实例,建立3个在线日志组,每组一个日志文件,文件名称为REDO01.LOG,REDO02.LOG和REDO03.LOG。(用户可以通过视图操作添加/修改/删除日志组和日志文件来自定义在线重做日志)每组内的日志文件的内容完全相同,且保存在不同的位置,用于磁盘日志镜像,以做多次备份提高安全性。默认情况这3组通常只有一组处于活动状态,不断地同步写入已操作的脚本,当日志文件写满时(达到指定的空间配额),如果当前数据库处于归档模式,则将在线日志归档到硬盘,成为归档日志;若当前数据库处于非归档模式,则不进行归档操作,而当前在线日志的内容会被下一次重新写入覆盖而无法保存。因此,通常数据库在运行时,是处于归档模式下的,以保存数据更新的日志。当前归档日志组写满后,Oracle会切换到下一日志组,继续写入,就这样循环切换;当处于归档模式下,切换至原已写满的日志组,若该日志组归档完毕则覆盖写入,若没有则只能使用日志缓冲区,等待归档完毕之后才能覆盖写入。当然,处于非归档模式下是直接覆盖写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值