控制檔案快照和rman利用快照恢復
Oracle中有對控制檔案快照,windows中預設的儲存在oracle_homedatabasesncf
當rman需要同步控制檔案資訊或者備份當前控制檔案時,控制檔案快照會自動備份。
Rman target /
Rman>backup current controlfile format ‘d:control.ctl’;
可以檢視具體的控制檔案和控制檔案快照備份資訊
Windows下直接可以直接檢視備份的控制檔案屬性檢視和控制檔案快照的預設位置查詢。Linux下可以ls檢視具體的控制檔案備份集和會控制檔案快照的檔案資訊,由於是在我的windows伺服器下測試,發現此時控制檔案快照的修改時間比控制檔案備份的時間早,也正好驗證:在rman備份控制檔案後,rman進行更新控制檔案的快照。(循序漸進中提到備份控制檔案之前更新快照資訊,但是測試發現快照的更新時間是在備份控制檔案之後的。)
快照的生成還和rman設定有關,當configure controlfile autobackup off開啟時
Rman>backup database;
。。。
Including current controlfile in backupset
Including current spfile in backupset
。。。
此時全備份資料庫會把當前controlfile和spfile自動備份,由於controlfile的備份發生在備份集中,rman又會更新控制檔案的快照,此時這個快照優先與備份集產生,因此無法作用於最後一次備份集的恢復。
Rman>Restore controlfile to ‘d:test.ctl’ from ‘oracle_homedatabasesncf
我們可以透過控制檔案快照恢復一個控制檔案,由於此時恢復的控制檔案不包含上次的備份資訊,因為快照的備份發生在全備份之前,沒有記錄資料庫的全備份到快照中。
Rman>Restore database;
此時如果恢復的controlfile中有備份資訊是可以恢復之前的備份集,如果沒有當前rman什麼都做不了了。
如果開啟oracle的控制檔案自動備份功能。此時當資料庫發生變化,例如增加 刪除表空間 資料檔案等,發生資料庫備份等oracle都會更新控制檔案資訊,此時又會發生控制檔案自動備份。
Rman>configure controlfile autobackup on;
Rman>backup database;
。。。
Finish backup at
Starting controlfile file and spfile autobackup
。。。
Finish backup at
此時如果檢視rman中的備份資訊是可以發現oracle先對資料庫進行全備份,但是此時並沒有包括當前的控制檔案和spfile。然後全庫備份完畢後oracle又會對控制檔案和spfile進行備份,此時備份的控制檔案中就包含此次全庫備份的資訊。同樣控制檔案的備份又會觸發控制檔案快照的備份,且都是來自備份集之後,所以包含此次備份資訊。
下面測試一下快照用於資料庫的恢復。一下測試基本是按照eygle循序漸進中進行,經個人試驗確實成功
1 首先建立測試表,編寫儲存過程insert ashuang
Sql>begin
for i in 1..4 loop
insert into ashuang values(i,sysdate,dbms_flashback.get_system_change_number);
commit;
execute immediate 'alter system switch logfile';
dbms_lock.sleep(3);
end loop;
end;
/*dbms_lock.sleep(n)程式暫停3秒,一般grant execute on dbms_lock to USERNAME讓使用者擁有此許可權才能使用*/
2 檢視ashuang中的scn用於以後不完全恢復
Select * from ashuang.;
Id edate escn
1 2011-8-30 13:51:00 344115
1 2011-8-30 13:51:47 344134
2 2011-8-30 13:51:50 344138
3 2011-8-30 13:51:53 344142
4 2011-8-30 13:52:01 344149
1 2011-8-30 13:50:01 344086
3 意外關閉資料庫
Rman>Shutdown abort
然後刪除所有的控制檔案和資料檔案
4 開始資料庫恢復
Rman>startup nomount
如果連spfile也不見了,可以用rman target / 啟動預設例項到nomount然後restore spfile from ‘X’指定備份集恢復spfile。
Rman>restore controlfile from ‘d:oracleproduct
指定快照用於恢復控制檔案,當然也可以指定控制檔案備份集restore controlfile from ‘Y’
Rman>alter database mount;
Rman>run{
Allocate channel d1 device type disk;
Set until scn 344145
Restore database;
Recover database;
}
5 resetlogs 開啟資料庫
因為使用備份的控制檔案快照用於恢復控制檔案
Rman>alter database open resetlogs
Select * from ashuang;
此次就完成了資料庫的一次不完整恢復,當然如果當前log redo沒有丟失,資料庫是可以指定完成恢復的。也可以指定until time ‘
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1795511/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- docker筆記47-ceph建立快照以及快照恢復Docker筆記
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- rman恢復控制檔案的一個小錯誤
- 12 使用RMAN備份和恢復檔案
- 網站百度快照被劫持如何快速恢復、百度快照劫持怎麼解決了網站
- 在Linux中,如何實現檔案系統的快照和克隆?Linux
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- 與控制檔案有關的恢復
- LVM : 快照LVM
- RMAN增量恢復
- 與控制檔案有關的恢復(二)
- 虛擬化還原快照導致資料丟失恢復過程
- RMAN備份恢復典型案例——資料檔案存在壞快
- 【虛擬機器資料恢復】EXSI虛擬機器誤還原快照的資料恢復案例虛擬機資料恢復
- 阿里雲 快照阿里
- Maven 快照(SNAPSHOT)Maven
- 10 管理物理和快照備庫
- 不同作業系統下快照恢復後糾正網路配置的方法作業系統
- Lvm邏輯卷管理、建立、使用、擴充套件、縮減、遷移、快照、恢復LVM套件
- RMAN恢復實踐
- RAC控制檔案恢復(三種不同情況)
- [20210225]控制檔案序列號滿的恢復.txt
- 【虛擬機器資料恢復】ESXI虛擬機器被誤還原快照的資料恢復案例虛擬機資料恢復
- 快照是什麼?揭祕儲存快照的實現
- [轉載]btrfs檔案系統的kali linux 用snapper建立快照LinuxAPP
- RMAN恢復之RMAN-06555處理
- 同名檔案替換怎麼恢復,恢復同名檔案
- 容災恢復 | 記一次K8S叢集中etcd資料快照的備份恢復實踐K8S
- MapReduce和Spark讀取HBase快照表Spark
- Oracle的快照standbyOracle
- cutlass進度快照
- kvm主機快照
- 利用-flat.vmdk檔案恢復ESXI虛擬機器的vmdk檔案虛擬機
- rman 增量備份恢復
- Oracle RMAN恢復測試Oracle
- RMAN備份恢復技巧
- 【北亞資料恢復】vmfs還原快照操作導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 恢復快照就安全了嗎?深信服EDR火眼金睛清掃漏網勒索
- dg丟失歸檔,使用rman增量備份恢復