oracle_控制文件--笔记

oracle数据库物理文件大致有8种:

  1. 参数文件(parameter file)
  2. 跟踪文件(trace file)
  3. 警告文件(alert file)
  4. 数据文件(data file)
  5. 临时文件(temp file)
  6. 控制文件(control file)
  7. 重做日志文件(redo log file)
  8. 密码文件(password file)

我认为最重要的是数据文件和重做日志文件。因为就算其他文件都损坏了,我也能恢复出需要的其他数据。
(数据管理的重心是重在预防,而不是亡羊补牢)

控制文件是什么?控制文件的作用?
    其实吧,控制文件是一个很小的二进制文件,用于记录数据库的物理结构。
    ----(也是说,把它需要重建策成跟踪文件才能用文本工具打开阅览内容)。
    

控制文件记录着oracle很重要的信息。

    比如说:

  1. 创建数据库的时间戳,
  2. 数据文件的名字及位置,
  3. 重做日志文件的名字及位置,
  4. 检查点信息(Checkpoint),
  5. 表空间信息
  6. 日志历史记录(Log History)
  7. 归档日志的信息
  8. 备份信息
  9. 当前的日志序列号(Log Sequence Number)

控制文件以数据的重要性来分可分为两种: 不可覆盖部分和可覆盖部分。

不可覆盖部分:记录着数据文件,重做日志文件的名称和位置,表空间信息,检查点信息等。
            (数据库启动-->参数文件-->控制文件-->数据,重做日志文件)-----文件的联系
        
        可覆盖部分: 归档日志文件信息和RMAN备份信息。
        control_file_record_keep_time参数决定着这两者的保存时间。(一般默认是7天)

与控制文件相关的视图
   
     v$controlfile_record_section----录了几乎全部的controlfile中的相关信息。
    SQL> desc v$controlfile_record_section
     Name                                      
     ----------------
     TYPE                                      -------类型
     RECORD_SIZE                               ------每个类型每条记录占用的空间       
     RECORDS_TOTAL                             ------每个类型所能保留的最大记录数       
     RECORDS_USED                              -------每个类型当前已占用的记录数
     FIRST_INDEX                                 
     LAST_INDEX                                        
     LAST_RECID

v$controlfile---"name列",记录每个控制文件的存储的位置。
    或---
    参数文件----control_files参数也记录着控制文件的位置.

SQL> select name from v$controlfile
      2  /
    NAME
    --------------------------------------------------------------------------
    /home/app/oracle/oradata/orcl/control01.ctl
    /home/app/oracle/flash_recovery_area/orcl/control02.ctl

SQL> select value from v$parameter2 where name=<control_files>;
    VALUE
    -----------------------------------------------------------------------------
    /home/app/oracle/oradata/orcl/control01.ctl
    /home/app/oracle/flash_recovery_area/orcl/control02.ctl

看来我的oracle的控制文件当前只有一个备份,即共两个而已。
    但控制文件太重要了!
    oracle官方建议至少应该拥有控制文件的三个以上的副本!
    
---而您可以通过多路复用技术,将控制文件的副本创建到不同的磁盘上。
    然后再修改初始化参数文件spfile中的 control_files 参数,使之包含所有的控制文件.
    也就是说,把oracle中的控制文件全包含到spfile文件中。

这样做的好处有哪些呢?

    如果你的磁盘坏了,oracle仍能够快速恢复。(是不是很方便?)

-----下面是如何使用多路复用技术了。
    
    1.查看$controlfile,我oracle的控制文件有1个。
    SQL> select name from v$controlfile;
    NAME
    --------------------------------------------------------------------------------
    /home/app/oracle/oradata/orcl/control01.ctl
            
    2.oracle离线。
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    
    3.在你的操作系统上手动备份控制文件。(注意:控制文件的手动备份一定要在数据库停止后再执行!)
      [[email protected] ~]$ cp /home/app/oracle/oradata/orcl/control01.ctl /oracle1
    [[email protected] ~]$ cp /home/app/oracle/oradata/orcl/control01.ctl /oracle2

4.SQL> startuo nomount      
      -------非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
    
    5. 接着呢,修改 spfile 中的 control_files 这个属性,为其增加2个控制文件信息,
       存放在/oracle1/和/oracle2/下。

SQL> alter system set control_files=
      2  </home/app/oracle/oradata/orcl/control01.ctl>,
      3  </oracle1/control01.ctl>,
      4  </oracle2/control01.ctl> scope=spfile
      5  /
    System altered.

6.启动oracle,查看控制文件,多了两个控制文件。
    SQL> startup
    SQL> select name from v$controlfile;

NAME
    --------------------------------------------------------------------------------
    /home/app/oracle/oradata/orcl/control01.ctl
    /oracle1/control01.ctl
    /oracle2/control01.ctl


哪些情况需要备份控制文件呢?----

  1. 增加,删除,或者重命名数据文件时
  2. 增加,删除表空间时,或者表空间可读可写状态时
  3. 增加或者删除重做日志文件或组时。


------备份控制文件的命令

    alter database backup controlfile to <PATH.bak>;-----PTAH:路径。
    
----备份到控制文件后,如果突然你三个控制文件都损坏(这个几率太小了。)

时间: 2024-08-01 04:52:40

oracle_控制文件--笔记的相关文章

oracle_重做日志文件--笔记

重做日志文件(redo log file) 目录       重做日志文件相关.       重做日志文件简介.       查询重做日志文件的信息.       日志切换.       管理日志文件组       增删日志文件组.       增删日志文件成员.       归档与非归档模式. 一.重做日志文件相关.        Oracle引入重做日志的目的:数据库的恢复.    Oracle相关进程:重做日志写进程(LGWR).    重做日志性质:联机日志文件,oracle服务器运行时

day10_控制文件

---------------------验证互为镜像功能--------------------- 窗口1 cd /oracle/app/oradata/ecom rm control03.ctl 窗口2 SQL> startup force; ORACLE instance started. Total System Global Area  285212672 bytes Fixed Size                  1218992 bytes Variable Size    

oracle控制文件

转载请注明出处  控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的物理结构(数据文件.日志文件等的名称和位置),数据库转载和打开都需要控制文件, 还记录了日志序列号,检查点和日志历史信息,同步和恢复数据库都需要控制文件. 控制文件包含以下信息: 数据名称 数据文件名称和位置 重做日志名称和位置 表空间名称和位置 当前日志序列号 检查点信息 日志历史信息 RMAN信息 查询控制文件T-SQL: SQL> col name format a30 SQL> sele

Oracle控制文件移动

Oracle移动控制文件 OS:Windows oracle:10g 移动控制文件即将当前的控制文件由当前位置迁移到另一个新位置. 六步完成控制文件移动: 1.获取控制文件名: SQL> select status,name from v$controlfile; 2.修改SPFILE中的控制文件名: SQL> alter system set control_files= 'D:\oracle\new\CONTROL01.CTL', 'D:\oracle\new\CONTROL02.CTL'

Oracle RMAN 备份控制文件/恢复控制文件

--备份控制文件 rman target / RMAN> startup RMAN> configure controlfile autobackup on; --启动自动备份 RMAN> show CONTROLFILE AUTOBACKUP;  --显示是否自动备份控制文件 RMAN> configure controlfile autobackup format for device type disk to '/backup/%F'; --设置控制文件备份路径 RMAN&g

Oracle控制文件与参数文件管理_超越OCP精通Oracle视频教程培训13

Oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习Oracle Parameter参数文件与Oracle控制文件controlfile的深入解析,如何修改参数文件,Oracle控制文件的作用,针对Resetlogs和NoResetlogs的分析,oracle控制文件的重建/镜像/备份/恢复等日常管理与维护. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://edu.51cto.com/course

RMAN 备份恢复 删除表空间后控制文件丢失

先备份一个控制文件 RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_%U_%T'; drop一个表空间 SQL> drop tablespace xds including contents and datafiles; Tablespace dropped. 删除控制文件 rm /u01/app/oracle/oradata/orcl/control01.ctl rm

【翻译自mos文章】在重建控制文件之前应该考虑的事情

在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.1 and later Information in this document applies to any platform. 目的: 突出控制文件的重要性和在重建控制文件之前应该考虑的问题.

Struts2控制文件的上传与下载

Struts2控制文件上传与下载的几个注意事项: (1)必须将表单的method设置为post,将enctype设置为multipart/from-data.只有这样,浏览器才会把用户选择文件的二进制数据发送给数据. (2)Struts2默认使用的是Jakarta的Common-FileUpload的文件上传框架,因此,如果需要使用Struts2的文件上传功能,则需要在web应用中增加两个JAR文件,即commons-io-2.2.jar和commons-fileupload-1.3.1.jar