/*
  控制文件是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. C#.NET 中visual studio生成的.pdb/ .vshost.exe/ .vshost.exe.manifest文件是什么

      pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配 ...

  2. TWS日志查看

    背景:记录下tws的日志查看过程,备忘 1 日志查看过程 根据企业的流水号,在日志中查询企业发送的报文: ps:期间最好将日志所在的行号进行记录,方便定位. 2017032802_2017070700 ...

  3. LeetCode-Interleaving String[dp]

    Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. Fo ...

  4. 【canvas学习笔记二】绘制图形

    上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个 ...

  5. Python_网络爬虫(新浪新闻抓取)

    爬取前的准备: BeautifulSoup的导入:pip install BeautifulSoup4 requests的导入:pip install requests 下载jupyter noteb ...

  6. net 将手机号码中间的数字替换成星号

    Regex.Replace(link.user_tel, "(\\d{3})(\\d{5})(\\d{3})", "$1*****$3")

  7. PHP面向对象中 static:: 与 self:: parent:: $this-> 的区别

    很多好几年工作经验的PHP工程师,对PHP面向对象中 static:: .self::.parent::.$this->  的定义和使用都不清晰,特做详细梳理: static:: 可以访问全局作 ...

  8. storm从入门到放弃(一),storm介绍

    背景:目前就职于国内最大的IT咨询公司,恰巧又是毕业季,所在部门招了100多个应届毕业生,本人要跟部门新人进行为期一个月的大数据入职培训,特此将整理的文档分享出来. 原文和作者一起讨论:http:// ...

  9. IntelliJ idea学习资源

    工作需要, 最近得从Eclipse转战到Idea, 找了些不错的学习资料: 1, 从eclipse上迁移过来的用户说明: https://www.jetbrains.com/help/idea/201 ...

  10. Javascript DOM 编程艺术———总结-2

    第三章: 一,DOM: Document(文档) Object(对象):用户定义对象,内建对象,宿主对象. Model(模型) 二,节点: 元素节点:诸如:<body> <p> ...