Oracle 数据库存储物理结构

  • 物理存储结构是实际的数据存储单元,对应于操作系统文件。
  • oracle数据库就是由驻留在服务器的磁盘上的这些操作系统文件组成的。
  • 物理存储结构和逻辑存储结构之间在操作上的一个区别:
    • 逻辑存储结构有创建、删除的操作。
    • 物理存储结构有创建、删除、将其移动到另一个位置(包括改变其名称)的操作。这样可以实现多路复用(控制文件、重做日志文件)和将它们安排到不同磁盘位置、更换名称的功能。

Oracle数据库文件:

  • oracle数据库是作为一个单元处理的数据集合。
  • 数据库的一般用途是存储和检索相关信息。
  • 数据库有一个逻辑结构和一个物理结构。
  • 数据库的物理结构是数据库中操作系统文件的集合。

Oracke数据库由三种文件类型组成有:

  • 数据文件:数据文件包含数据库中的实际数据。
  • 重做日志文件:包含对数据库所做的更改记录。
  • 控制文件:包含维护和验证说句哭完整性的必要信息。
  • 与oracle有关,但从技术上说不属于数据库的附属文件有:
    • 参数文件(SPFILE.ORA)
    • 归档日志文件
    • 密码文件(PWD.ORA)

1.参数文件

    • 参数文件:定义Oracle实例的特性。

    如,它包含调整SGA中一些内存结构大小的参数。

    • 初始化参数文件格式:
      • spfile(二进制文件) 可动态修改(数据库正在运行时可以修改参数)
        • 从10g开始都是spfile的文件
      • pfile(文本文件) 不可以动态修改(文件修改后需要数据库重启)
        • 8i,9i用的比较多
      • 参数文件的作用(约束oracle行为的参数、约束oracleshili)
        • 设定数据库的限制
          • 数据库有多少个文件,数据库一次可以同时打开多少个文件,数据库的内存等
        • 设定用户或者进程的限制
          • 实例最多可以接收多少个用户的并发,最多可以开多少个后台进程等.
        • 设定数据库资源的限制
          • 并行会消化CPU,设置ORACLE是否使用并行等.
        • 调整系统的性能
          • 优化器,优化器的模式,IO等.
    • oracle实例启动时就会去读取参数文件,按照参数文件进行资源配置。
    • SGA_TARGET

    oracle在SGA区(系统全局内存区域:放数据块、redo信息、sharepool、sql字典信息等)的大小.

    • PGA_AGGREGATE_TARGET

    oracle在-5M左右。

  • 在数据库的运行过程中,每当出现数据库检查点或修改数据库的结构后,oracle就会修改控制文件的内容。
  • DBA可以通过OEM工具修改控制文件中的部分内容,但DBA和用户都不应该人为修改控制文件内容,容易破坏控制文件。
  • 控制文件存储了以下关键信息,对数据库的成功启动和正常运行至关重要。
    • 数据库的名称
    • 数据文件、重做日志文件的名称、位置、联机\脱机状态和大小
    • 发生磁盘故障或用户错误时,用于恢复数据库的信息(日志序列号,检查点)
  • 控制文件至少包含以下的信息:
    • – 数据库名字 (DBID)
    • – 数据库建立时间
    • – 数据文件,在线日志文件,归档文件的信息
    • – 表空间信息
    • – Rman的备份信息
    • 控制文件的作用
      • 它包含数据文件,在线日志文件,归档文件的信息,这些信息用于数据库OPEN时的文件验证。
        • – 当数据库的架构改变时,比如增减,删除文件时,会更新控制文件。
      • 包含了数据库恢复时候需要的一些信息,用于数据库的恢复。
    • 控制文件的结构

    (空间允许重用+不允许重用,即允许覆盖+不允许覆盖)

    • 空间允许重用区
      • – 这个区域的信息是可以被从用(覆盖的),当空间不足或者规则满足时,允许覆盖以前的信息,比如归档日志和Rman备份集的信息。
    • 空间不允许重用区
      • – 这个区域的信息是不允许重用(覆盖)的,因为他们是数据库必须的信息,比如表空间,数据文件,在线日志文件等等。

    3.数据文件

      • 数据文件
        • 数据文件是实际存储插入到数据库中的实际数据的操作系统文件。
        • 数据以一种oracle特有的格式被写入到数据文件,其他程序无法读取数据库文件中的数据。
        • 数据文件的大小与他们所存储的数据库的大小直接相关。
        • 数据库写入数据后会由于自动分配新增区而增大,但删除数据却不会使其减小,而只能使得其中有更多的空闲区。
        • 除了SYSTEM表空间之外,任何表空间都可以由联机状态切换为脱机状态。
        • 当表空间进入脱机状态时,组成该表空间的数据文件也就进入了脱机状态。
        • 可以将表空间某一个数据文件单独的设置为脱机状态,以便进行数据库的备份或恢复,否则是不能备份的。
        • 数据存储在用户定义的表中,但是数据文件也包含数据字典、成图像前的修改数据、索引以及其他类型的结构。
        • 一个数据库至少有一个数据文件。
        • 数据文件的特点是:
          • 一个数据文件只能与一个数据库相关。
          • 可以为数据文件设置某些特性以便它们在数据库运行空间不足时能够自动扩展。
          • 一个或多个数据文件形成数据库存储的逻辑单元,这个单元成为表空间。
      • 数据文件
        • 存放实际的数据
        • 隶属于某个表空间
          • – 数据表空间
          • – UNDO 表空间
          • – 临时表空间
      • 数据文件的损坏
        • 需用通过备份恢复
          • – 还原备份文件
          • – 用归档+在线redo 恢复
        • 使用Redo 信息恢复
          • – 创建新数据文件
          • – 用归档+在线redo 恢复

    4.日志文件

      • 重做日志文件
        • 当用户对数据库进行修改时候,实际上是先修改内存中的数据,过一段时间后,再几种将内存中的修改结果成批的写入到上面的数据文件中。oracle采取这样的做法,主要是出于性能上的考虑,因为针对数据操作而言,内存的速度比硬盘的速度快。
        • oracle利用“联机重做日志文件”随时保持修改结果,即oracle随时将内存中的修改结果保存到“重做日志文件”中,“随时”表示在将修改结果写入到数据文件之前,可能已经分几次写入到“重做日志文件”。因此发生故障导致数据库崩溃,oracle也可以利用重做日志文件中的信息来恢复丢失的数据。只要某项操作的重做信息没有丢失,就可以利用这些重做信息来重现该操作。
        • oracle是以循环方式来使用重做日志文件的,所以每个数据库至少需要2个重做日志文件。
      • 重做日志的作用
        • 核心作用
          • – 保护数据的安全
          • – 恢复数据
        • 附加作用--数据同步和分析
          • – Data guard
          • – streams
          • – golden gate
          • – log miner
      • 日志文件损坏
        • ACTIVE活动日志损坏
          • – 数据丢失,数据库损坏
        • INACTIVE非活动日志损坏
          • – 数据不会丢失,可以重建日志文件

    口令文件

      • 口令文件:认证哪些用户有权启动和关闭Oracle实例。

    归档重做日志文件

      • 归档重做日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

    查看数据库名

    SQL> show parameter db_name

    查看实例名:

    SQL> show parameter instance_name

    文件类型

    数据字典

    相关命令

    参数文件

    v$parameter

    alter system set open_cursors=400;

    show parameter cursor;

    select name,value from v$parameter where name='spfile';

    控制文件

    v$controlfile

    show parameter control;

    1、数据库关闭,将控制文件复制一份。

    2、将控制文件的语句备份.

    SQL> 、trace文件在这个路径下:/u01/app/oracle/diag/rdbms/gaga01/gaga01/trace/

    2、可以使用明了查找trace路径:show parameter user_dump_dest;

    数据文件

    dba_data_files

    dba_temp_files

    v$datafile

    看表空间及对应的数据文件信息

    – select file_name,tablespace_name from dba_data_files;

    – select file_name,tablespace_name from dba_temp_files;

    日志文件

    v$log

    $logfile

    3组log文件

    • INACTIVE
    • ACTIVE
    • CURRENT

    select group#,status from v$log;

    alter system switch logfile;

    select group#,member from v$logfile;

    select member from v$logfile;

    归档文件

    v$archived_log

    select name from v$archived_log;

    密码文件

    host本机操作命令

    SQL> ho ls $ORACLE_HOME/dbs/orapw$ORACLE_SID

    告警日志

    host本机操作命令

    SQL> ho ls $ORACLE_BASE/admin/$ORACLE_SID

    adump dpdump pfile

    bdump放警告日志

    Data file数据文件

    记录所有的关系型数据库里的信息

    Control file控制文件

    记录数据库的结构和行为

    Redo log file

    记录块的更改的操作

    以组为单位,组下是成员

    写日志根据组按顺序写

    为了实例恢复

    Alter log

    Other log

    Archived log files归档日志文件

    日志文件是按照顺序写,从一个组写到下一个组叫切换,写1,2,3,然后写1,再写1时会把1的内容覆盖。

    所以将覆盖之前的日志保留,archived log 打开一个进程ARCn,将日志记录到归档日志中

    Parameter file参数文件(数据库运行必须的)

    参数文件分为2种:pfile和spfile

    记录数据库的配置信息,相当于一些开关

    Password file密码文件

    用于控制sysdba的用户进行远程登录的时候使用

    Oracle 数存储——物理结构的更多相关文章

    1. ORACLE体系结构一 (物理结构)- 数据文件、日志文件、控制文件和参数文件

      一.物理结构Oracle物理结构包含了数据文件.日志文件.控制文件和参数文件 1.数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数 ...

    2. oracle rac存储安装

      oracle rac 10.2 的在 linux 上的存储选项 博客分类: Oracle OracleLinux项目管理配置管理  Oracle 集群需要存储的软件和数据 项目 内容 最少磁盘空间 C ...

    3. ORACLE数据库存储结构简介(转)

      首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.   逻辑存储结构:oracle内部的组织和管理数据的方式.  物理存储结构:o ...

    4. Oracle 逻辑存储结构

      一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...

    5. bloomberg bulkfile 在oracle的存储

      文章导航 bloomberg bulkfile 解析 bloomberg bulkfile 在oracle的存储 一 表名和字段名称的命名规则 1.1. 表名以文件名称直接命名,将文件名中的" ...

    6. Oracle 学习总结 - 物理结构

      参考了很多文章,学习自网络 数据库 = 实例(数据库启动时初始的进程和内存结构,进程会作用到对应的内存区域-数据写入器到写入内存缓冲区,日志写入器到日志缓冲区等) + 数据库(物理文件-控制文件,数据 ...

    7. Oracle的存储的三大物理文件

        分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一. ...

    8. Oracle DB 存储增强

      • 设置Automatic Storage Management (ASM)  快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...

    9. ORACLE管理存储结构之物理机构+逻辑结构【weber出品】

      一.数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL> select name from v$datafile; NAME ----- ...

    随机推荐

    1. Decoration5:引入swagger2进行API管理

      这一部我们计划把swagger2引入到项目中,把网站的接口以文档的形式展示出来. 1.引入springfox-swagger2.springfox-swagger-ui 2.实现Swagger2 3. ...

    2. 在编写JSP的时候出现XXX cannot be resolved to a type

      今天遇到这个情况,却发现是eclipse抽风,说javax.servlet.http.Cookie找不到定义,但是经过浏览器测试,可以运行,而JSP源文件中eclipse死活要报错.表示无语. 关于e ...

    3. 商派onex本地部署无法进入的问题

      商派最新版的ONex本地虚拟机部署项目无法进入注册的问题解决 进入项目的database.php文件,复制host的值 vim /etc/hosts,将hosts内容添加到/etc/hosts里面去就 ...

    4. HTTP Status 404–/webDemo/hello

      现在用一排很小的字写出来,我真是个大傻逼

    5. IOC控制反转

      IOC是Inversion of Control的缩写,多数书籍翻译成“控制反转”,还有些书籍翻译成为“控制反向”或者“控制倒置”.     1996年,Michael Mattson在一篇有关探讨面 ...

    6. 第二百六十五节,xss脚本攻击介绍

      xss脚本攻击介绍 Cross-Site Scripting(XSS)是一类出现在 web 应用程序上的安全弱点,攻击者可以通过 XSS 插入一 些代码,使得访问页面的其他用户都可以看到,XSS 通常 ...

    7. STL的map容器将第3个模板参数设为less_equal或greater_equal会怎样?

      最近都在学Linux系统编程,用C就足矣,有段时间没碰C++了,于是实现些算法练手. 实现多项式乘法的时候发现有几项没有合并同类项,最终调试到这一步时发现了问题. res是map类型,用find查找k ...

    8. (转)内核container_of(ptr,type,member) 解析

       container_of(ptr,type,member) 用于在已知结构体里面成员member和该成员指针ptr(就是地址)和结构体类型type, 返回该成员所在的结构体的指针(就是地址), 例如 ...

    9. 将execel表格的数据导入到mysql数据库

      在开发中经常会将现成的execel表格导入到数据库里,否则一个个字段插入填写,太浪费时间,效率很低.本文主要是讲如果将execel表格导入到mysql数据库,希望对各位有所帮助.使用软件:sql工具: ...

    10. PHP导入导出excel表格图片的代码和方法大全

      基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...