Oracle控制文件的备份、恢复以及多路复用

前言 

    今天给大家带来有关Oracle控制文件的技术分享。不积跬步无以至千里,不积小流无以成江海。Oracle技术博大精深,以我一个人的力量,那无异于蜉蝣于天地,沧海之一粟。在此,笔者抛砖引玉,希望读者能够与我形成良好的互动,之间共同进步。闲言少叙,书归正传,马上开始今天的讨论话题。

       
      提示错误。按照提示来开启数据库:
        SYS@ENMOEDU > alter database open resetlogs;
 
      Database altered.

        数据库已经正常启动了。
     
      上述情况属于非常乐观��极易恢复的模拟实验现场,但是在实际情况中,环境却险要恶劣的多。往往控制文件丢失后,用户还会进行大量的操作,比如创建表空间等等,这些使得控制文件的恢复要困难许多。路漫漫其修远兮,吾将上下而求索,我对待技术的渴望永无止境。下面我就给大家介绍一下如何在备份的控制文件过久的情况下恢复控制文件。
      首先,我们先备份一下我们的控制文件。由于我采用了多路复用,所以看起来是不是应该把两个控制文件都备份一下呢?按照国际惯例,一般作者向读者发出类似这种疑问句的时候,答案往往是否定的。但是,我作为一个走位忽上忽下意识飘忽不定的技术人员,所以,答案,仍然是不需要备份两份。由于两份控制文件是一模一样的,所以备份一份即可,只需记得在恢复的时候注意文件名字。
   
      备份控制文件。在本文中,将控制文件备份到Oracle的家目录下,给控制文件一种家的温暖。
      [oracle@ENMOEDU ENMOEDU]$ cp control01.ctl ~
 
    创建表空间和文件,从而使现在的控制文件和备份文件产生差异。
      SYS@ENMOEDU > create tablespace 我 datafile '/u01/app/oracle/oradata/ENMOEDU/我01.dbf' size 100m;
 
    Tablespace created.
 
      查看一下当前在线日志的status,并切换日志,产生归档。
      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
      ---------- ----------------
          1 CURRENT
          2 INACTIVE
          3 INACTIVE
 

      SYS@ENMOEDU > alter system archive log current;
 

      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
      ---------- ----------------
          1 ACTIVE
          2 CURRENT
          3 INACTIVE
 

      SYS@ENMOEDU > alter system archive log current;
 

      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
      ---------- ----------------
          1 ACTIVE
          2 ACTIVE
          3 CURRENT
 

      SYS@ENMOEDU > alter system archive log current;
 
 
      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
      ---------- ----------------
          1 CURRENT
          2 ACTIVE
          3 ACTIVE
 

      SYS@ENMOEDU > alter system archive log current;
 

      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
      ---------- ----------------
          1 ACTIVE
          2 CURRENT
          3 INACTIVE
 

      SYS@ENMOEDU > alter system archive log current;
 

      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
        ---------- ----------------
          1 INACTIVE
          2 ACTIVE
          3 CURRENT
 

        SYS@ENMOEDU > alter system archive log current;
 

        System altered.
 

        SYS@ENMOEDU > select group#,status from v$log;
 

        GROUP# STATUS
          ---------- ----------------
          1 CURRENT
          2 INACTIVE
          3 ACTIVE
 

        SYS@ENMOEDU > alter system archive log current;
 

        System altered.
 

        SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
        ---------- ----------------
          1 ACTIVE
          2 CURRENT
          3 INACTIVE
 

      SYS@ENMOEDU > alter system archive log current;
 

      System altered.
 

      SYS@ENMOEDU > select group#,status from v$log;
 

      GROUP# STATUS
        ---------- ----------------
          1 ACTIVE
          2 ACTIVE
          3 CURRENT

相关推荐