物理结构

Oracle物理结构包含了数据文件、日志文件和控制文件

数据文件

每一个Oracle数据库有一个或多个物理的数据文件。一个数据库的数据文件包含全部数据库数据。数据文件有下列特征:

  • 一个数据文件仅与一个数据库联系。
  • 一旦建立,数据文件不能改变大小。
  • 一个表空间由一个或多个数据文件组成。

数据文件中的数据在需要时可以读取并存储在Oracle内存存储区中。例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由Oracle后台进程DBWR决定如何将其写入到相应的数据文件。

日志文件

每一个数据库有两个或多个日志文件的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库的全部修改都记录在日志中。在出现故

障时,如果不能将修改数据永久地写入数据文件,则可以利用日志获得此次修改,所以不会丢失已有的操作成果。

日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,Oracle允许镜像日志,可在不同磁盘上维护两个或多个日志副本。

日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库中的数据写入到数据库的数据文件。然而任何丢失的数据在下一次数据库打开时,Oracle自动

地应用日志文件中的信息来恢复数据库的数据文件。

Oralce两种日志文件类型:

  • 联机日志文件:这是Oracle用来循环记录数据库改变的操作系统文件

   

  • 归档日志文件:这是指为避免联机日志文件重写时丢失重复数据而对联机日志文件所做的备份

Oracle有两种归档日志模式,Oracle数据库可以采用其中任何一种模式:

NOARCHIVELOG

不对日志文件进行归档。这种模式可以大大减少数据库备份的开销,但可能回导致数据的不可恢复

ARCHIVELOG 

在这种模式下,当Oracle转向一个新的日志文件时,将以前的日志文件进行归档。为了防止出现历史“缺口”的情况,一个给定的日志文件在它成功归档之前是不能重新使用的。归

档的日志文件,加上联机日志文件,为数据库的所有改变提供了完整的历史信息。

在Oracle利用日志文件和归档日志文件来恢复数据库时,内部序列号可以起一个向导的作用。

控制文件

每个Oracle数据库都有一个控制文件,它记录数据库的物理结构,包含下列信息类型:

  • 数据库名
  • 数据库数据文件和日志文件的名字和位置;
  • 数据库建立日期

为了安全起见,允许控制文件被镜象。

每次Orcle数据库的实例启动时,控制文件用于标识数据库和日志文件,当进行数据库操作时它们必须被打开。当数据库的物理组成更改时,Oracle自动更改该数据库的控制文件。数

据恢复时,也要使用控制文件。

参数文件

除了构成Oracle数据库物理结构的三类主要文件外,Oracle数据库还具有另外一种重要的文件:参数文件。参数文件记录了Oracle数据库的基本参数信息,主要包括数据库名、控制

文件所在路径、进程等。与旧版本的初始化参数文件INITsid.ora不同,在Oracle10g后还可以使用二进进制服务器参数文件,并且该服务器参数文件在安装Oracle数据库系统时由系

统自动创建,文件的名称为SPFILEsid.ora,sid为所创建的数据库实例名。

SPFILEsid.ora中的参数是由Oracle系统自动管理。如果想要对数据库的某些参数进行设置,则可能过OEM或ALTER SYSTEM命令来修改。用户最好不要用编辑器进行修改。

<Oracle Database>物理结构的更多相关文章

  1. 03Oracle Database 物理结构,逻辑结构

    Oracle Database 物理结构,逻辑结构 Oracle Database 物理结构 数据文件 Oracle数据库有一个或多个物理的数据文件.数据库的数据文件包含全部数据库数据.逻辑数据物理地 ...

  2. Oracle数据库物理结构

    Oracle数据库物理结构 oracle的数据,实际上是以文件的形式来保存的,文件中出了保存用户的数据之外,还需要保存管理数据和日志数据等等.作为一个DBA,必须需要知道自己的数据分别保存在什么位置上 ...

  3. Oracle442个应用场景-----------Oracle数据库物理结构

    -------------------------Oracle数据库物理结构------------------------------- Oracle数据库物理结构     oracle的数据,实际 ...

  4. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  5. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

  6. Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)

    ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

  7. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  8. Oracle Database 12c Release 1下载安装(自身经历)

    1.访问Oracle官网:https://www.oracle.com/index.html,下载Oracle Database 12c Release 1 (注意:File1和File2都要下载!! ...

  9. Oracle Database 11g Express Editon介绍及安装

    一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...

随机推荐

  1. pdo 事物的处理

  2. 检测Java程序运行时间的2种方法(高精度的时间[纳秒]与低精度的时间[毫秒])

    第一种是以毫秒为单位计算的. 代码如下: long startTime=System.currentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 lon ...

  3. 使用sbt构建spark 程序

    今日在学习scala和spark相关的知识.之前在eclipse下编写了wordcount程序.但是关于导出jar包这块还是很困惑.于是学习sbt构建scala. 关于sbt的介绍网上有很多的资料,这 ...

  4. Palindrome Pairs

    Given a list of unique words. Find all pairs of distinct indices (i, j) in the given list, so that t ...

  5. Ubuntu:我不小心把/var/lock文件夹给删了

    在一个风和日丽的下午,不正常关闭minicom导致了device 没有正常解锁,于是使用minicom的时候提示 device is locked: 根据网上看到的方法只要把/var/lock 里面的 ...

  6. mysql远程连接命令(转)

    一.MySQL 连接本地数据库,用户名为"root",密码"123"(注意:"-p"和"123" 之间不能有空格) C: ...

  7. jQuery实现折叠下拉效果

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. 06Java数组

    动手动脑: import java.io.*; public class QiPan { //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 pri ...

  9. MongoDB的C#官方驱动InvalidOperationException异常的解决办法

    异常情况描述 有一个“文章”类,其中包含一个“List<段落>”类型的属性,“段落”类是抽象类,其子类有“副标题段落”.“文本段落”.“图像段落”.“附件段落”.“列表段落”等类型. 将“ ...

  10. android中回调函数机制完全解析

    1.在要调用的业务操作中,创建一个接口,在接口中创建方法,这个方法表示的是我们原先要在业务类中执行的操作 public interface BackUpSmsListener { /** * 设置总进 ...