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 MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...