ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle实验记录 (恢复-rman维护(2))

oracle实验记录 (恢复-rman维护(2))

原创 Linux操作系统 作者:fufuh2o 时间:2009-09-17 10:42:07 0 删除 编辑



继续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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-26

  • 博文量
    182
  • 访问量
    426888