catalog 命令
[oracle@host ~]$ rman targetcatalog
先來list一下
RMAN> list backup;
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN會利用控制檔案自動重新同步的恢復資訊,保證catalog的最有效性
還可以在RMAN下手動重新同步資訊
RMAN> RESYNC CATALOG; #完全同步
有時候,我們可能用了非RMAN工具來備份資料庫檔案
比如,用系統複製執行了一個users表空間備份
SQL> ALTER TABLESPACE users BEGIN BACKUP;
(用系統複製命令將users表空間對應資料檔案複製到別處)
SQL> ALTER TABLESPACE users END BACKUP;
這時,RMAN的catalog中並沒有記錄到相關資訊
我們可以透過下面命令來為catalog新增備份資訊
RMAN> CATALOG DATAFILECOPY '/home/oracle/dumptest/users01.dbf';
cataloged datafile copy
datafile copy filename=/home/oracle/dumptest/users01.dbf...
這時候再用RMAN的list copy命令就可以檢視到剛剛新增的副本複製資訊了
同理,catalog命令還可以新增其它備份資訊
新增多個備份片資訊
RMAN> CATALOG BACKUPPIECE '/09dtq55d_1_2', '/0bdtqdou_1_1';
還可以新增某個目錄下所有未被RMAN記錄的相關檔案資訊
RMAN> CATALOG START WITH '/home/oracle/oradata/test/';
發現有未記錄的檔案,會提示
searching for all files that match the pattern /home/oracle/oradata/test/
List of Files Unknown to the Database
Do you really want to catalog the above files (enter YES or NO)?
如果其中有不符合的檔案會報錯
RMAN-07517: Reason: The file header is corrupted
既然有新增資訊,就有刪除資訊的命令
如果已經存在於catalog的備份資訊是無效的(檔案不存在或損壞等)
我們可以用CHANGE UNCATALOG命令來清除相關資訊
試驗一下,先將datafile 4(users01)做一個副本複製
RMAN> backup as copy datafile 4;
rman>backup as copy database format '/oradata/backup_%u.BAK';
RMAN> list datafilecopy all;
此時還可看見相關資訊(對應key為647),執行下面命令
此時用系統命令刪除此副本檔案
RMAN> change datafilecopy 647 uncatalog;
再次list,此時key為647的副本複製資訊已經清除了
在這裡,要簡單說下和備份資訊相關的一些檢視
如果使用了catalog,這些資訊會分別存放在catalog和target的相關檢視中
catalog中的檢視,是以RC_開頭,target的檢視,是V$開頭
因為涉及檢視相當多(得幾十個),每個檢視還有許多欄位
用到什麼說什麼吧,就先說剛才的資料檔案副本複製
catalog下是RC_DATAFILE_COPY,簡單說幾個欄位
DB_KEY,區分target用的資料庫主鍵
DBINC_KEY,資料庫化身(incarnation)主鍵
DB_NAME,資料庫名
CDF_KEY,資料檔案副本複製的主鍵
RECID和STAMP,從target的V$DATAFILE_COPY得來,在target控制檔案中具有唯一性
NAME,檔名,含路徑
TAG,副本複製的tag名
FILE#,資料檔案絕對檔案號
BLOCKS,資料檔案副本的塊數
BLOCK_SIZE,塊大小,可利用blocks和block_size計算資料檔案副本大小
COMPLETION_TIME,副本複製建立完成時間
STATUS,副本狀態,包括
A可用(available),U不可用(unavailable),X過期(expired),D刪除(deleted)
target下是V$DATAFILE_COPY,資訊來自控制檔案
catalog下是RC_DATAFILE_COPY,簡單說幾個欄位
不包含DB_KEY,DBINC_KEY,DB_NAME,CDF_KEY
其它主要欄位都有
再簡單記錄一些命令
列出包含歸檔日誌的備份資訊
RMAN>list backup of archivelog all;
of引數可以用來限定檢視的型別
比如,list backup of datafile 1;
是列舉包含資料檔案1號(一般為system資料檔案)的備份
還原按照SCN號還原歸檔日誌
RMAN>restore archivelog from scn 898815 until scn 902871;
剛才提了個新名詞INCARNATION,中文個人暫翻譯為化身(可能不太合適)
資料庫resetlogs後,會成為新的開始,以前的備份將不再有用
在resetlogs後,也會生成新的incarnation,資料庫有相關檢視記錄incarnation歷史資訊
還會把資料庫日誌序號重新設定為1,並分配新的SCN
當前化身下透過執行resetlogs生成新化身,當前化身就稱為父化身(parent incarnation)
父化身和父化身的父化身,成為當前化身的祖化身(ancestor incarnations)
由一個祖化身產生兩個新化身,相互間成為同胞化身(sibling incarnations)
每個化身如果有各自的備份,相互之間是無法用來恢復的,稱為孤備份(Orphaned Backups)
化身在一些複雜的恢復情況下十分有用,今天先簡單瞭解,以後應用到再說
檢視資料庫incarnation命令
RMAN>LIST INCARNATION;
結果如下
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 8 TEST 1969292173 PARENT 1 30-JUN-05
(中間略)
1 69 TEST 1969292173 CURRENT 903961 18-JAN-09
如果catalog中註冊了多個target,可以用database引數進行區分
RMAN> LIST INCARNATION OF DATABASE 'TEST';
copy 多一份備份
RMAN> backup as copy copy of database from tag='TAG20120310T095833' format '/oradata/ora10/backup_%f.bk';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2136312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman catalog 命令所能catalog 的物件物件
- RMAN - catalog start with命令
- rman中的catalog命令!
- 說說10g rman的catalog命令
- 使用Catalog命令註冊RMAN備份集
- Catalog backuppiece ( regsiter a backup piece to the catalog )
- oracle rman catalogOracle
- rman 建立catalog庫
- 【RMAN】catalog資料庫資料庫
- 建立catalog 資料庫資料庫
- oracle 之catalog 學習Oracle
- 建立CATALOG資料庫。資料庫
- 【Oracle】rman upgrade catalogOracle
- Recovery Catalog creation and MaintenanceAINaN
- upgrade oracle rman catalogOracle
- catalog.sql指令碼介紹SQL指令碼
- Catalog archivelog from file system to Asmdg;HiveASM
- DB2建立catalog編目DB2
- RMAN Catalog 學習與測試
- 9I Catalog Configure
- RMAN中catalog和nocatalog區別
- RMAN Catalog 和 Nocatalog 的區別
- RMAN備份 建立catalog資料庫資料庫
- 使用RMAN恢復目錄(catalog)解析
- Create recovery catalog Configure Recovery Manager
- 建立RMAN catalog實現物理備份
- 建立catalog並註冊資料庫資料庫
- Oracle 19C DELETE_CATALOG_ROLE角色Oracledelete
- RocketMQ Flink Catalog 設計與實踐MQ
- Oracle 備份恢復篇之RMAN catalogOracle
- 揭秘ORACLE備份之----RMAN之五(CATALOG)Oracle
- .NET Core Runtime IDentifier (RID) catalogIDE
- rman catalog的配置及詳解例項
- oracle實驗記錄 (恢復-rman catalog)Oracle
- 基於catalog 建立RMAN儲存指令碼指令碼
- Duplicating a Database Without Recovery Catalog or Target ConnectionDatabase
- 測試 controlfile 和 catalog的同步
- 資料庫-Duckdb-catalog和schema資料庫