controlfile 的備份恢復

2021-06-19 06:07:51 字數 3605 閱讀 8698

由todd bao《oracle 11g

實踐平台:win 11.2.0.3  64bit

控制檔案包含已下資訊:

dbname,

dbid

,資料庫建立時間戳,字符集,

datafile

,tempfile

,redo log

,archivelog

,tablespace

,rman 

資料庫,

checkpoint

,損壞的資料塊登錄檔,還原點,重設日誌

scn,髒資料庫塊的數量等。

寫操作對所有控制檔案,而讀操作唯讀第乙個控制檔案。

分類:

備份檔案按時間跨度分類:

(2)結構備份:具有資料庫的物理結構,只是scn

,日誌序列發生變化。

(3)歷史備份:備份後資料庫結構發生了變化,此備份便為歷史備份。

備份:

自動備份

顯式自動備份:

rman

配置引數  

configure controlfile autobackup on;

發生條件:1.rman

任何備份操作,導致控制檔案內

rman

資料庫被更新(

configure

命令發生變化除外)

2.資料庫物理結構發生變化後。

隱式自動備份:

當備份system

資料檔案時,即使

configure controlfile autobackup off

狀態,也會自動備份。

手動備份:

1.備份集備份:

rman>backup as  backupset current controlfile;

2.映象複製備份:

rman>backup as copy current controlfile ;

sql> alter database backup controlfile to 『d:\backup\controlfile1.bak』;

3.重建指令碼:

sql> alter database backup controlfile to trace;

檢視跟蹤檔案:

select value from v$diag_info where name=』default trace file』;

提取noresetlogs

後的進行重建。

恢復:

1.利用映象進行恢復。最簡單快捷。前提是其他控制檔案未發生損壞。

2.利用自動備份恢復:

rman>startup nomount;

rman>restore  controlfile from autobackup;

rman>mount database;

rman>recover database;

rman>alter dabase open resetlogs;

recover database的上下文,分為三類:

3.利用手動備份進行恢復:

rman>startup nomount;

rman>restore  controlfile from  『d:\backup\orcl\backupset\2013_11_17\o1_mf_ncnnf_tag20131117t173020_98k35j7v_.bkp』;

rman>mount database;

rman>recover database;

rman>alter dabase open resetlogs;

4.利用歷史備份進行恢復

(1)自動修復不一致

在備份後控制檔案後,新增了表空間test

,如果沒有控制檔案的自動備份,即

configure controlfile autobackup off

,步驟:

rman>startup nomount;

rman>restore controlfile from 『d:\backup\controlfile. bak』;

rman>mount database;

檢視是否有test

資料檔案:

select name from v$datafile;

rman>restore database;

select name from v$datafile;

檢視資料檔案已有test

資料檔案

rman> alter database open resetlogs;

(2)手動修復不一致

備份了控制檔案,之後把test

表空間刪除,資料庫物理結構發生變化,還原controlfile

之後,控制檔案會認為

test

是存在的,但實際上是沒有的。

步驟:rman>startup nomiunt;

rman>restore controlfile from 『d:\backup\controlfile.bak』;

rman>mount database;

檢視檢視test 

是存在的

select name from  v$datafile;

rman>recover database;

此時會報錯:資料檔案需要恢復:

將其離線:alter database datafile 9 offline;

在sql

執行控制檔案的恢復:

sql>recover database using backup controlfile;

輸入auto

此時會應用archivelog,

之後再次執行

recover database using backup controlfile;嘗試著輸入redo log

sql>alter databaseopen resetlogs;

sql>select name from v$datafile;

發現test資料檔案消失。

或者是在mount database

後執行命令:

recover database skip tablespace  'test';亦可恢復。

還有一種情況,備份後archive log 

丟失。還原控制檔案之後

recover  database

後,報錯找不到日誌檔案,嘗試開啟資料庫報錯,

ora-01194,1110,system

資料檔案需要一致性恢復。此時需要手工建立控制檔案,執行

noresetlogs

一段,自行進入

mount

狀態,recover  database

跳過歸檔日誌,sql

>recover database using backup controlfile; 

alter database open resetlogs; 

完畢。

mysql meb mysql meb備份與恢復

介紹 1.這個軟體是收費的,由oracle開發 2.它可以用來備份myisam表,但是若資料庫中只有myisam表,則不能備份,會報錯 安裝軟體 meb 3.5.2 rhel5.i386.rpm 裡面有三個命令 全備 資料庫開啟 opt mysql meb 3.5 bin innobackup 1....

Elasticsearch集群的備份與恢復

rootsecurity 2016 02 03 10 47 在es集群上做乙個nfs,並掛載 email protected yum install nfs utils email protected vi etc exports 複製 192.168.1.2 rw 192.168.1.3 rw 1...

Elasticsearch的資料備份和恢復以及遷移

目錄 1.為什麼備份?2.資料備份 3.資料恢復 4.es備份資料遷移目標伺服器 5.指令碼備份恢復 常見的資料庫都會提供備份機制,以解決在資料庫無法使用的情況下通過備份來恢復資料減少損失。elasticsearch 雖然有良好的容災性,但以下原因,其依然需要備份機制 1 資料災備 在整個集群無法正...