RMAN命令詳解和常用彙總

来源:https://www.cnblogs.com/ritchy/archive/2019/11/13/11851499.html
-Advertisement-
Play Games

RMAN命令詳解和常用彙總轉摘彙集,日後使用本文鏈接:https://blog.csdn.net/EVISWANG/article/details/50448370http://blog.itpub.net/25904686/viewspace-742701/https://blog.csdn.ne ...


RMAN命令詳解和常用彙總
轉摘彙集,日後使用
本文鏈接:https://blog.csdn.net/EVISWANG/article/details/50448370
http://blog.itpub.net/25904686/viewspace-742701/
https://blog.csdn.net/zq9017197/article/details/6869579
https://www.cnblogs.com/polestar/archive/2013/02/06/2902598.html
--HQ_顯示RMAN備份信息及日誌
http://blog.itpub.net/30126024/viewspace-2128114/

【輸出日誌】
[oracle@tiger script]$ cat rman_db.sh
exportORACLE_HOME=/u01/oracle/product/11.2.0.4
export ORACLE_SID=TIGER
rman target / cmdfile=/u01/rman/script/rman_db.rcv msglog=/u01/rman/script/rman_full_`date+%Y-%m-%d`.log
[oracle@tiger script]$

【Catalog】
1、註冊副本
catalog datafilecopy 'c:\user01.bak';
2、註冊備份片
catalog backuppiece 'c:\demo_10.dbf' ;
3、註冊特定目錄的所有備份文件
catalog start with 'c:\bak';
4、註銷備份記錄
change datafilecopy 'c:\user01.bak' uncatalog;
change controlfilecopy 'c:\demo.ctl' uncatalog;
change backuppiece 'c:\demo_10.bak' uncatalog;
5、註冊歸檔日誌
catalog archivelog '/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423';
cataloged archived log
archived log file name=/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423 RECID=9578 STAMP=900068071

【Crosscheck】
crosscheck backup 核對所有備份集;
crosscheck backup of database 核對所有數據文件的備份集;
crosscheck backup of tablespace users 核對特定表空間的備份集;
crosscheck backup of datafile 4 核對特定數據文件的備份集;
crosscheck backup of controlfile 核對控制文件的備份集;
crosscheck backup of spfile 核對SPFILE的備份集;
crosscheck backup of archivelog sequence 3 核對歸檔日誌的備份集;
crosscheck copy 核對所有映像副本;
crosscheck copy of database 核對所有數據文件的映像副本;
crosscheck copy of tablespace users 核對特定表空間的映像副本;
crosscheck copy of datafile 6 核對特定數據文件的映像副本;
crosscheck copy of archivelog sequence 4 核對歸檔日誌的映像副本;
crosscheck copy of controlfile 核對控制文件的映像副本;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sBT;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522;

expired: 對象不存在於磁碟或磁帶。當一個備份集處於expired狀態,則該備份集中所有的備份片同樣處於expired狀態
available: 對象處於可用狀態。當一個備份集可用,則該備份集內的所有備份片同樣可用
unavailabe: 對象處於不可用狀態。當一個備份集不可用,則該備份集內的所有備份片同樣不可用
註:expired不等同於obsolette。兩者的差異請參考:文檔

【Delete】
1、刪除陳舊備份
delete obsolete; #提示
delete noprompt obsolete; #不提示
2、刪除EXPIRED備份集
delete noprompt expired backup;
3、刪除EXPIRED副本
delete noprompt expired copy ;
4、刪除特定備份集
delete noprompt backupset 19;
5、刪除特定備份片
delete noprompt backuppiece 'c:\test\demo1.bak';
6、刪除所有備份集
delete noprompt backup ; 或者
delete noprompt backupset;
7、刪除特定映像副本
delete noprompt datafilecopy 'c:\test\demo.bak'; 刪除數據文件
delete noprompt controlfilecopy 'c:\test\controlfile_bak.ctl'; 刪除控制文件
delete noprompt archivelog 'c:\test\arc.bak'; 刪除歸檔日誌
delete noprompt ?force archivelog all completed before 'sysdate - 7';
8、刪除所有映像副本
delete noprompt copy;
9、在備份後刪除輸入對象
backup archivelog all delete input ;
backup backupset 22 format='c:\test\%u.bak' delete input ;
10、delete expired archivelog all;就是同步控制文件的信息和實際物理文件的信息。

【Report】
RMAN> report schema 報告目標資料庫的物理結構;
RMAN> report need backup days=3; 報告最近3天沒有被備份的數據文件;
RMAN> report need backup days 3 tablespace users; 在USERS表空間上3天未備份的數據文件;
RMAN> report need backup incremental 3; 報告恢複數據文件需要的增量備份個數超過3次的數據文件;
RMAN> report need backup redundancy 2 database; 報告備份文件低於2份的所有數據文件;
RMAN> report need backup redundancy=2;
RMAN> report need backup recovery window of 6 days; 報告文件報表的恢復需要超過6天的歸檔日誌的數據文件;
RMAN> report unrecoverable; 報告資料庫所有不可恢復的數據文件;
RMAN> report obsolete redunndancy 2; 報告備份次數超過2次的陳舊備份;
RMAN> report obsolete; 報告多餘的備份;

【List】
列出數據文件備份集
RMAN> list backup 列出詳細備份;
RMAN> list expired backup; 列出過期備份;
RMAN> list backup of database; 列出所有數據文件的備份集;
RMAN> list backup of tablespace user01; 列出特定表空間的所有數據文件備份集;
RMAN> list backup of controlfile 列出控制文件備份集;
RMAN> list backup of archivelog all 列出歸檔日誌備份集詳細信息;
RMAN> list archivelog all;      列出歸檔日誌備份集簡要信息
RMAN> list backup of spfile 列出SPFILE備份集;
RMAN> list copy of datafile 5 列出數據文件映像副本;
RMAN> list copy of controlfile 列出控制文件映像副本;
RMAN> list copy of archivelog all 列出歸檔日誌映像副本;
RMAN> list incarnation of database 列出對應物/列出資料庫副本;
RMAN> list backup summary; 概述可用的備份;

RMAN> list backup of datafile { n | <dir>}
RMAN> list copy of archive from time = 'sysdate - 7';
RMAN> list backup of archivelog from sequence 1000 until sequence 1020;
RMAN> list backupset tag=TAG20101014T155753;
表示backup
表示FULL
表示archive log
表示incremental backup
說明備份狀態(A AVAILABLE   X EXPIRED )
MAN> list backup by file 按備份類型列出備份;
按照數據文件備份,歸檔日誌備份,控制文件備份,伺服器參數文件備份 列出

【Show】
RMAN> show all;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFORCL.ORA'; # default

RMAN configuration parameters for database with db_unique_name PRODS are:
註釋:#default表示該配置仍然是初始的預設值。回到預設配置configure..clear。
1.CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
是用來決定那些備份不再需要了,它一共有三種可選項,分別是
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO NONE;
第一種recover window是保持所有足夠的備份,可以將資料庫系統恢復到最近七天內的任意時刻。任何超過最近七天的資料庫備份將被標記為obsolete。
第二種redundancy 是為了保持可以恢復的最新的5份資料庫備份,任何超過最新5份的備份都將被標記為redundancy。它的預設值是1份。
第三種不需要保持策略,clear將恢復回預設的保持策略。
一般最安全的方法是採用第二種保持策略
其中前兩種是互斥關係

2.CONFIGURE BACKUP OPTIMIZATION OFF; # default
預設值為關閉,如果打開,rman將對備份的數據文件及歸檔等文件進行一種優化的演算法。
理論上,備份優化僅對於只讀表空間或offline表空間起作用。當然,對於已經備份過的歸檔日誌文件也會跳過。

3.CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
是指定所有I/O操作的設備類型是硬碟或者磁帶,預設值是硬碟DISK
磁帶的設置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;

4.CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
強制資料庫在備份文件或者執行改變資料庫結構的命令之後將控制文件自動備份,預設值為關閉。這樣可以避免控制文件和catalog丟失後,控制文件仍然可以恢復。
當autobackup設置為on時,rman做任何備份操作,都會自動對控制文件進行備份。

5.CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
是配置控制文件的備份路徑和備份格式
比如:configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F'

6.CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
配置資料庫設備類型的並行度。並行度決定通道數。

7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是配置資料庫的每次備份的copy數量,oracle的每一次備份都可以有多份完全相同的拷貝。
是否啟動複合備份,向指定的i/o設備中指定的位置生成指定的份數。預設為1.
這個配置僅用於數據文件和歸檔文件,並且,只有在自動分配通道時才會生效!

8.CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是設置資料庫的歸檔日誌的存放設備類型

9.CONFIGURE MAXSETSIZE TO UNLIMITED; # default
備份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
配置備份集的大小。一般是配置maxpiecesize,對備份片進行限制。

10.CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
配置加密備份集。可以具體到某個表空間:
configure encryption for tablespace users on;
如果我們執行set encryption on indentified by think only,緊接其後所創建的備份就需要該密碼才能進行正常的恢復

11.CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
指定加密演算法,還有一個是 ‘AES256'

12.CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
13.CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
指定歸檔文件的刪除策略,預設是none,即:歸檔備份完之後就可以被刪除
但是,在DG環境,DBA要保證歸檔文件在standby端成功接收並且應用之前,primary端始終保存該文件
so,DG環境當設為:applied on standby
14.CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/CCBPROD/oracle/product/11.2.0.4/dbs/snapcf_PROD.f'; # default
配置控制文件的快照文件的存放路徑和文件名,這個快照文件是在備份期間產生的,用於控制文件的讀一致性
另外,CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用於將指定的表空間不備份到備份集中, 此命令對只讀表空間是非常有用的。

15.CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
是配置備份文件的備份路徑和備份格式
CONFIGURE CHANNEL DISK CLEAR;用於清除上面的通道配置
CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用於將指定的表空間不備份到備份集中, 此命令對只讀表空間是非常有用的。
1.將備份文件存儲到指定路徑,如e:\backupb
configure channel device type disk format 'e:\backupb\%d_db_%u';
後面的%d_db_%u是存儲格式
2.我們也可以單獨指定control file存儲在另一個路徑:如e:\backupcontrol
configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F';
後面的%F是存儲格式


進入RMAN:
$ rman target sys/oracle@orcl?? --遠程連接到rman
$ rman target sys/oracle@orcl @backup_db.ram?? --遠程連接到rman並執行指定腳本
$ rman target sys/oracle@orcl cmdfile=backup_db.ram?? --遠程連接到rman並執行指定腳本
$ rman target / log rman.log?? --記錄rman的輸出
RMAN> @backup_db.ram?? --rman裡面執行腳本
或者
/u01/oracle/product/10/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

備份命令:
RMAN> backup database format '.../%d_%U';?? --備份資料庫並指定備份路徑
RMAN> backup database;?? --備份資料庫
RMAN> backup database include current controlfile plus archivelog delete all input;? --備份數據文件、控制文件、歸檔日誌
RMAN> backup incremental level 0 database;?? --差異增量備份資料庫
RMAN> backup incremental level 0 cumulative database;?? --累積增量備份資料庫
RMAN> backup as compressed backupset database;?? --壓縮備份資料庫
RMAN> backup database include current controlfile;?? --備份資料庫並備份控制文件
RMAN> backup tablespace users;?? --備份表空間
RMAN> backup datafile n;?? --備份數據文件
RMAN> backup datafiel '/opt/oracle/oradata/orcl/users01.dbf';?? --備份數據文件
RMAN> backup current controlfile;?? --備份控制文件
RMAN> backup current controlfile plus archivelog;?? --備份控制文件並歸檔然後備份歸檔日誌
RMAN> backup archivelog all;?? --備份歸檔日誌
RMAN> backup archivelog all delete all input;?? --備份歸檔日誌並刪除
RMAN> backup spfile;?? --備份參數文件
RMAN> backup backupset all;?? --備份全部備份集
RMAN> backup backupset n;?? --備份指定備份集

還原、恢覆命令:
RMAN> restore database;?? --還原資料庫
RMAN> restore tablespace users;?? --還原表空間
RMAN> restore datafile n;?? --還原數據文件
RMAN> restore archivelog sequence between 10 and 20;?? --還原歸檔日誌
RMAN> restore controlfile from autobackup;?? --還原控制文件
RMAN> restore spfile to '/tmp/spfile.ora' from autobackup;?? --還原參數文件
RMAN> recover database;?? --恢複數據庫
RMAN> recover tablespace users;?? --恢復表空間
RMAN> recover datafile n;?? --恢複數據文件
RMAN> restore validate database;????? --驗證資料庫可恢復性
RMAN> restore validate controlfile;?? --驗證控制文件可恢復性
RMAN> restore validate spfile;??????? --驗證參數文件可恢復性

查看備份集命令:
RMAN> list backup;?? --列出資料庫中所有的備份集
RMAN> list backup of database;?? --查看資料庫備份集
RMAN> list backup of tablespace users;?? --查看表空間備份集
RMAN> list backup of datafile n;?? --查看備份的數據文件
RMAN> list backup of controlfile;?? --查看控制文件備份集
RMAN> list backup of archivelog all;?? --查看歸檔日誌備份集
RMAN> list archivelog all;?? --查看當前所有歸檔日誌
RMAN>?list expired backup;?? --列出所有無效備份

管理備份集命令:
RMAN> crosscheck backup;?? --檢查所有備份集
RMAN> crosscheck archivelog all;?? --檢查所有歸檔文件
RMAN> delete [noprompt] obsolete;?? --刪除過期備份
RMAN> delete expired backup;?? --刪除無效備份
RMAN> delete expired archivelog all;? --刪除所有無效歸檔文件
RMAN> delete backupset 1;?? --刪除指定備份
RMAN> delete backup;?? --刪除所有備份
RMAN> change backupset 3 unavailable;?? --更改備份集3為無效
RMAN> change backupset 3 available;???? --更改備份集3為有效
RMAN> change backup of controlfile unavailable;?? --更改控制文件為無效
RMAN> change backup of controlfile available;???? --更改控制文件為有效
RMAN> report schema;?? --查看資料庫備份結構
RMAN> report need backup;?? --查看所以需要備份的文件
RMAN> report need backup tablespace system;?? --查看指定表空間是否需要備份
RMAN> report obsolete;?? --查看過期備份


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • -e 判斷對象是否存在 -d 判斷對象是否存在,並且為目錄 -f 判斷對象是否存在,並且為常規文件 -L 判斷對象是否存在,並且為符號鏈接 -h 判斷對象是否存在,並且為軟鏈接 -s 判斷對象是否存在,並且長度不為0 -r 判斷對象是否存在,並且可讀 -w 判斷對象是否存在,並且可寫 -x 判斷對... ...
  • 環境 主機: Windows 10 虛擬機: VMware 15 Pro 鏡像: 一、安裝過程: 然後開啟虛擬機 設置主機名 時區 密碼 最小安裝 等著 重啟 登錄 二、配置靜態IP地址 輸入ifconfig後沒有配置IP地址,接下來進行手動配置。 輸入以下命令進入IP配置文件進行配置 原始內容 進 ...
  • 身份鑒別 1)對登陸操作系統和資料庫系統的用戶進行身份表示和鑒別 1、密碼文件中的口令欄位是否不為空 2、檢查各個用戶主目錄下的.rhosts文件 3、查看/etc/hosts.equiv 學習: 1、用戶主目錄 ~代表用戶主目錄 對一般用戶而言,~表示/home/(用戶名) 對root用戶而言,~ ...
  • 回到目錄 1. 基本用法 用BJT晶體管實現開關功能是經常會用到的實用電路。和邏輯門電路類似,當BJT用於開關電路時,也只工作於飽和區和截止區。 開關功能的實現電路如下圖所示,負載可以是發光二極體、電動機等等。 圖3-10.01 開關電路的工作原理如下: • 當vi輸入0V時,晶體管截止,負載RL上 ...
  • SQL Server 中 的使用 Intro SQL Server 從 2016 開始支持了一些 JSON操作,最近的項目里也是好多地方欄位直接存成了 JSON,需要瞭解一下怎麼在SQL Server 中操作 JSON. JSON支持適用於 SQL Server 2016 及以上版本 和 Azure ...
  • 第一範式(1NF):欄位具有原子性,不可再分。所有關係型資料庫系統都滿足第一範式) 資料庫表中的欄位都是單一屬性的,不可再分。例如,姓名欄位,其中的姓和名必須作為一個整體,無法區分哪部分是姓,哪部分是名,如果要區分出姓和名,必須設計成兩個獨立的欄位。 第二範式(2NF)要求實體的屬性完全依賴於主關鍵 ...
  • 一.存儲引擎簡介 1、文件系統: 1.1 操作系統組織和存取數據的一種機制。 1.2 文件系統是一種軟體。 2、文件系統類型:ext2 3 4 ,xfs 數據(centos6 ext 4 centos7 xfs) 2.1 不管使用什麼文件系統,數據內容不會變化 2.2 不同的是,存儲空間、大小、速度 ...
  • 今天在做定時任務的時候,遇到了一個比較難搞的問題,這個問題也比較有意思,現在給大家分享一下,這個定時任務的調用入口是這樣的。 // 進行 ldap同步 public void runLdapSyncJob(){ try { ldapSyncService.syncLdap(); } catch (E ...
一周排行
    -Advertisement-
    Play Games
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...