RMAN備份相關知識與技能總結
-
相關知識點總結:
備份的定義及分類:
備份就是把資料庫複製到轉儲裝置的過程。其中,轉儲裝置是指用於放置資料庫副本的磁帶或磁碟。通常也將存放於轉儲裝置中的資料庫的副本稱為原資料庫的備份或轉儲。備份是一份資料副本,從不同的角度分類如下:
物理備份:對資料庫作業系統的物理檔案(資料檔案,控制檔案和日誌檔案)的備份。物理備份又可以分為離線備份(冷備份)和聯機備份(熱備份),前者是在關閉資料庫的時候進行的,後者是以歸檔日誌的方式對執行的資料庫進行備份。可以使用oracle的恢復管理器(RMAN)或作業系統命令進行資料庫的物理備份。
邏輯備份:對資料庫邏輯元件(如表和儲存過程等資料庫物件)的備份。邏輯備份的手段很多,如傳統的EXP,資料泵(EXPDP),資料庫閃回技術等第三方工具,都可以進行資料庫的邏輯備份。從資料庫的備份角度分類:
從資料庫的備份角度,備份可以分為完全備份和增量備份和差異備份
完全備份:每次對資料庫進行完整備份,當發生資料丟失的災難時,完全備份無需依賴其他資訊即可實現100%的資料恢復,其恢復時間最短且操作最方便。
增量備份:只有那些在上次完全備份或增量備份後被修改的檔案才會被備份。優點是備份資料量小,需要的時間短,缺點是恢復的時候需要依賴以前備份記錄,出問題的風險較大。
差異備份:備份那些自從上次完全備份之後被修改過的檔案。從差異備份中恢復資料的時間較短,因此只需要兩份資料恢復的定義及分類
恢復就是發生故障後,利用已備份的資料檔案或控制檔案,重新建立一個完整的資料庫,恢復分為以下兩種型別:
例項恢復:當oracle例項出現失敗後,oracle自動進行的恢復
介質恢復:當存放資料庫的介質出現故障時所作的恢復。介質恢復又分為完全恢復和不完全恢復
完全恢復:將資料庫恢復到資料庫失敗時的狀態。這種恢復是透過裝載資料庫備份並應用全部的重做日誌做到的。
不完全恢復:將資料庫恢復到資料庫失敗前的某一時刻的狀態。這種恢復是透過裝載資料庫備份並應用部分的重做日誌做到的。進行不完全恢復後,必須在啟動資料庫時用resetlogs選項重設聯機重做日誌。 -
備份恢復操作命令:
1)備份及恢復資料庫
RMAN>backup database;
RMAN>backup database plus archivelog delete input;
RMAN>backup database FORMAT '$pwd/oradata/backup/rmanbak/%U';
RMAN>run
{
allocate channel ch1 device type disk;
backup database format '$pwd/oradata/backup/rmanbak/%U';
release channel ch1;
}RMAN>restore database;
RMAN>recover database;
RMAN>alter database open(不完全恢復加引數resetlogs;
2)備份及恢復表空間或資料檔案
RMAN>backup tablespace users;
RMAN>backup filesperset=3 tablespace users,system,sysaux;
RMAN>run
{
allocate channel ch1 device type disk;
backup format '$pwd/oradata/backup/rmanbak/%U' (tablespaceusers,system,sysaux);
release channel ch1;
}run
{
sql 'alter tablespace users offline immediate';
restore tablespace users;
recover tablespace user;
sql 'alter tablespace users online';
}3)還原至特定備份集
RMAN>restore database from tag TAG20110725T104645;
RMAN> recover database from tag TAG20110725T104645;
RMAN> alter database open;
不完全恢復:
RMAN>restore database from tag TAG20110725T104645;RMAN>recover database until time "to_date('2011-08-04 15:37:25','yyyy/mm/dd hh24:mi:ss')";
RMAN>alter database open resetlogs;
-
檢視RMAN的備份資訊總結:
檢視備份成功的歷史記錄:
SELECT * FROM V$RMAN_STATUS
WHERE START_TIME >= TO_DATE(&START_TIME,'YYYY-MM-DD HH24:MI:SS')
AND END_TIME <= TO_DATE(&END_TIME ,'YYYY-MM-DD HH24:MI:SS')
AND OPERATION ='BACKUP'
AND STATUS ='COMPLETED'
檢視所有備份集詳細資訊:
SELECT A.RECID "BACKUP SET",
A.SET_STAMP,
DECODE (B.INCREMENTAL_LEVEL,
'', DECODE (BACKUP_TYPE, 'L', 'Archivelog', 'Full'),
1, 'Incr-1級',
0, 'Incr-0級',
B.INCREMENTAL_LEVEL)
"Type LV",
B.CONTROLFILE_INCLUDED "包含CTL",
DECODE (A.STATUS,
'A', 'AVAILABLE',
'D', 'DELETED',
'X', 'EXPIRED',
'ERROR')
"STATUS",
A.DEVICE_TYPE "Device Type",
A.START_TIME "Start Time",
A.COMPLETION_TIME "Completion Time",
A.ELAPSED_SECONDS "Elapsed Seconds",
A.BYTES/1024/1024/1024 "Size(G)",
A.COMPRESSED,
A.TAG "Tag",
A.HANDLE "Path"
FROM GV$BACKUP_PIECE A, GV$BACKUP_SET B
WHERE A.SET_STAMP = B.SET_STAMP AND A.DELETED = 'NO'
RDER BY A.COMPLETION_TIME DESC;
查詢某個備份集中包含資料檔案
SELECT DISTINCT c.file#,A.SET_STAMP, D.NAME, C.CHECKPOINT_CHANGE#, C.CHECKPOINT_TIME
FROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$DATAFILE D
WHERE A.SET_STAMP = C.SET_STAMP
AND D.FILE# = C.FILE#
AND A.DELETED='NO'
AND c.set_stamp=&set_stamp
ORDER BY C.FILE#;
查詢某個備份集中控制檔案
SELECT DISTINCT A.SET_STAMP,
D.NAME,
C.CHECKPOINT_CHANGE#,
C.CHECKPOINT_TIME
FROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$CONTROLFILE D
WHERE A.SET_STAMP = C.SET_STAMP
AND C.FILE# = 0
AND A.DELETED = 'NO'
AND C.SET_STAMP = &SET_STAMP;
檢視某個備份集中歸檔日誌:
SELECT DISTINCT B.SET_STAMP,
B.THREAD#,
B.SEQUENCE#,
B.FIRST_TIME,
B.FIRST_CHANGE#,
B.NEXT_TIME,
B.NEXT_CHANGE#
FROM V$BACKUP_REDOLOG B, V$BACKUP_PIECE A
WHERE A.SET_STAMP = B.SET_STAMP
AND A.DELETED = 'NO'
AND B.SET_STAMP = &SET_STAMP
ORDER BY THREAD#, SEQUENCE#;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994536/viewspace-2759584/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java與Mysql鎖相關知識總結JavaMySql
- 相機成像相關知識總結
- rman備份的基本知識
- 總結 MySQL 相關知識點MySql
- 資訊熵相關知識總結熵
- JVM相關知識點總結JVM
- 備份容災相關概念總結
- Java 容器相關知識全面總結Java
- rman備份rac的總結
- PHP物件相關知識點的總結PHP物件
- 作業系統相關知識總結作業系統
- shell相關知識有哪些必備技能?Linux面試題分享Linux面試題
- oracle RMAN 備份恢復總結Oracle
- oracle RMAN 備份恢復總結Oracle
- web跨域及cookie相關知識總結Web跨域Cookie
- 老Python總結的字典相關知識Python
- STM32中斷相關知識總結
- C++中類相關知識點總結C++
- Linux 動態庫相關知識總結Linux
- rman配置及常用操作相關知識點
- RMAN預備知識
- 知識總結二--個人愛好(非工作相關)
- Android 藍芽開發相關知識總結Android藍芽
- RMAN備份中的通道(CHANNEL)相關 - PARALLELISM 、FILESPERSETParallel
- RMAN備份相關的動態效能檢視
- CAP 與 Raft 相關知識Raft
- [記錄]oracle RMAN 備份恢復總結Oracle
- RMAN備份異機恢復流程總結
- js--promise、async 和 await 相關知識總結JSPromiseAI
- 檔案包含漏洞相關知識總結-千鋒教育
- 資料結構相關知識資料結構
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- 知識圖譜相關會議之觀後感分享與學習總結
- 【總結】日常遇到的一些問題相關知識
- 簡單總結一下rowid的相關知識
- 關於RMAN 備份片backup copies 和通道CHANNEL之間關係的總結
- THP Transparent HugePages 相關知識與關閉
- 決策樹相關知識小結