手工備份恢複oracle資料庫

來源:互聯網
上載者:User

標籤:備份   資料檔案   archive   idt   初始化   redolog   ada   ges   版本   

 手工備份恢複oracle資料庫:

   雖然已經有了rman工具

  但是手工恢複oracle能夠讓你對oracle資料庫有更加深入的瞭解

 

 

資料庫一致性開機條件:
  資料檔案 scn,控制檔案 scn,redo scn一致


控制檔案記錄:
  資料檔案應該到達的scn
  當前redo
  資料的物理結構資訊
  歸檔資訊

  

前提條件:

  歸檔日誌開啟

  資料檔案有備份

  控制檔案有備份

備份資料:

  資料檔案備份:

    資料檔案進入備份模式:

    select ‘alter tablespace ‘|| tablespace_name||‘ begin backup;‘ from dba_tablespaces where tablespace_name not like ‘%TEMP%‘;

     

    確認進入備份狀態:

    

    再作業系統執行物理拷貝命令:

     cp *.dbf /home/oracle/sg_backup_dbf/

    拷貝完成,退出備份模式:

    

    資料檔案備份完成!!!

    備份完成切換幾次歸檔(多切換幾次)

    alter system switch logfile;

  控制檔案備份:

    備份成二進位的形式:

      SQL>alter database backup controlfile to ‘/home/oracle/backup_ctl/PROD4_CTL_20170703‘; 

    備份成邏輯檔案:

      SQL> alter database backup controlfile to trace as ‘/home/oracle/backup_ctl/prod4.ctl‘;

 

     

 

一、資料表空間資料檔案刪除恢複:

 

重啟資料報錯:

  

 

根據提示查看資料檔案已經不存在(被刪除)

 

通過拷貝先前備份資料檔案進行恢複:

  cp /home/oracle/sg_backup_dbf/* .

 

查看scn號:(不一致狀態)  

  

 

通過執行recover database進行資料恢複()

  

 

 啟動資料庫:

  SQL> alter database open;

#恢複完成!

 

二、控制檔案被刪除:

 

重啟資料庫:

  

 

通過老版本資料檔案恢複:

   cp /home/oracle/backup_ctl/PROD4_CTL_20170703 ./control01.ctl

  cp /home/oracle/backup_ctl/PROD4_CTL_20170703 ./control02.ctl

 

 再次重啟:

  

 

執行恢複:

  SQL> recover database using backup controlfile until cancel;

     #auto 模式

    報錯:

      (舊的控制檔案並不知道redo的情況)  

      

再次執行恢複:

  SQL> recover database using backup controlfile until cancel;

    #Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

    #/u01/app/oracle/oradata/PROD4/PROD4/redo01.log      #使用指定的redo檔案恢複(手動輸入這行)

開機:

  SQL> altr database open resetlogs;

恢複完成!

 

控制檔案損壞進行恢複後需要進行一次全備

  使用altr database open resetlogs; 開機時,重新初始化了redolog,

  archive log,以前的資料檔案的備份全部失效

刪除無用archive log

 

 

三、當前redo損壞

重啟資料庫無法開機

恢複:

   刪除資料檔案

   使用舊備份恢複資料檔案

    恢複和前面提到的類似:

    恢複命令:

      recover database using backup controlfile until cancel;

        #auto
     recover database using backup controlfile until cancel;
        #cancel

 

   刪除控制檔案

   關閉資料庫

   使用備份的邏輯控制檔案恢複控制檔案(找出類似如下部分,直接執行)

  (恢複控制檔案時需要資料檔案,但是使用現在的資料檔案是不行的,這就是前面先刪除資料檔案再恢複的原因)

      

 

 執行開機:

  alter database open resetlogs;

全備
刪除無用archive log 

 

 

總結:

  一致性開機的原理

    scn號

  開機的步驟

  開機的所需檔案

  

 

手工備份恢複oracle資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.