/*
  控制文件是oracle数据库最重要的物理文件之一,每个oracle数据库都必须有一个控制文件,在启动数据库实例时,
  oracle会根据初始化参数查找到控制文件的名称及位置信息,并读取控制文件的内容,
  然后根据控制文件的信息(数据库名称、数据文件、日志文件的名称及位置等)在实例和数据库之间建立关联
  如果无法找到控制文件或控制文件被破坏,则数据库实例无法启动,并且很难修复。

  控制文件很小10M左右,为二进制文件,包含有数据库的结构信息,包括数据文件和日志文件,
  可以理解为物理数据库的元数据存储库,控制文件在数据库创建时自动创建,并在数据库发生物理变化时更新。
  控制文件不断被更新,并且在任何时候都是可用的。只有oracle进程才能够安全地更新控制文件的内容,
  所以,任何时候都不要手动地编辑控制文件。

  控制文件记录了数据库的结构信息和数据库当前的参数设置,其中主要包含如下内容
    1.数据库名称和SID标识
    2.数据文件和日志文件列表
    3.数据库创建的时间戳
    4.表空间信息
    5.当前重做日志文件序列号
    6.归档日志信息
    7.检查点信息
    8.回滚段(undo segment)的起始和结束
    10.备份数据文件信息

  如何对控制文件进行日常管理?
    1.及时备份控制文件。
    当oracle数据库的实例启动时,控制文件用于实例和数据库之间建立关联,
    如果数据库的物理组成发生了变化,则建议及时备份控制文件。
    2.保护控制文件。
    一旦控制文件被损坏,数据库便无法启动,而且很难修复,控制文件的管理与维护非常重要。
    需要采取多种策略来保护控制文件,主要包括多路复用控制文件和备份控制文件。
*/

--备份方式一多路复用
    alter system set control_files=
          'E:\app\Administrator\oradata\db1\CONTROL01.ctl',
          'E:\app\Administrator\flash_recovery_area\db1\CONTROL02.ctl'
    scope = spfile;
     'D:\OracleFiles\ControlFiles\CONTROL03.ctl'
--查看控制文件的位置
    select name as 控制文件 from v$controlfile;

/*
  创建控制文件
    如果突发意外,导致数据所有控制文件丢失或损坏,唯一的补救办法就是手动创建一个新的控制文件
    手动创建:
    此操作需要在startup nomount模式下进行 并做好数据文件和重做日志文件的备份
*/
    create controlfile
    reuse database db1
    logfile
     'D:\OracleFiles\oradata\REDO01.log',
     'D:\OracleFiles\oradata\REDO02.log',
     'D:\OracleFiles\oradata\REDO03.log'
    datafile
    'D:\OracleFiles\oradata\DB_ZHENG.DBF',
    'D:\OracleFiles\oradata\EXAMPLE01.DBF',
    'D:\OracleFiles\oradata\SYSAUX01.DBF',
    'D:\OracleFiles\oradata\SYSTEM01.DBF',
    'D:\OracleFiles\oradata\UNDOTBS01.DBF',
    'D:\OracleFiles\oradata\USERS01.DBF'
    maxlogfiles
    maxlogmembers
    maxinstances
    maxdatafiles
    noresetlogs
    noarchivelog;

    recover datafile 'D:\OracleFiles\oradata\DB_ZHENG.DBF',

--备份和恢复
    --1.备份 备份为二进制文件 bkp
    alter database backup controlfile to 'D:\OracleFiles\ControlFiles\control_file1.bkp';

    --备份为脚本文件实际上就是备份为可读的文本文件,该文件实际上是sql脚本,可以用它来重新创建控制文件
    --跟踪文件的存放位置由spfile文件(init.ora)中的USER_DUMP_DEST参数来决定
    alter database backup controlfile to trace;
    show parameter user_dump_dest;
    --2.恢复
    /*    当控制文件执行备份后,即使发生了磁盘物理损坏,
    只需要在初始化文件中重新设置control_files参数的值,使它重新指向,即可重新启动数据库
    首先关闭数据库 然后复制备份文件将损坏的控制文件备份 重启数据库即可。
    */

--查询控制文件的信息
    /*
    控制文件是一个二进制文件,被分隔成许多个部分,分别记录各种类型的信息。每个信息成为一个记录文档段。

    与控制文件相关的数据字典视图
    V$controlfile 包括所有控制文件的状态信息
    V$controlfile_Record_Section 包括控制文件各个记录段的信息
    V$parameter 包括系统的所有初始化参数,从中可以查询参数control_files的值

    记录文档段的类型 每条记录的大小 最大记录条数 已创建的数目信息
    */
    select type,record_size,records_total,records_used from v$controlfile_record_section;
        

【Oracle】控制文件管理的更多相关文章

  1. Oracle 控制文件管理

    控制文件是一个很小的二进制文件(10MB左右),含有数据库结构信息,包括数据文件和日志文件信息.控制文件在数据库创建时被自动创建,并在数据库发生物理变数时更新.控制文件被不断更新,在任何时候都要保证控 ...

  2. Oracle体系结构之控制文件管理

    控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...

  3. [20190530]oracle Audit文件管理.txt

    [20190530]oracle Audit文件管理.txt --//昨天听课,讲一些oracle相关安全的问题,对方提到audit file的管理,应该引入OS audit,这样目的是仅仅root查 ...

  4. Oracle日志文件管理与查看

    Oracle日志文件管理与查看 from:http://hi.baidu.com/shuker/item/25ee611ee960c7426826bb1f 1.查询系统使用的是哪一组日志文件: sel ...

  5. Oracle控制文件

    一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等 ...

  6. oracle 控制文件的重建

    目录 oracle 控制文件的重建 NORESETLOGS RESETLOGS oracle 控制文件的重建 不到最后时刻,如三个控制文件都已损坏,又没有控制文件的备份.还是不要重建控制文件,处理不好 ...

  7. Oracle 控制文件(CONTROLFILE)

    一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等 ...

  8. Oracle 控制文件损坏解决方案

    Oracle 控制文件损坏解决方案 故障一:丢失(损坏)一个控制文件 前台报错:ORA-00205:error in identifying control file,check alert log ...

  9. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  10. oracle控制用户权限命令

    ORACLE控制用户权限: 首先使用系统中的拥有DBA权限的账号(system)登录: 一.创建用户: 1.DBA使用creater user语句创建用户: --创建登录用户名为:user01,密码为 ...

随机推荐

  1. STL—内存的配置与释放

    上一篇我们介绍了STL对象的构造与析构,这篇介绍STL内存的配置与释放. STL有两级空间配置器,默认是使用第二级.第二级空间配置器会在某些情况下去调用第一级空间配置器.空间配置器都是在allocat ...

  2. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等

    微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...

  3. Android--Intent组件带参传递与返回

    Android 是 单例模式: 表示 application 唯一的.每个应用被启动的时候,其实是 application 被创建. Context 上下文: context 是 Applicatio ...

  4. 51nod_1605:棋盘问题

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1605 题目中最有用的点其实还是x必为奇数 #include& ...

  5. Druid 详细介绍

    文章来自阿里巴巴 Druid是一个JDBC组件,它包括三部分:  DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. DruidDataSource 高效可 ...

  6. 操作系统,银行家算法模拟实现(Windows 环境 C++)

    计算机操作系统课设需要,写了两个下午的银行家算法(陷在bug里出不来耽误了很多时间),参考计算机操作系统(汤子瀛) 实现过程中不涉及难度较大的算法,仅根据银行家算法的思想和步骤进行实现.以下为详细步骤 ...

  7. Mybaits简诉

    先组织一下语言!Mybatis是一个框架,一个数据持久化的框架,作用就是SQL语句的映射!减少了JDBC繁琐的数据操作与类型转换!简而言之,就是方便.轻巧!什么是持久化,持久,恩,JDBC就是一个数据 ...

  8. (转)Linux命令unzip

    场景:解压war包时候用到该命令,感觉很方便. 1 基本用法 unzip [选项] 压缩文件名.zip 1.2 完整语法 unzip [-cflptuvz] [-agCjLMnoqsVX] [-P & ...

  9. (转)Linux文件系统的实现

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状 ...

  10. 前端数据存储方案集合(cookie localStorage等)以及详解 (一)

    客户端.前端 存储 一. 起 因 首先解释下为什么想来写这个关于前端存储的问题,因为最近在做小程序相关的内容.但是,在开发过程中,我们难免会遇到 token 存储. 代码缓存. 图片存储等等. 以及可 ...