close

oracle冷備份操作如下:

1.shutdown資料庫

2.將重要文件備份到指定位置(datafile,controlfile,online log,archive log)

3.startup資料庫

**********************

 

1.首先先查看個檔案的位置(本實驗室以linux為例)

  1. SQL>SELECT name FROM v$datafile;
  2. SQL>SELECT name FROM v$controlfile;
  3. SQL>SELECT member FROM v$logfile;
  4. SELECT name from V$ARCHIVED_LOG;
  5. 然後shutdown資料庫

冷輩分-1  

冷輩分2  

 

shutdown immediate;

 

*查路徑可以用pwd指令

份到相關目錄下(本範例是將資料備份到/home/oracle的各個資料夾中datafile1,arch1等等..),指令如下:

冷輩分4  

( 如果路徑打錯會發生no such file錯誤)

 

備份成功( 只顯示datafile1中的資料,其他的也成功備份)

冷輩分5  

 

 

3.startup 資料庫;

SQL>STARTUP;

 

 

要進行recovery只需要將文件復原到原來的位置即可開啟資料庫。

 

 

 

 

 

****************************************************

 

 

oracle熱備份操作如下:

1.必須是archive log mode狀況下

2.不須關閉資料庫即可備份

3.表空間必須通過  alter tablespace XXX begin backup  指令 (本範例備份表空間users)

4.copy 表空間到要備份的地方

5.alter tablespace XXX end backup  指令(本範例備份表空間users)

6.將online redo log備份到archive中,指令:alter system switch logfile

7.alter database backup controlfile to trace

連續操作如下(linux環境):

熱備份1  

熱備份2  

 

成功備份到/home/oracle中

熱備份3  

 

 熱備份還原

*****************************

情境:假設資料表testtable的表空間test1損壞,在此已經有test1的備份檔,因此可以用熱備份加上archive還原

熱還原1  

 

在此將表空間備份至home/oracle,在測試還原前(目前備份檔沒有id為1的值),我們先在testtable中insert 一筆資料並且commit(進入online redo log),我們來測試是否熱還原會運用備份檔加上archive log 和online redo log進行還原

熱還原  

接著使用alter system switch logfile指令進行log切換(將online redo 資料備份到archive)

備份控制檔:alter database backup controlfile to trace

shutdown資料庫

接著破壞表空間test1的資料檔(將test1的資料檔丟失)

因此開機時會發生以下錯誤:

熱還原2  

 

 

恢復過程:

1.先將test1 offline

2.alter database open;開啟資料庫

熱還原3  

3.copy home/oracle中的資料檔到原來的位置

4.recover 資料檔

5.關閉資料庫

6.從新開機

7.再將test1 online

熱還原4  

 

熱還原5  

還原成功!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜

    to52016 發表在 痞客邦 留言(0) 人氣()