RMAN catalog 的创建和使用

系统 1848 0

--==========================

-- RMAN catalog 的创建和使用

--==========================

 

一、创建恢复目录

    创建恢复目录一般分为三大步骤

        创建存放恢复目录的数据库 ( 或使用已存在的数据库 )

        创建恢复目录的的所有者

        创建恢复目录

   

    创建数据库可以参考: Oralce 10g 使 用DBCA

 

    在存储恢复目录的数据库创建表空间用于存储恢复目录 schema 及恢复目录数据 ( 本文使用已经创建好的数据库 catadb 来存储恢复目录 )

 

        SQL > create tablespace tbs_rman datafile '/u01/app/oracle/oradata/catadb/tbs_rman01.dbf' -- 创建 rman 恢复目录表空间

          2   size 200m autoextend on ;   

         

        SQL > create user rman identified by rman      -- 创建 rman schema

        2   temporary tablespace temp

        3   default tablespace tbs_rman

        4   quota unlimited on tbs_rman ;

 

        SQL > grant recovery_catalog_owner to rman ;    -- 角色授予

 

        SQL > conn rman / rman

       

        SQL > select * from session_privs ;

 

        PRIVILEGE

        ----------------------------------------

        CREATE SESSION

        ALTER SESSION

        CREATE TABLE

        CREATE CLUSTER

        CREATE SYNONYM

        CREATE VIEW

        CREATE SEQUENCE

        CREATE DATABASE LINK

        CREATE PROCEDURE

        CREATE TRIGGER

        CREATE TYPE

        SQL > select * from session_roles ;

 

        ROLE

        ------------------------------

        RECOVERY_CATALOG_OWNER  

 

        RMAN > connect catalog rman / rman@catadb     -- 连接到恢复目录

 

        connected to recovery catalog database

 

        RMAN > create catalog tablespace tbs_rman ;    -- 创建恢复目录

 

        recovery catalog created

 

        [oracle@oradb ~]$ rman target sys / redhat@orcl catalog rman / rman@catadb    -- 连接到目标数据库及恢复目录

 

        connected to target database : ORCL ( DBID = 1260850162 )

        connected to recovery catalog database

 

        RMAN > register database ;           -- 将目标数据库注册到恢复目录

 

        database registered in recovery catalog

        starting full resync of recovery catalog

        full resync complete

 

二、基于恢复目录的备份      

 

    1. 查看相关信息

        RMAN > list incarnation ;

 

        List of Database Incarnations

        DB Key   Inc Key DB Name   DB ID             STATUS   Reset SCN   Reset Time

        ------- ------- -------- ---------------- --- ---------- ----------

        1        8        ORCL      1260850162        PARENT   1           30 - JUN - 05

        1        2        ORCL      1260850162        CURRENT 446075      22 - OCT - 10

 

        ----------------------------------------------------------------------------------------------------

 

        RMAN > crosscheck copy ;          -- 校验 copy

        RMAN > delete expired copy ;      -- 删除过期的 copy

 

    2. 全备

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 >   backup as compressed backupset

        4 > database plus archivelog delete input

        5 > format = '/u01/app/oracle/bk/rmbk/Whole_%d_%U'

        6 >   tag = 'Whole_bak' ;

        7 > release channel ch1 ;}

 

    3. 增量备份 ( 0 )

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > allocate channel ch2 device type disk ;

        4 > backup as compressed backupset

        5 > incremental level 0

        6 > database plus archivelog delete input

        7 > format = '/u01/app/oracle/bk/rmbk/Inc_0_%d_%U'

        8 > tag = 'Inc_0' ;

        9 > release channel ch1 ;

        10 > release channel ch2 ;}   

 

        RMAN > list backup summary ;

 

    4. 增量备份 ( 1 )

        RMAN > run{                                  

        2 > allocate channel ch1 device type disk ;

        3 > allocate channel ch2 device type disk ;

        4 > backup as compressed backupset

        5 > incremental level 1 database

        6 > format = '/u01/app/oracle/bk/rmbk/Inc_1_%d_%U'

        7 > tag = 'Inc_1' ;

        8 > release channel ch1 ;

        9 > release channel ch2 ;}

 

        RMAN > list backup by file ;

 

    5. 累计增量备份 ( 1 )

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > backup as compressed backupset

        4 > incremental level 1 cumulative database

        5 > format '/u01/app/oracle/bk/rmbk/Cum_1_%d_%U'

        6 > tag = 'Cum_1' ;

        7 > release channel ch1 ;}

 

    6. 备份表空间

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > backup as compressed backupset

        4 > tablespace users , example

        5 > format = '/u01/app/oracle/bk/rmbk/tbs_%d_%U'

        6 > tag = 'tbs' ;

 

        RMAN > list backupset tag = tbs ;

 

    7. 备份数据文件

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > backup as compressed backupset

        4 > datafile 3

        5 > format = '/u01/app/oracle/bk/rmbk/df_%d_%U'

        6 > tag = 'df' ;

        7 > release channel ch1 ;}

 

    8. 备份归档日志

        备份归档日志前,建议先使用 crosscheck 校验一下

        crosscheck 通常用于检查备份是否被删除,如果删除将会打上删除标签

        RMAN > crosscheck archivelog all;

 

        allocated channel: ORA_DISK_1

        channel ORA_DISK_1: sid=148 devtype=DISK

        validation succeeded for archived log

        archive log filename=/u01/app/oracle/oradata/orcl/arch/log_1_117_733069427.arc recid=111 stamp=733171369

        Crosschecked 1 objects

 

        RMAN > sql 'alter system switch logfile' ;

 

        sql statement : alter system switch logfile

 

        RMAN > sql 'alter system switch logfile' ;

 

        sql statement : alter system switch logfile

 

        RMAN > list archivelog all;

 

        List of Archived Log Copies

        Key      Thrd Seq      S Low Time   Name

        ------- ---- ------- - --------- ----

        465      1     117      A 22 - OCT - 10 / u01 / app / oracle / oradata / orcl / arch / log_1_117_733069427 . arc

        553      1     118      A 23 - OCT - 10 / u01 / app / oracle / oradata / orcl / arch / log_1_118_733069427 . arc

        569      1     119      A 23 - OCT - 10 / u01 / app / oracle / oradata / orcl / arch / log_1_119_733069427 . arc

                                                                                                               

    9. 基于 SCN 来备份归档日志

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > backup as compressed backupset

        4 > archivelog from scn 848043

        5 > format = '/u01/app/oracle/bk/rmbk/arc_%d_%U'

        6 > tag = 'arc' ;

        7 > release channel ch1 ;

        8 > }

 

    10. 镜像备份

        RMAN > run{

        2 > allocate channel ch1 device type disk ;

        3 > backup as copy datafile 1 , 4

        4 > format '/u01/app/oracle/bk/rmbk/df_%d_%U'

        5 > tag 'copybak' ;

        6 > release channel ch1 ;}

   

    11. 其它

        RMAN > crosscheck backupset ;

 

        RMAN > change backupset 1

 

        RMAN > validate backupset

 

        RMAN > validate backupset 635 ;

   

    12. 基于 catalog 的数据库恢复请参考:基于 catalog RMAN 备份与恢复

   

三、更多参考

有关基于用户管理的备份和备份恢复的概念请参考:

        Oracle 冷备份

        Oracle 热备份

        Oracle 备份恢复概念

        Oracle 实例恢复

        Oracle 基于用户管理恢复的处理 ( 详细描述了介质恢复及其处理 )

       

    有关 RMAN 的恢复与管理请参考:

        RMAN 概述及其体系结构

        RMAN 配置、监控与管理

        RMAN 备份详解

        RMAN 还原与恢复

       

    有关 Oracle 体系结构请参考:

        Oracle 实例和Oracle 数据库(Oracle 体系结构)

        Oracle 表空间与数据文件

        Oracle 密码文件

        Oracle 参数文件

Oracle 数据库实例启动关闭过程

        Oracle 联机重做日志文件(ONLINE LOG FILE)

        Oracle 控制文件(CONTROLFILE)

        Oracle 归档日志

 

RMAN catalog 的创建和使用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论