rman的一點簡單總結 1
rman的一些簡單總結
1:控制檔案自動備份
用 show all 檢視當前的配置,配置控制檔案自動備份的命令如下:
RMAN> configure controlfile autobackup on;
在開啟了控制檔案自動備份之後,oracle會在資料庫結構改變時(增加、刪除表空間及資料檔案等),自動備份控制檔案及spfile檔案
當我們手動建立一個tt表空間後,此時可以在 alert.log 中找到如下資訊
+++++++++++++++++++++++++++++++
Control autobackup written to DISK device
handle 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\AUTOBACKUP\2012_11_01\O1_MF_S_798220671_894BVZ89_.BKP'
Completed: create tablespace TT datafile 'C:\ORADATA\WIN10G\tt.dbf' size 100m
++++++++++++++++++++++++++++++++
在這裡要注意,如果你的資料庫版本是oracle 10g ,並且開啟了 閃回恢復區,那麼控制檔案的備份儲存在自動備份的恢復目錄中,
目錄位置為 $ORACLE_HOME\flash_recovery_area\WIN10G\AUTOBACKUP ; 如果資料庫是9i、或者10g沒有開啟閃回恢復區,那麼
自動備份儲存在 $ORACLE_HOME\database下 ,這些資訊仍可以從alert.log 中得到
++++++++++++++++++++++++++++++++++
Fri Nov 02 09:00:01 2012
Starting control autobackup
Control autobackup written to DISK device
handle 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\C-605134997-20121102-00'
+++++++++++++++++++++++++++++++++
在這裡可以看到 自動備份的控制檔名為 C-605134997-20121102-0 (其中 C 為控制檔案、605134997為dbid、20121102為時間戳、00為序號)
因為這些資訊儲存在控制檔案中,可以將控制檔案轉儲出來看下控制檔案是如何記錄這部分資訊的
SQL> alter session set events 'immediate trace name controlf level 8';
然後根據pid、spid 到 udump中找到相關trace檔案。
2:從自動備份恢復spfile和控制檔案(以下測試db為10.2.0.1)
在資料庫的三種檔案完好的情況下,不論db處於哪種狀態,通常都是先恢復到一個臨時目錄下,以免覆蓋當前檔案,確認後再轉移到預設目錄下面;
如果自動備份有多個,恢復的時候使用最新的autobackup
RMAN> restore spfile to 'C:\spfile.ora' from autobackup;
RMAN> restore controlfile to 'C:\control01.ctl' from autobackup;
如果db都不能nomount 了,那麼此時可以臨時編輯一個pfile檔案啟動例項,然後進行spfile恢復,
restore命令後加上備份集的名稱
3:rmnan的備份策略
基於冗餘(redundancy):定義一個數字n用於標示rman為每個檔案保留至少n個不同的備份
RMAN> configure retention policy to redundancy 1;
基於恢復視窗(recovery window):定義一個時間長度,以便在定義的時間長度內可以進行基於任何時間點的恢復
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
當備份超過了備份策略設定的規則時,備份會標記為廢棄(obsolete),但這只是在rman目錄中標記為丟棄(obsolete),
其狀態依然為 available; 要檢視標記為obsolete狀態的備份,可以使用 report obsolete 命令 ,只有使用
delete obsolete 才會真正刪除丟棄的備份
RMAN> report obsolete;
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
已廢棄的備份和副本報表
型別 關鍵字 完成時間 檔名/控制程式碼
-------------------- ------ ------------------ --------------------
控制檔案副本 3 02-11月-12 C:\CONTROL01.CTL
備份集 22 02-11月-12
備份段 22 02-11月-12 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_A
REA\WIN10G\BACKUPSET\2012_11_02\O1_MF_NNNDF_TAG20121102T105520_896FJS89_.BKP
備份集 23 02-11月-12
備份段 23 02-11月-12 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_A
REA\WIN10G\AUTOBACKUP\2012_11_02\O1_MF_S_798288936_896FK8PG_.BKP
RMAN> delete noprompt obsolete;
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
。。。。。。。。。。。。。。
如果想恢復某一個設定到預設狀態,使用如下命令
RMAN> configure retention policy clear;
4:歸檔日誌維護及crosscheck命令
當不小心手動刪除某些備份後,rman將無法找到這些檔案,但是這些備份的檔案依然在rman的記錄中存在,
因此需要使用crosscheck命令去磁碟上檢查這些檔案是否存在,如果不再存在,rman會將檔案標記為
expired ,然後這些資訊就可以被清除。
RMAN> crosscheck backup;
RMAN> delete expired backup;
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired archivelog all;
RMAN> list backup of archivelog from sequence 12;
RMAN> delete noprompt archivelog until sequence = 12;
RMAN> list backup of archivelog until time 'sysdate-2';
RMAN> delete noprompt archivelog until time 'sysdate-1';
RMAN> list backupset of database tag='HOT_DB_BK_LEVEL0';
5:resetlogs 和 noresetlogs方式的含義
-- Below are two sets of SQL statements, each of which creates a new
-- control file and uses it to open the database. The first set opens
-- the database with the NORESETLOGS option and should be used only if
-- the current versions of all online logs are available. The second
-- set opens the database with the RESETLOGS option and should be used
-- if online logs are unavailable.
6:rman的映象copy功能
rman映象複製是單個資料檔案、歸檔日誌或控制檔案的額外複製,不以rman的格式儲存。
映象複製的檔案和執行作業系統級別複製的檔案一樣,以資料檔案的固有格式儲存,rman
進行重建或恢復時,可以使用映象複製。
複製(copy)的控制檔案是當前控制檔案的一個原樣副本,可以直接用於啟動資料庫,
而rman的控制檔案備份則需要透過rman進行恢復使用。
當發出restore命令時,預設的rman恢復一個資料檔案或控制檔案的映象複製到原來的位置,
映象複製優先於備份集被採用,因為使用備份集進行恢復時,會有額外的開銷。並且,如果
需要使用映象複製恢復資料檔案或控制檔案,無須把檔案copy到原來的位置,rman中的switch命
令可以通知資料庫使用當前位置的檔案,這類似於alter database rename file命令的功能 。
RMAN> backup current controlfile format 'C:\control%s.ctl'; //控制檔案備份集
RMAN> backup as copy current controlfile format 'C:\control%s.ctl'; // 控制檔案映象複製
使用映象複製命令來備份整個資料庫
RMAN> backup as copy tag 'win10g_copy' database;
也可以使用rman的映象複製命令備份單個或多個資料檔案
RMAN> copy datafile 6 to 'C:\tt_copy.dbf';
RMAN> run{
copy datafile 1 to 'C:\system01.dbf',
current controlfile to 'C:\control01.dbf',
datafile 6 to 'C:\tt01.dbf';
}
可以透過list copy命令顯示資料庫中的映象複製,
如果不小心刪除了映象複製(copy),那麼首先需要進行
RMAN> crosscheck copy;
RMAN> delete copy;
假設由於硬體故障導致資料檔案tt.dbf損壞,這時需要在run中透過
set newname命令 指定檔案恢復到不同的位置
RMAN> startup mount
RMAN> run{
set newname for datafile 6 to 'C:\oradata\tt.dbf';
restore datafile 6;
switch datafile all;
recover datafile 6;
}
正在執行命令: SET NEWNAME
啟動 restore 於 07-11月-12
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在恢復資料檔案00006
輸入資料檔案副本 recid=24 stamp=798719925 檔名=C:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\WIN10G\DATAFILE\O1_MF_TT_89MLFN5C_.DBF
資料檔案 00006 的恢復目標: C:\ORADATA\TT.DBF
通道 ORA_DISK_1: 已複製資料檔案 00006 的資料檔案副本
輸出檔名=C:\ORADATA\TT.DBF recid=27 stamp=798721262
完成 restore 於 07-11月-12
資料檔案 6 已轉換成資料檔案副本
輸入資料檔案副本 recid=28 stamp=798721264 檔名=C:\ORADATA\TT.DBF
啟動 recover 於 07-11月-12
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:00
完成 recover 於 07-11月-12
RMAN>
RMAN> alter database open;
資料庫已開啟
驗證備份的有效性,可以使用
RMAN> restore validate database;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-1722267/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Pygame的簡單總結GAM
- 簡簡單單的總結,意如生活的平淡
- MySQL簡單總結MySql
- vuex簡單總結Vue
- RMAN命令LIST操作總結
- 總結的一些簡單面試題目面試題
- RediSearch的簡單使用與總結Redis
- HTTP/2 特性的簡單總結HTTP
- HTML簡單知識的總結HTML
- OKhttpClient 簡單使用總結HTTPclient
- 列舉簡單總結
- sql注入簡單總結SQL
- 回首 2022 -> 展望 2023,一個簡單的年終總結
- 關於STL容器的簡單總結
- js閉包簡單總結JS
- 一個簡簡單單的紅點系統框架框架
- clickhouse使用的一點總結
- 一個想活得簡單的程式猿的2022年終總結!
- 初始化ArrayList的簡單方法總結
- C++基礎簡單總結C++
- 前端模組化簡單總結前端
- Java基礎集合簡單總結Java
- Android熱修復簡單總結Android
- es6,async簡單總結
- 測試功能點總結摘要1
- 總結的小知識點(一)
- HBase-Region太多的問題簡單總結
- GPU 渲染管線簡單總結(網上資料總結)GPU
- Java 新特性總結——簡單實用Java
- 超簡單!正規表示式總結
- python 內建函式簡單總結Python函式
- 設計模式簡單總結(待完善)設計模式
- in、exists操作與null的一點總結Null
- 大學兩年的一點總結
- 微信小程式關於分享一些簡單總結微信小程式
- 這 3 個 Set 集合的實現有點簡單,那來做個總結吧
- 繼續總結Python中那些簡單好用的用法Python
- 常見形式 Web API 的簡單分類總結WebAPI
- C IO複用select, epoll 簡單總結