oracle實驗記錄 (恢復-rman維護(2))

fufuh2o發表於2009-09-17



繼續rman維護命令
change命令
改變備份狀態 ~~~~更改RMAN 備份和副本的可用性

unavailable 不可用
available可用
更改可用性狀態
如果無法找到備份或副本,或由於硬體維護的原因而導致備份或副本不可用,您可以使用
CHANGE ... UNAVAILABLE 命令。如果某個檔案被標記為UNAVAILABLE,則當發出
RESTORE 或RECOVER 命令時,RMAN 將不會使用該檔案。~~~~~~~~~~~~~****************
如果找到了該檔案或維護過程已完成,則可以通過發出CHANGE ... AVAILABLE 命令
再次將其標記為可用。

1.改變備份集狀態
RMAN> change backupset 95 unavailable;

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: unavailable 命令 (ORA_DISK_1 通道上, 在 09/16/2009 15:28:03 上) 失敗
ORA-19813: 在 DB_RECOVERY_FILE_DEST 中不能有不可用的檔案 E:\ORACLE\PRODUCT\10.2.0\F
LASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_16\O1_MF_NNNDF_TAG20090916T152729_5C14V1X
S_.BKP
注意如果 buckuPSET 使用的是default位置 為設定預設channel位置 ,放在了flashback recover area

那麼狀態不可以改變]


RMAN> change backupset 96 unavailable;

不能使用更改的備份段
備份段 handle=D:\BACKUP\34KPD6KP_1_1 recid=110 stamp=697735833
1 物件已更改為 UNAVAILABLE 狀態

RMAN> list backup of datafile 6;
BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
96      Full    152.00K    DISK        00:00:00     16-9月 -09
        BP 關鍵字: 110   狀態: UNAVAILABLE  已壓縮: NO  標記: TAG20090916T153033~~可以看到

狀態為unavailable
段名:D:\BACKUP\34KPD6KP_1_1
  備份集 96 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  6       Full 1732363    16-9月 -09 D:\TEST.DBF


change後跟
archivelog, backup, backuppiece, backupset, copy, controlfilecopy, datafilecopy

RMAN> change backup unavailable;所有buckupset 改為unavialable狀態
RMAN> change backuppiece 112 unavailable;改指定備份片狀態

RMAN> change datafilecopy 'd:\backup\df6.dbf'  unavailable~~~~~~~~改變映像資料檔案狀態為不

可用
2> ;

不能使用更改的資料檔案副本
資料檔案副本 filename=D:\BACKUP\DF6.DBF recid=3 stamp=697742092
1 物件已更改為 UNAVAILABLE 狀態


RMAN> change controlfilecopy 'd:\backup\ct6.dbf'  unavailable~~改變映像controlfile狀態為不

可用
2> ;

不能使用更改的控制檔案副本
控制檔案副本檔名=D:\BACKUP\CT6.DBF recid=4 stamp=697742122
1 物件已更改為 UNAVAILABLE 狀態
RMAN> change copy  unavailable~~~~~~~~~~~~改變所有映像副本狀態

(controlfile,archivelog,datafile)
2> ;
RMAN> change archivelog all unavailable ;~~~~~~~~~改變所有archivelog狀態

all, double-quoted-string, from, high, integer, like, logseq, low, scn, sequence, single-

quoted-string, time, until

更改過的存檔日誌不可用
存檔日誌檔名 =E:\ARCHIVELOG2\ARC00015_0697636641.001.ARC 記錄 ID=25 時間戳 =69774
2381
更改過的存檔日誌不可用
存檔日誌檔名 =E:\ARCHIVELOG\ARC00015_0697636641.001.ARC 記錄 ID=24 時間戳 =697742
381
2 物件已更改為 UNAVAILABLE 狀態


改回available狀態
RMAN> change archivelog all available ;

釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
更改過的存檔日誌可用
存檔日誌檔名 =E:\ARCHIVELOG2\ARC00015_0697636641.001.ARC 記錄 ID=25 時間戳 =69774
2381
更改過的存檔日誌可用
存檔日誌檔名 =E:\ARCHIVELOG\ARC00015_0697636641.001.ARC 記錄 ID=24 時間戳 =697742
381
已將 2 物件更改為 AVAILABLE 狀態


RMAN> change copy available ;

釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
可以使用更改的資料檔案副本
資料檔案副本 filename=D:\BACKUP\DF6.DBF recid=3 stamp=697742092
可以使用更改的控制檔案副本
控制檔案副本檔名=D:\BACKUP\CT6.DBF recid=4 stamp=697742122
更改過的存檔日誌可用
存檔日誌檔名 =E:\ARCHIVELOG2\ARC00015_0697636641.001.ARC 記錄 ID=25 時間戳 =69774
2381
更改過的存檔日誌可用
存檔日誌檔名 =E:\ARCHIVELOG\ARC00015_0697636641.001.ARC 記錄 ID=24 時間戳 =697742
381
已將 4 物件更改為 AVAILABLE 狀態


RMAN> change backup available ;

使用通道 ORA_DISK_1
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NNNDF_TAG20090916T152729_5C14V1XS_.BKP recid=109 stamp=697735649
可以使用更改的備份段
備份段 handle=D:\BACKUP\34KPD6KP_1_1 recid=110 stamp=697735833
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NNNDF_TAG20090916T153712_5C15F97B_.BKP recid=111 stamp=697736233
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NNNDF_TAG20090916T153712_5C15FR6T_.BKP recid=112 stamp=697736248
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NNNDF_TAG20090916T153712_5C15FZ89_.BKP recid=113 stamp=697736255
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NNNDF_TAG20090916T153712_5C15G6DP_.BKP recid=114 stamp=697736262
可以使用更改的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_1
6\O1_MF_NCSNF_TAG20090916T153712_5C15GHJ3_.BKP recid=115 stamp=697736271
已將 7 物件更改為 AVAILABLE 狀態

 

延長備份,讓備份脫離保留策略

RMAN> show retention policy  現在的保留策略是 當一個資料檔案有2次備份時候 有一次為過期的
2> ;

RMAN 配置引數為:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

RMAN> backup  datafile 6;

啟動 backup 於 16-9月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00006 name=D:\TEST.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 16-9月 -09
通道 ORA_DISK_1: 已完成段 1 於 16-9月 -09
段控制程式碼=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_16\O1_MF
_NNNDF_TAG20090916T173206_5C1D4QHN_.BKP 標記=TAG20090916T173206 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
完成 backup 於 16-9月 -09

RMAN> backup  datafile 6;

啟動 backup 於 16-9月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00006 name=D:\TEST.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 16-9月 -09
通道 ORA_DISK_1: 已完成段 1 於 16-9月 -09
段控制程式碼=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_16\O1_MF
_NNNDF_TAG20090916T173214_5C1D4YL2_.BKP 標記=TAG20090916T173214 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
完成 backup 於 16-9月 -09

同一個檔案備份2次,那麼按保留策略保留一份來算,最早備份的為OBSOLETE

RMAN> report obsolete
2> ;

RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
已廢棄的備份和副本報表
型別                 關鍵字 完成時間           檔名/控制程式碼
-------------------- ------ ------------------ --------------------
備份集               99     16-9月 -09
備份段       116    16-9月 -09         E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
\ORCL\BACKUPSET\2009_09_16\O1_MF_NNNDF_TAG20090916T173206_5C1D4QHN_.BKP

此時用DELETE OBSOLETE 可以刪除過保留策略的
現在想改變這個BUCKUPSET 讓它脫離備份策略
 
RMAN> change backupset 99 keep forever logs;
RMAN> change backupset 99 keep forever NOlogs;
forever:表示永久 必須使用恢復目錄catalog,如果是用控制檔案受control_file_record_keep_time

影響早晚會過期,所以必須使用catalog
LOGS :表示只要該備份或副本可用,則恢復此備份或副本所需的所有歸檔日誌都必須保持可用。
NOLOGS :指定不保留恢復此備份所需的歸檔日誌。


RMAN> change backupset 99 keep until time 'sysdate+1' logs;

使用通道 ORA_DISK_1
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: KEEP 命令 (ORA_DISK_1 通道上, 在 09/16/2009 17:42:56 上) 失敗
ORA-19811: 在具有保留屬性的 DB_RECOVERY_FILE_DEST 中不能有檔案

另外如果備份在 flashback recover area (defalut)未配置備份通道,那麼不可以改變保留屬性

RMAN> report obsolete ;

RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
已廢棄的備份和副本報表
型別                 關鍵字 完成時間           檔名/控制程式碼
-------------------- ------ ------------------ --------------------
備份集               101    16-9月 -09
備份段       118    16-9月 -09         D:\BACKUP\3BKPDEIS_1_1

RMAN> change backupset 101 keep until time 'sysdate+1' logs; 脫離保留策略一天

使用通道 ORA_DISK_1
備份的保留屬性被更改
備份將於 17-9月 -09 廢棄
備份失效時, 從該備份恢復所需的存檔日誌也會失效
備份集關鍵字 =101 記錄 ID=101 時間戳=697743965

RMAN> report obsolete ;

RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
未找到已廢棄的備份
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~修改系統時間 加一天,因為只脫離保留策略一天,改系統時

間後 又回到保留策略中
RMAN> report obsolete
2> ;

RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
已廢棄的備份和副本報表
型別                 關鍵字 完成時間           檔名/控制程式碼
-------------------- ------ ------------------ --------------------
備份集               101    16-9月 -09
備份段       118    16-9月 -09         D:\BACKUP\3BKPDEIS_1_1


RMAN> change backupset 101 nokeep;取消延長讓其回到保留策略中

使用通道 ORA_DISK_1
備份的保留屬性被刪除
備份集關鍵字 =101 記錄 ID=101 時間戳=697743965

 


catalog命令
向資料庫註冊備份(作業系統資料檔案副本,歸檔重做日誌副本,控制檔案副本)

例:沒有使用catalog,rman資訊都在controlfile中
RMAN> list backup;


備份集列表
===================

BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
103     Full    152.00K    DISK        00:00:01     19-9月 -09
        BP 關鍵字: 120   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090919T092854
段名:D:\BACKUP\3DKPKEIM_1_1
  備份集 103 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  6       Full 1766336    19-9月 -09 D:\TEST.DBF

RMAN> list copy;


資料檔案副本列表
關鍵字     檔案 S 完成時間   Ckp SCN    Ckp 時間   名稱
------- ---- - ---------- ---------- ---------- ----
5       6    A 19-9月 -09 1766362    19-9月 -09 D:\BACKUP\DF6.DBF

已存檔的日誌副本列表
關鍵字     Thrd Seq     S 短時間     名稱
------- ---- ------- - ---------- ----
33      1    19      A 17-9月 -09 E:\ARCHIVELOG2\ARC00019_0697636641.001.ARC
32      1    19      A 17-9月 -09 E:\ARCHIVELOG\ARC00019_0697636641.001.ARC

上面是現在controlfile中記錄的buckupset,copy資訊(沒使用catalog)


SQL> alter database backup controlfile to trace;

資料庫已更改。


SQL> startup force mount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             197135236 bytes
Database Buffers          406847488 bytes
Redo Buffers                7135232 bytes
資料庫裝載完畢。
SQL> startup force nomount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             197135236 bytes
Database Buffers          406847488 bytes
Redo Buffers                7135232 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'  SIZE 50M,
  9    GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'  SIZE 50M,
 10    GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'  SIZE 50M
 11  -- STANDBY LOGFILE
 12  DATAFILE
 13    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
 14    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
 15    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
 16    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
 17    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF',
 18    'D:\TEST.DBF',
 19    'E:\SYSDATAFILE2.DBF'
 20  CHARACTER SET ZHS16GBK
 21  ;

控制檔案已建立。

RMAN> list copy;

使用目標資料庫控制檔案替代恢復目錄
說明與恢復目錄中的任何存檔日誌均不匹配

RMAN> list backup;

新建立的控制檔案中沒有rman備份資訊了,現在要使用catalog註冊進來

現註冊一下datafilecopy

RMAN> catalog datafilecopy 'D:\backup\df6.dbf';
還可以是controlfilecopy,archivelog

archivelog, backup, backuppiece, controlfilecopy, clone, datafilecopy, device,

db_recovery_file_dest, recovery, start

已將資料檔案副本列入目錄
資料檔案副本 filename=D:\BACKUP\DF6.DBF recid=1 stamp=697974769

RMAN> list copy;

說明與恢復目錄中的任何存檔日誌均不匹配

資料檔案副本列表
關鍵字     檔案 S 完成時間   Ckp SCN    Ckp 時間   名稱
------- ---- - ---------- ---------- ---------- ----
1       6    A 19-9月 -09 1766362    19-9月 -09 D:\BACKUP\DF6.DBF


RMAN> catalog start with 'd:\backup'~~~~~~~~~~~~~~~~~~buckupset 註冊進來了
2> ;                                註冊整個目錄中檔案


RMAN> list backup;


備份集列表
===================

BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
1       Full    152.00K    DISK        00:00:00     19-9月 -09
        BP 關鍵字: 1   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090919T092854
段名:D:\BACKUP\3DKPKEIM_1_1
  備份集 1 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  6       Full 1766336    19-9月 -09 D:\TEST.DBF

 

RMAN> catalog db_recover_file_dest 註冊db_recover_dile_desT中資訊
2> ;

搜尋恢復區域中的所有檔案

資料庫未知檔案的列表

RMAN> catalog archivelog 'e:\archivelog\ARC00019_0697636641.001.ARC'; ~~註冊archivlog~

已編目的存檔日誌
存檔日誌檔名 =E:\ARCHIVELOG\ARC00019_0697636641.001.ARC 記錄 ID=27 時間戳 =697976
235


RMAN> catalog backuppiece 'E:\oracle\product\10.2.0\db_1\database\01KPKI1C_3_1'; ~註冊

BACKUPPIECE

已列入目錄的備份段
備份段 handle=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\01KPKI1C_3_1 recid=1 stamp=697
977392

RMAN> list backup;
可以看到備份集1中有4個PIECE,註冊進來一個,其它3個狀態DELETE

備份集列表
===================

BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
1       Full    99.99M     DISK        00:00:00     19-9月 -09
  備份集 1 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  1       Full 1758999    19-9月 -09 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01
.DBF

  備份集 副本號 1 屬於備份集 1
  裝置型別 經過時間 完成時間   壓縮標記
  ----------- ------------ ---------- ---------- ---
  DISK        00:00:00     19-9月 -09 NO         TAG20090919T102756

    備份集 1 副本號 1的備份段列表
    BP 關鍵字  Pc# 狀態      段名稱
    ------- --- ----------- ----------
            1   DELETED
            2   DELETED
    1       3   AVAILABLE   E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\01KPKI1C_3_1
            4   DELETED

 

取消在catalog中記載就是CATALOG..............uncatalog

另外如果controlfile  丟失 沒有catalog,且備份都在backupset中可以使用
dbms_backup_restore把 backupseT restore回來,然後create controlfile

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-614875/,如需轉載,請註明出處,否則將追究法律責任。

相關文章