RMAN常用的命令和操作:
常用的命令和操作:
1、backup和COPY
2、list
3、delete 和crosscheck
4、change
5、rman>report schema; --檢視資料庫有哪些表空間和資料檔案
6、備份指令碼
7、執行SQL語句(rman中的sql環境不能執行SELECT語句)
8、RMAN備份相關的動態效能表
1、backup和COPY
2、list
3、delete 和crosscheck
4、change
5、rman>report schema; --檢視資料庫有哪些表空間和資料檔案
6、備份指令碼
7、執行SQL語句(rman中的sql環境不能執行SELECT語句)
8、RMAN備份相關的動態效能表
1、backup和copy
backup 邏輯物理備,基於塊級別的備份,已經使用過的塊--熱點塊
backup 邏輯物理備,基於塊級別的備份,已經使用過的塊--熱點塊
備份格式
backup spfile;
backup current controlfile;
backup datafile 4;
backup tablespace users,sysaux;
backup archivelog sequence between ## and ##;
backup archivelog sequence between ## and ## delete input;
backup archivelog all;
-------------------------------------------------------
BACKUP DATABASE PLUS ARCHIVELOG;
則在備份資料庫的同時自動對所有歸檔檔案進行備份。這種方式與上種有什麼區別呢,區別太明顯了,BACKUP.....PLUS ARCHIVELOG命令在備份過程中會依次執行下列步驟:
1>.執行ALTER SYSTEM ARCHIVE LOG CURRENT語句對當前redolog進行歸檔。
2>.執行BACKUP ARCHIVELOG ALL命令備份所有已歸檔日誌。
3>.執行BACKUP命令對指定項進行備份。
4>.再次執行ALTER SYSTEM ARCHIVE LOG CURRENT對當前redolog歸檔。
5>.對新生成的尚未備份的歸檔檔案進行備份。
------------------------------------------------------
backup archivelog all delete input; 備份之後刪除歸檔目錄下的所有歸檔日誌。
backup full database plus archivelog 全庫加歸檔日誌備份
backup database skip readonly 還可以跳過不備份readonly的檔案,同樣可以跳過OFFLINE 等等
backup database; 備份引數檔案,控制檔案,所有資料檔案,不備份聯機日誌,歸檔日誌可以備份。
全庫備份時候,要注意資料檔案必須是online 和read write的,不然會提示不能備份
backup as compressed backupset full database; 備份時壓縮備份集
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
(備份system表空間或者備份database時,備份成功後回將控制檔案也自動備份出來)
backup spfile;
backup current controlfile;
backup datafile 4;
backup tablespace users,sysaux;
backup archivelog sequence between ## and ##;
backup archivelog sequence between ## and ## delete input;
backup archivelog all;
-------------------------------------------------------
BACKUP DATABASE PLUS ARCHIVELOG;
則在備份資料庫的同時自動對所有歸檔檔案進行備份。這種方式與上種有什麼區別呢,區別太明顯了,BACKUP.....PLUS ARCHIVELOG命令在備份過程中會依次執行下列步驟:
1>.執行ALTER SYSTEM ARCHIVE LOG CURRENT語句對當前redolog進行歸檔。
2>.執行BACKUP ARCHIVELOG ALL命令備份所有已歸檔日誌。
3>.執行BACKUP命令對指定項進行備份。
4>.再次執行ALTER SYSTEM ARCHIVE LOG CURRENT對當前redolog歸檔。
5>.對新生成的尚未備份的歸檔檔案進行備份。
------------------------------------------------------
backup archivelog all delete input; 備份之後刪除歸檔目錄下的所有歸檔日誌。
backup full database plus archivelog 全庫加歸檔日誌備份
backup database skip readonly 還可以跳過不備份readonly的檔案,同樣可以跳過OFFLINE 等等
backup database; 備份引數檔案,控制檔案,所有資料檔案,不備份聯機日誌,歸檔日誌可以備份。
全庫備份時候,要注意資料檔案必須是online 和read write的,不然會提示不能備份
backup as compressed backupset full database; 備份時壓縮備份集
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
(備份system表空間或者備份database時,備份成功後回將控制檔案也自動備份出來)
sql>show parameter db_rec 定義閃回區的目錄
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest string /oracle//flash_recovery_area
db_recovery_file_dest_size big integer 2G
db_recycle_cache_size big integer 0
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest string /oracle//flash_recovery_area
db_recovery_file_dest_size big integer 2G
db_recycle_cache_size big integer 0
壓縮備份集:
backup as compressed backupset tablespace users;
backup as compressed backupset database plus archivelog;
增量備份:(0 ~ 4)
backup incremental level 0 tablespace users;
backup incremental level 1 tablespace users;
backup incremental level 2 tablespace users;
backup incremental level 2 cumulative tablespace users;
backup incremental level 0 tablespace users;
backup incremental level 1 tablespace users;
backup incremental level 2 tablespace users;
backup incremental level 2 cumulative tablespace users;
-----------------------------------------------------------------------
補充點內容:
塊跟蹤(10g):記錄自從上一次備份以來資料塊的變化,相關後臺程式CTWR(Change Tracking Writer)
改善增量備份效能,RMAN可以不再掃描整個檔案以查詢變更資料
補充點內容:
塊跟蹤(10g):記錄自從上一次備份以來資料塊的變化,相關後臺程式CTWR(Change Tracking Writer)
改善增量備份效能,RMAN可以不再掃描整個檔案以查詢變更資料
查詢是否啟用塊跟蹤
col FILENAME for a40
select filename,status,bytes from v$block_change_tracking;
啟用塊跟蹤
alter database enable block change tracking using '/home/oracle/block_track/orcl_block_track.log';
禁用塊跟蹤
alter database disable block change tracking;
修改塊修改跟蹤檔案路徑:
mount
目標檔案要存在
alter database rename file '' to '';
col FILENAME for a40
select filename,status,bytes from v$block_change_tracking;
啟用塊跟蹤
alter database enable block change tracking using '/home/oracle/block_track/orcl_block_track.log';
禁用塊跟蹤
alter database disable block change tracking;
修改塊修改跟蹤檔案路徑:
mount
目標檔案要存在
alter database rename file '' to '';
並行備份:(使用rman語句塊)
backup datafile 4,5;
backup datafile 4,5;
-----------------------------------------------------------------------
copy 物理備
copy current controlfile to ''; 物理備份 一般不用
copy datafile 4 to '';
copy current controlfile to ''; 物理備份 一般不用
copy datafile 4 to '';
2、list
list backup
list backup of database summary;
檢視映象複製:
list copy;
list copy of datafile 4;
list copy of controlfile;
檢視建立的指令碼:list script. names;
3、delete 和crosscheck
1、刪除陳舊備份
當使用RMAN執行備份操作時,RMAN會根據備份冗餘策略確定陳舊備份。
RMAN> delete obsolete;
2、刪除EXPIRED備份
執行crosscheck命令核對備份集,那麼會將該備份集標記為EXPIRED狀態。為了刪除相應的備份記錄,可以執行delete expired backup命令。
RMAN> delete expired backup;
3、刪除EXPIRED副本
RMAN> delete expired copy;
4、刪除特定備份集
RMAN> delete backupset 19;
5、刪除特定備份片
RMAN> delete backuppiece 'd:\backup\DEMO_19.bak';
6、刪除所有備份集
RMAN> delete backup;
7、刪除特定映像副本
RMAN> delete datafilecopy 'd:\backup\DEMO_19.bak';
8、刪除所有映像副本
RMAN> delete copy;
9、在備份後刪除輸入物件
RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input;
檢測備份存在、正常否: 正常的是available 不存在的顯示:expired 過期
crosscheck copy;
crosscheck archivelog all;
crosscheck backup;
crosscheck copy;
crosscheck archivelog all;
crosscheck backup;
刪除不可用的備份集
delete expired backup,配合crosscheck backup;使用
delete noprompt expired backup 不需要互動模式
刪除複製:
delete copy;
delete datafilecopy '/home/oracle/rmanbk/users01.dbf';
delete expired backup,配合crosscheck backup;使用
delete noprompt expired backup 不需要互動模式
刪除複製:
delete copy;
delete datafilecopy '/home/oracle/rmanbk/users01.dbf';
刪除備份集:
delete backupset 1,2,3;
delete backup;
delete backupset 1,2,3;
delete backup;
刪除陳舊的備份:(由備份保留策略引數決定) 比如定義為10天,
delete obsolete;和report obsolete 配合使用
如果被判斷為廢棄的備份是一個單獨資料檔案的映象複製,那麼在執行DELETE命令時將直接刪除這個映象複製檔案。
如果被判斷為廢棄的備份是一個備份集中的一部分,則必須等到整個備份集中所有其它檔案都被廢棄之後,才能刪除這個備份集。
delete obsolete;和report obsolete 配合使用
如果被判斷為廢棄的備份是一個單獨資料檔案的映象複製,那麼在執行DELETE命令時將直接刪除這個映象複製檔案。
如果被判斷為廢棄的備份是一個備份集中的一部分,則必須等到整個備份集中所有其它檔案都被廢棄之後,才能刪除這個備份集。
delete obsolete redundance=3;
引數定義:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS; 建議用保留的時間
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 這個冗餘度引數,不建議用
引數定義:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS; 建議用保留的時間
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 這個冗餘度引數,不建議用
校驗備份和還原的可行行:
backup validate database;
validate backupset 10;
restore tablespace users validate;
backup validate database;
validate backupset 10;
restore tablespace users validate;
4、change
change backupset 140 unavilable;
change backupset 140 unavilable;
6、備份指令碼:
run{
allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
backup
(datafile 4 channel c1)
(datafile 5 channel c2);
delete noprompt obsolete;
}
run{
allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
backup
(datafile 4 channel c1)
(datafile 5 channel c2);
delete noprompt obsolete;
}
控制備份片大小:
run{
allocate channel c1 type disk maxpiecesize=50m;
backup tablespace users format '/home/oracle/rmanbk/%s_%p.bkp';
}
run{
allocate channel c1 type disk maxpiecesize=50m;
backup tablespace users format '/home/oracle/rmanbk/%s_%p.bkp';
}
控制備份集數量:控制
run{
allocate channel c1 type disk maxpiecesize=100m;
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
backup format '/backup/%d_%I_%e_%s_%p_%T_%t.bkp' archivelog all delete input;
delete noprompt obsolete;
}
run{
allocate channel c1 type disk maxpiecesize=100m;
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
backup format '/backup/%d_%I_%e_%s_%p_%T_%t.bkp' archivelog all delete input;
delete noprompt obsolete;
}
backup database not backed up format '';
backup database format '/backup/%d_%I_%s_%p_%T_%t.bkp' filesperset=20;
建立指令碼: 檢視本地指令碼:list script. names;必需要有catalog庫
create script. r1{
allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';
backup
(datafile 4 channel c1)
(datafile 5 channel c2);
delete noprompt obsolete;
}
執行指令碼,必需放在run{} 裡面:
rman>run{
rman>excute script. r1;
rman>}
刪除指令碼,rman>delete script. r1;
列印命令:rman>print script. r1;
編輯指令碼:先儲存rman>print script. r1 to '/oracle/..txt';
編輯之後再替換:rman>replace script. r1 from '/oracle/...txt'
列印命令:rman>print script. r1;
編輯指令碼:先儲存rman>print script. r1 to '/oracle/..txt';
編輯之後再替換:rman>replace script. r1 from '/oracle/...txt'
全域性指令碼: 可以適合任何target資料庫
create global script. r1{
。。。。。。。
}
執行:
rman>run{
rman>excute global script. r1;
rman>}
}
執行:
rman>run{
rman>excute global script. r1;
rman>}
RMAN命令執行方式:
在進入演練之前,大家還有必要了解執行rman命令的方式,就目前已知的情況,共有4種執行方式。
1、單個執行(沒啥說的,之前的示例都是這種方式)
RMAN>backup database;
2、批處理(呵呵,跳票的補上)
RMAN>RUN{
.......................
.......................
}
批處理方式實質是將原來單個執行的命令組合到一起,並放在run{}之間,這種方式最大的好處是所有在run中的命令被視為一個作業,如果作業中任何一條命令執行失敗,則整個命令停止執行,即失敗命令後的其它命令都不會再被執行。這種方式是最常使用的方式,特別對於後臺執行。
在進入演練之前,大家還有必要了解執行rman命令的方式,就目前已知的情況,共有4種執行方式。
1、單個執行(沒啥說的,之前的示例都是這種方式)
RMAN>backup database;
2、批處理(呵呵,跳票的補上)
RMAN>RUN{
.......................
.......................
}
批處理方式實質是將原來單個執行的命令組合到一起,並放在run{}之間,這種方式最大的好處是所有在run中的命令被視為一個作業,如果作業中任何一條命令執行失敗,則整個命令停止執行,即失敗命令後的其它命令都不會再被執行。這種方式是最常使用的方式,特別對於後臺執行。
3、執行指令碼(又能細分為幾種方式如下:)
C:\>rman TARGET / @backup_db.rman
C:\>rman TARGET / @backup_db.rman
RMAN> @backup_db.rman
RMAN> RUN { @backup_db.rman }
執行儲存在恢復目錄中的指令碼(需要首先為rman建立恢復目錄)
RMAN> RUN { EXECUTE SCRIPT. backup_whole_db };
看看,夠靈活吧。
RMAN> RUN { EXECUTE SCRIPT. backup_whole_db };
看看,夠靈活吧。
4、作業系統指令碼(linux,windows環境下小有差異,但只是作業系統命令的不同)
C:\>rman cmdfile=backup_db.rman
C:\>rman cmdfile=backup_db.rman
明眼人看的出來,後兩種其實是前面兩種加上作業系統命令的綜合應用。
7、執行SQL語句(rman中的sql環境不能執行SELECT語句)
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG ALL';
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG ALL';
8、RMAN備份相關的動態效能表
V$ARCHIVED_LOG:本檢視包含了所有歸檔重做日誌檔案的建立情況,備份情況以及其他資訊。
V$BACKUP_CORRUPTION:這個檢視顯示了RMAN在哪些備份集中發現了損壞的資料壞。在你使用BACKUP VALIDATE命令對備份集進行檢查時如果發現了損壞的資料塊,RMAN將在這個檢視中寫入記錄。
V$COPY_CORRUPTIO:本檢視顯示了哪些映象複製備份檔案已經被損壞。
V$BACKUP_DATAFILE:本檢視通常用來獲取每個資料檔案中非空白資料塊的數量,從而幫助你建立出大小基本相等的備份集。另外,在檢視中也包含了資料檔案中損壞的資料塊的資訊。
V$BACKUP_REDOLOG:本檢視顯示了在現有的備份集中飲食有哪些歸檔重做日誌檔案。
V$BACKUP_SET:本檢視顯示了已經建立的備份集的資訊。
V$BACKUP_PIECT:本檢視顯示了已經建立的備份片段的資訊。
V$ARCHIVED_LOG:本檢視包含了所有歸檔重做日誌檔案的建立情況,備份情況以及其他資訊。
V$BACKUP_CORRUPTION:這個檢視顯示了RMAN在哪些備份集中發現了損壞的資料壞。在你使用BACKUP VALIDATE命令對備份集進行檢查時如果發現了損壞的資料塊,RMAN將在這個檢視中寫入記錄。
V$COPY_CORRUPTIO:本檢視顯示了哪些映象複製備份檔案已經被損壞。
V$BACKUP_DATAFILE:本檢視通常用來獲取每個資料檔案中非空白資料塊的數量,從而幫助你建立出大小基本相等的備份集。另外,在檢視中也包含了資料檔案中損壞的資料塊的資訊。
V$BACKUP_REDOLOG:本檢視顯示了在現有的備份集中飲食有哪些歸檔重做日誌檔案。
V$BACKUP_SET:本檢視顯示了已經建立的備份集的資訊。
V$BACKUP_PIECT:本檢視顯示了已經建立的備份片段的資訊。
可以透過如下SQL語句獲得正在進行的映象複製操作的狀態資訊:
Select sid,
serial#,
context,
sofar,
totalwork,
round(sofar / totalwork * 100, 2) "% Complete"
From v$session_longops
where opname like 'RMAN:%'
and opname not like 'RMAN:aggregate%'
Select sid,
serial#,
context,
sofar,
totalwork,
round(sofar / totalwork * 100, 2) "% Complete"
From v$session_longops
where opname like 'RMAN:%'
and opname not like 'RMAN:aggregate%'
透過如下SQL獲得rman用來完成備份操作的服務程式的SID與SPID資訊:
Select sid,spid,client_info from v$process p,v$session s where p.addr=s.paddr and client_info like '%id=rman%'
Select sid,spid,client_info from v$process p,v$session s where p.addr=s.paddr and client_info like '%id=rman%'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27038344/viewspace-734587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN常用的命令和操作
- RMAN 常用操作命令二(備份保留策略)
- rman的常用命令和asm檢視的命令ASM
- RMAN中常用的命令(一)
- RMAN常用命令
- RMAN 常用命令
- 常用RMAN 備份命令
- vi命令的常用操作
- RMAN 異機遷移實戰操作-附加常用命令
- 【RMAN】Oracle rman 常用命令參考Oracle
- Oracle rman 常用命令Oracle
- RMAN常用命令11
- 命令列中的常用操作命令列
- 我的常用tmux操作命令UX
- RMAN命令LIST操作總結
- Docker常用操作命令Docker
- Redis常用操作命令Redis
- Mongodb 常用操作命令MongoDB
- Django常用操作命令Django
- 【mongoDB】常用操作命令MongoDB
- gdb基礎命令和常用操作補充
- 常用rsync命令操作梳理
- hadoop常用操作命令Hadoop
- Vim 常用操作命令整理
- AIX 常用操作及命令AI
- RMAN 常用命令 3 [final]
- RMAN 常用命令 2 [final]
- RMAN 常用命令 1 [final]
- RMAN說,我能備份(7)--RMAN常用命令
- DataWorks中MaxCompute的常用操作命令
- git操作的常用命令分享Git
- 【Linux】—— vim常用操作命令Linux
- Windows常用網路操作命令Windows
- HDFS 常用檔案操作命令
- RMAN說,我能備份(8)--RMAN常用命令續
- RMAN常用命令——不斷整理中
- Linux常用的文字檔案操作命令Linux
- rman配置及常用操作相關知識點