控制文件包含的信息:

 
1、数据库的名字
 
2、联机重做日志文件和数据文件的名字和位置
 
3、数据库创建的时间戳
 
4、当前日志的序列号
 
5、检查点信息
 
6、备份信息
 
TIP:数据库启动到mount状态需要控制文件,一旦控制文件丢失,数据库的恢复将会十分困难,所以需要多重备份控制文件
 
control_files 参数指定控制文件的名字
 
TIP:数据库启动需要所有的控制文件可用,当某个控制文件不可用,数据库将不能启动
 
控制文件的大小主要由以下参数值决定:
 
     MAXDATAFILES
     MAXLOGFILES
     MAXLOGMEMBERS
     MAXLOGHISTORY
     MAXINSTANCES
 
 
控制文件在建库时创建【create database】
 
例如:
CONTROL_FILES = (/u01/oracle/prod/control01.ctl,
/u02/oracle/prod/control02.ctl,

/u03/oracle/prod/control03.ctl)

 
增加或者重命名控制文件
 
1、shutdown the database
 
2、复制一个存在的控制文件到一个新的位置,使用操作系统的指令指令
 
3、编辑参数文件,将其中的control_files参数后添加新增加的控制文件的绝对路径【新的控制文件可以重新命名,只要心命名的控制文件名称与参数文件中指定的名称相符合就可以】
 
4、startup database
 
 
创建控制文件步骤:
 
1、列出数据库的所有的datafiles和redo log files
 
     TIP:如果新建的控制文件么有包含之前数据库的所有日志文件和数据文件的位置,将不能恢复数据库
 
2、如果数据库没自动关闭,先关闭数据库,使用shutdown immediate or shutdown abort
 
3、备份所有的数据文件和重做日志文件
 
4、将实例开启到nomount状态
 
5、创建一个新的控制文件,如:
 
CREATE CONTROLFILE
SET DATABASE prod
LOGFILE GROUP 1 ('/u01/oracle/prod/redo01_01.log',
  '/u01/oracle/prod/redo01_02.log'),
GROUP 2 ('/u01/oracle/prod/redo02_01.log',
  '/u01/oracle/prod/redo02_02.log'),
GROUP 3 ('/u01/oracle/prod/redo03_01.log',
  '/u01/oracle/prod/redo03_02.log')
RESETLOGS
DATAFILE '/u01/oracle/prod/system01.dbf' SIZE 3M,
'/u01/oracle/prod/rbs01.dbs' SIZE 5M,
'/u01/oracle/prod/users01.dbs' SIZE 5M,
'/u01/oracle/prod/temp01.dbs' SIZE 5M
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXLOGHISTORY 400
MAXDATAFILES 200
MAXINSTANCES 6
ARCHIVELOG;
 
TIP:
    If the database had forced logging enabled before creating the new control file, and you want it to continue to be enabled, then you must specify the FORCE LOGGING clause in the CREATE CONTROLFILE statement.【如果数据库在新建控制文件之前是处于强制记日志模式,当创建控制文件后仍然想强制记日志,需要在创建时加入force logging 子句】
 
TIP:如果重新命名的数据库的名字,必须加resetlogs子句。或者联机重做日志文件丢失了,也需要加resetlogs子句。
 
 
6、Store a backup of the new control file on an offline storage device.   
 
 
7、编辑control_files参数文件,指定新的控制文件的位置,如果数据库的名字修改了,也需要修改参数文件中指定的DB_NAME参数
 
8、recovery数据库,如果使用的noresetlogs,将不需要使用recovery恢复数据库。
     如果 使用了resetlogs子句,将必须指定USING BACKUP CONTROL FILE,
 
9、打开数据库
     
     1、如果没自信恢复,或者恢复完成,可以用正常方式打开数据库
 
          ALTER DATABASE OPEN;
 
     2、如果在创建控制文件时指定了resetlogs子句,需要用下面的方式打开数据库
 
          ALTER DATABASE OPEN RESETLOGS;
 
Troubleshooting After Creating Control Files
 
     检查时候丢失了数据文件,如果控制文件中没有包含某个数据文件,需要手动rename数据文件到,然后再将数据文件置为活跃状态。
     如果数据文件已经丢失,必须要DROP包含这个数据文件的表空间。
 
     如果在创建控制文件时报错,大部分原因是由于包含的控制文件或者重做日志文件不全或者包含的文件不对造成的。
 
 
备份控制文件的两种方法:
 
1、ALTER DATABASE BACKUP CONTROLFILE TO '/home/oracle/backup/control.bkp';
 
2、ALTER DATABASE BACKUP CONTROLFILE TO TRACE;【SQL语句创建控制文件到trace】
 
 
 
 

控制文件数据字典视图:

View
Description
V$DATABASE
Displays database information from the control file
V$CONTROLFILE
Lists the names of control files
V$CONTROLFILE_RECORD_SECTION
Displays information about control file record sections
V$PARAMETER
Displays the names of control files as specified in the CONTROL_FILES initialization parameter

ORACLE CONTROL FILE 笔记的更多相关文章

  1. [Oracle]数据库的Control File 取Dump后的样例

    [Oracle]数据库的Control File 取Dump后的样例: 片段截取-------------------------------(size = 40, compat size = 40, ...

  2. 番外:Oracle 中关于 Control File 的备份说明

    番外系列说明:该系列所有文章都将作为独立篇章进行知识点讲解,是对其他系列博文进行的补充说明,来自于博客园AskScuti. 主题:关于 Control File 控制文件备份的说明 内容预览:本篇涉及 ...

  3. [Oracle]如何取Control File 的Dump

    ]如何取Control File 的Dump: SQL> alter session set events 'immediate trace name controlf level 3';SQL ...

  4. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  5. 10g ASM下修改control file的位置

    1.查看位置以及name是否正确 SQL> sho parameter name NAME TYPE VALUE ------------------------------------ --- ...

  6. ORA-00245: control file backup failed; target is likely on a local file system

    ORACLE11G RAC alert报错如下:Errors in file /u01/app/oracle/diag/rdbms/dljyzs/dljyzs1/trace/dljyzs1_ora_8 ...

  7. ORA-00245: control file backup failed; target is likely on a local file system (转载)

    环境:DB VERSION: 11.2.0.4.0RAC 2 nodes 问题:邮件显示rman备份失败,查看rman备份日志 Starting Control File and SPFILE Aut ...

  8. ORA-01207: file is more recent than control file -

    OS: [root@yoon ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: Oracle Database 11g E ...

  9. Control File (二)重建CONTROLFILE --- NORESETLOG

    create controlfile  --- noresetlog 由于丢失control01.ctl  alter_karl.log 中显示: -------------------------- ...

随机推荐

  1. poj 1733(带权并查集+离散化)

    题目链接:http://poj.org/problem?id=1733 思路:这题一看就想到要用并查集做了,不过一看数据这么大,感觉有点棘手,其实,我们仔细一想可以发现,我们需要记录的是出现过的节点到 ...

  2. SinoSure

    Sino,就是“中国.东方”的意思, 这个词只能作为前缀使用,不能单独讲.西方社会有时使用“Sino-”来表示“中国(的)”的意思,但是“Sino”均为连接词,并非单独用来表示“中国”之语.如表达中美 ...

  3. 【golang】用container/list实现栈(Stack)

    go语言中的container有heap.list.ring,没有stack. 其中heap是优先级队列,虽然有Push()/Pop()接口,但是使用heap要实现heap.Interface接口,不 ...

  4. JavaWeb笔记——注册登录系统项目思路

    功能:   > 注册   > 登录 --------------------------------- JSP:   * login.jsp  --> 登录表单   * regist ...

  5. Echarts事件

    Echart饼图.柱状图.折线图(pie.bar.line)添加点击事件发布日期:2014年08月10日   来源:PHP1.CN     点击:250638摘要:var myChart= echar ...

  6. 【总结】你所不知道的Java序列化

    我们都知道,Java序列化可以让我们记录下运行时的对象状态(对象实例域的值),也就是我们经常说的对象持久化 .这个过程其实是非常复杂的,这里我们就好好理解一下Java的对象序列化. 1. 首先我们要搞 ...

  7. ls命令详解

    -a 列出目录下的所有文件,包括以 . 开头的隐含文件.-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出.-c 输出文件的 i 节点的修改时间,并以此排序.-d 将目录 ...

  8. C语言:几种字符输入函数的区别

    几种字符输入函数的区别: 1.getche()函数:用于从键盘读入一个字符并显示,然后直接执行下一条语   句. 2.getch()函数:用于从键盘中读入一个字符,但不显示在屏幕上,       然后 ...

  9. ACMer(转)

    我所了解的ACMer主要分为以下几类: A类:天才型(这个在咱们学校基本不存在),所以就不用考虑了-_- ! B类:刷题很快,题数是最多的几个之一,但有一个习惯就是喜欢看题解,思考问题一想不出来了就想 ...

  10. 图像分类之特征学习ECCV-2010 Tutorial: Feature Learning for Image Classification

    ECCV-2010 Tutorial: Feature Learning for Image Classification Organizers Kai Yu (NEC Laboratories Am ...