溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解catalog命令

發(fā)布時間:2021-11-08 10:12:39 來源:億速云 閱讀:186 作者:柒染 欄目:建站服務(wù)器

這篇文章給大家介紹如何理解catalog命令,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

使用catalog進入RMAN,命令如下
[oracle@host ~]$ rman targetsys/sys@testcatalogrman/rman@cat
先來list一下
RMAN> list backup;
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN會利用控制文件自動重新同步數(shù)據(jù)庫的恢復(fù)信息,保證catalog的最有效性
還可以在RMAN下手動重新同步信息
RMAN> RESYNC CATALOG; #完全同步

有時候,我們可能用了非RMAN工具來備份數(shù)據(jù)庫文件
比如,用系統(tǒng)拷貝執(zhí)行了一個users表空間備份
SQL> ALTER TABLESPACE users BEGIN BACKUP;
(用系統(tǒng)拷貝命令將users表空間對應(yīng)數(shù)據(jù)文件拷貝到別處)
SQL> ALTER TABLESPACE users END BACKUP;
這時,RMAN的catalog中并沒有記錄到相關(guān)信息
我們可以通過下面命令來為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記錄的相關(guān)文件信息
RMAN> CATALOG START WITH '/home/oracle/oradata/test/';
發(fā)現(xiàn)有未記錄的文件,會提示
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

既然有添加信息,就有刪除信息的命令
如果已經(jīng)存在于catalog的備份信息是無效的(文件不存在或損壞等)
我們可以用CHANGE UNCATALOG命令來清除相關(guān)信息

試驗一下,先將datafile 4(users01)做一個副本拷貝
RMAN> backup as copy datafile 4;

rman>backup as copy  database format '/oradata/backup_%u.BAK';
RMAN> list datafilecopy all;
此時還可看見相關(guān)信息(對應(yīng)key為647),執(zhí)行下面命令

此時用系統(tǒng)命令刪除此副本文件

RMAN> change datafilecopy 647 uncatalog;
再次list,此時key為647的副本拷貝信息已經(jīng)清除了
在這里,要簡單說下和備份信息相關(guān)的一些視圖
如果使用了catalog,這些信息會分別存放在catalog和target的相關(guān)視圖中
catalog中的視圖,是以RC_開頭,target的視圖,是V$開頭
因為涉及視圖相當多(得幾十個),每個視圖還有許多字段
用到什么說什么吧,就先說剛才的數(shù)據(jù)文件副本拷貝
catalog下是RC_DATAFILE_COPY,簡單說幾個字段
DB_KEY,區(qū)分target用的數(shù)據(jù)庫主鍵
DBINC_KEY,數(shù)據(jù)庫化身(incarnation)主鍵
DB_NAME,數(shù)據(jù)庫名
CDF_KEY,數(shù)據(jù)文件副本拷貝的主鍵
RECID和STAMP,從target的V$DATAFILE_COPY得來,在target控制文件中具有唯一性
NAME,文件名,含路徑
TAG,副本拷貝的tag名
FILE#,數(shù)據(jù)文件絕對文件號
BLOCKS,數(shù)據(jù)文件副本的塊數(shù)
BLOCK_SIZE,塊大小,可利用blocks和block_size計算數(shù)據(jù)文件副本大小
COMPLETION_TIME,副本拷貝創(chuàng)建完成時間
STATUS,副本狀態(tài),包括
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參數(shù)可以用來限定查看的類型
比如,list backup of datafile 1;
是列舉包含數(shù)據(jù)文件1號(一般為system數(shù)據(jù)文件)的備份

還原按照SCN號還原歸檔日志
RMAN>restore archivelog from scn 898815 until scn 902871;

剛才提了個新名詞INCARNATION,中文個人暫翻譯為化身(可能不太合適)
數(shù)據(jù)庫resetlogs后,會成為新的開始,以前的備份將不再有用
在resetlogs后,也會生成新的incarnation,數(shù)據(jù)庫有相關(guān)視圖記錄incarnation歷史信息
還會把數(shù)據(jù)庫日志序號重新設(shè)置為1,并分配新的SCN
當前化身下通過執(zhí)行resetlogs生成新化身,當前化身就稱為父化身(parent incarnation)
父化身和父化身的父化身,成為當前化身的祖化身(ancestor incarnations)
由一個祖化身產(chǎn)生兩個新化身,相互間成為同胞化身(sibling incarnations)
每個化身如果有各自的備份,相互之間是無法用來恢復(fù)的,稱為孤備份(Orphaned Backups)
化身在一些復(fù)雜的恢復(fù)情況下十分有用,今天先簡單了解,以后應(yīng)用到再說
查看數(shù)據(jù)庫incarnation命令
RMAN>LIST INCARNATION;
結(jié)果如下
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參數(shù)進行區(qū)分
RMAN> LIST INCARNATION OF DATABASE 'TEST';

copy 多一份備份

RMAN>  backup as copy copy of database from tag='TAG20120310T095833' format '/oradata/ora10/backup_%f.bk';

 

關(guān)于如何理解catalog命令就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI