网上有很多关于控制文件的操作,我大概看了下。有很多都是炒来炒去转来转去。下面以自己理解和操作为例来对oracle的控制文件进行下介绍。

首先介绍下控制文件

在oralce数据库中,控制文件是一个很小的二进制文件,一般大小在10MB左右在数据库创建时被自动创建,并在数据库变化时更新。控制文件不断被更新,并且在任何时候都要保证控制文件可用。控制文件在oracle中扮演者很重要的角色,没有控制文件或者控制文件损坏数据库必然down掉。控制文件包含有数据库结构信息,数据文件和日志文件信息。

由于控制文件在数据库中的重要位置,所以保护此文件时非常重要的。因此建议采用多路控制文件或者备份控制文件的方法。当控制文件损坏时,用户可以通过备份来恢复控制文件。系统提供手工创建和把控制文件备份成文本形式,从而更加灵活管理和保护控制文件。控制文件中记录了对应数据库结构i信息如:数据文件,日志文件名称及位置和当前参数位置,其中主要包括如下内容:

1.  数据库名称及SID标识.

2.  数据文件和日志文件列表.

3.  数据库创建的时间戳.

4.  表空间信息.

5.  当前重做日志文件序列号.

6.  归档日志信息.

7.  检查点信息.

8.  回滚段的起始和结束.

9. 备份数据文件信息.

数据文件如此重要那我们应该怎样对控制文件进行日常管理.

(1) 及时备份控制文件

oracle 数据库的控制文件是在创建数据库时自动创建的,一般情况下,控制文件最少应该有一个副本(最少两个控制文件,放在不同的磁盘上,保证在数据发生异常的时候做数据回滚操作).当oracle 数据库的实例启动时,控制文件用于在数据库(包括:数据文件,控制文件及日志文件)和实例之间建立起关联.在数据操作时必须被打开.当数据库的物理组成(增加一个日志文件)发生变化时,oracle会自动把这变化信息记录到控制文件中.如果数据库的物理组成发生了变化,则则建立用户及时备份控制文件.

(2) 保护控制文件

当控制文件被损坏,数据库将无法启动.而且修复也很困难.控制文件在数据库运行中起到动摇作用.由于控制文件对整个数据库起到非常重要作用,因此因此在管理控制文件时候需要采用多种策略或准则来保护控制文件.目前采用的方法为多路复用控制文件和备份控制文件.那如何对控制文件进行多路复用呢,在初始化参数 CONTROL_FILE中列出了当前数据库的所有控制文件名.oracle将根据CONTROL_FILE参数中的信息同时修改所有的控制文件,但只读取其中的第一个控制文件中的信息.另外,需要注意的是,在整个数据运行期间,如任何一个控制文件损坏,那么实例就不能在继续运行.实现控制文件的多路复用主要包括更改 CONTROL_FILES 参数和复制文件两个步骤,具体如下:

1. 更改 CONTROL_FILES 参数.

A.  设置多路参数,控制文件应保存在不同的磁盘文件下.

2.  实现文件的备份操作.

A. 对控制文件实现备份机制.

oracle 控制文件多路复用的更多相关文章

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

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

  2. 【Oracle】RAC控制文件多路复用

    1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...

  3. Oracle数据库控制文件多路复用

    Oracle数据库控制文件多路复用多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢 ...

  4. Oracle控制文件

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

  5. Oracle 控制文件(CONTROLFILE)

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

  6. oracle 控制文件的重建

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

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

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

  8. oracle之 RAC 11G ASM下控制文件多路复用

    如果数据库仅有一组control file文件,需要添加一组或者多组,保证一组文件损坏或者丢失导致数据库宕机. -- 环境说明SQL> select * from v$version;BANNE ...

  9. Oracle数据库体系结构(4)oracle控制文件

    控制文件的概述 1.控制文件是oracle数据库非常重要的物理文件,描述了整个数据库的物理结构信息,包括数据库名称.数据文件与重做日志文件的名称与位置,日志序列号等信息.数据库实例根据初始化参数CON ...

随机推荐

  1. 添加gitlab远程账号 使用注意事项

    gitlab上面使用的密钥有两种,一种是Deploy keys 这种密钥是只读的,添加了之后,相应设备只拥有clone的权限,不被允许进行push操作.(在相应的库里面的设置里面添加) 还有一种是 S ...

  2. zoj 3790 Consecutive Blocks 离散化+二分

    There are N (1 ≤ N ≤ 105) colored blocks (numbered 1 to N from left to right) which are lined up in ...

  3. 标准C程序设计七---54

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  4. javascript解决小数的加减乘除精度丢失的方案

    原文:http://www.jb51.net/article/85463.htm function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg ...

  5. Yii查看(输出)当前页面执行的sql语句

    在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下 ...

  6. LeetCode OJ--Next Permutation *

    求一个排列的下一个排列. 1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1 #include <iostream> #include <vector&g ...

  7. LeetCode OJ--Binary Tree Preorder Traversal

    http://oj.leetcode.com/problems/binary-tree-preorder-traversal/ 二叉树的先跟遍历,写的是递归版本,也可以使用stack来进行,替代了递归 ...

  8. java webservice wsimport 无法将名称 'soapenc:Array' 解析为 'type definition' 组件 时对应的解决方法

    (一):代码如下: package com.enso.uploaddata; import org.apache.axis.client.Call; import org.apache.axis.cl ...

  9. vue Syntax Error: Unexpected token {

    > music@1.0.0 dev F:\music\music> node build/dev-server.js > Starting dev server...ERROR Fa ...

  10. NMM3DViewer 设计

    在FrameworkInterfaces工程的INMM3DServer.cs中定义了 岩石材料结构 BlockMaterial  -----> StrBLOCKProperty     publ ...