zoukankan      html  css  js  c++  java
  • Moving User datafiles between ASM Diskgroups using Incrementally Updated Backups (Doc ID 1472959.1)


    Applies to:

    Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
    Oracle Database Exadata Cloud Machine - Version N/A and later
    Oracle Cloud Infrastructure - Database Service - Version N/A and later
    Oracle Database Cloud Exadata Service - Version N/A and later
    Oracle Database Exadata Express Cloud Service - Version N/A and later
    Information in this document applies to any platform.

    Goal

     Moving User datafiles between ASM Diskgroups using Incrementally Updated Backups.

    Solution

    NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.


    For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:

    Database:
    DB_NAME: PROFIT
    ASM DISKGROUP : +ASM_DISK1 and +ASM_DISK2

    Move datafiles in ASM diskgroups with minimum downtime.


    1.  Take level 0 datafile copy as a base to the new Diskgroup. This copy has either a system-defined or user-defined tag.
    2.  Periodically take level 1 differential backups created with the same tag as the level 0 datafile copy.
         Use BACKUP FOR RECOVER OF COPY command so that an incremental backup is created containing only blocks
         changed since the most recent incremental backup with the same tag.
    3.  Periodically, apply the incremental backup to the level 0 datafile copy. Because the datafile copy has
         been updated with more recent changes, it would require less media recovery.
    4.  Take the datafile offline.
    5.  Use RMAN to switch the datafile to the latest image copy.
    6.  Recover the datafile to make it consistent with the other files.
    7.  Bring the datafile online.
    8.  Verify by querying v$datafile and proceed with deleting the old file.

    Note:- These steps are not applicable for system or sysaux datafiles

    example:-

         Query v$datafile for the location of the datafile (6 in this test case)

         FILE# NAME                                                                                       STATUS
         ---------- ---------------------------------------------------------------------- -------
             1 +ASM_DISK1/profit/datafile/system.256.766889099                        SYSTEM
             2 +ASM_DISK1/profit/datafile/undotbs1.258.766889099                     ONLINE
             3 +ASM_DISK1/profit/datafile/sysaux.257.766889099                        ONLINE
             6 +ASM_DISK1/profit/datafile/test.275.767269709                             ONLINE    
            
            
    1. Making Incrementally Updated Backups

        RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATAFILECOPY FORMAT '+ASM_DISK2' datafile 6;

        Starting backup at 25-06-2012 18:32:02
        using channel ORA_DISK_1
        no parent backup or copy of datafile 6 found        => This is a level 0 backup as there is no parent backup.
        channel ORA_DISK_1: starting datafile copy                
        input datafile fno=00006 name=+ASM_DISK1/profit/datafile/test.275.767269709
        output filename=+ASM_DISK2/profit/datafile/test.272.786911523 tag=INCR_UPDATE recid=25 stamp=786911531
        channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
        Finished backup at 25-06-2012 18:32:18
            
        RMAN> list copy of datafile 6;

        List of Datafile Copies
        Key     File S Completion Time     Ckp SCN    Ckp Time            Name
        ------- ---- - ------------------- ---------- ------------------- ----
        25      6    A 25-06-2012 18:32:11 1356009    25-06-2012 18:32:03 +ASM_DISK2/profit/datafile/test.272.786911523

        SQL> alter system switch logfile;
         
    2.  Second time when the command is fired it creates incremental level 1 backups.
        
        RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATAFILECOPY FORMAT '+ASM_DISK2' datafile 6;

        Starting backup at 25-06-2012 18:35:19
        using target database control file instead of recovery catalog
        allocated channel: ORA_DISK_1
        channel ORA_DISK_1: sid=150 devtype=DISK
        channel ORA_DISK_1: starting incremental level 1 datafile backupset
        channel ORA_DISK_1: specifying datafile(s) in backupset
        input datafile fno=00006 name=+ASM_DISK1/profit/datafile/test.275.767269709
        channel ORA_DISK_1: starting piece 1 at 25-06-2012 18:35:20
        channel ORA_DISK_1: finished piece 1 at 25-06-2012 18:35:27
        piece handle=+ASM_DISK2/profit/backupset/2012_06_25/nnndn1_tag20120625t183519_0.271.786911721 tag=TAG20120625T183519 comment=NONE
        channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
        Finished backup at 25-06-2012 18:35:27

    3.  Apply the incremental backup to the level 0 data file copy

        RMAN> RECOVER COPY OF DATAfile 6  WITH TAG 'incr_update';

        Starting recover at 25-06-2012 18:37:12
        using channel ORA_DISK_1
        channel ORA_DISK_1: starting incremental datafile backupset restore
        channel ORA_DISK_1: specifying datafile copies to recover
        recovering datafile copy fno=00006 name=+ASM_DISK2/profit/datafile/test.272.786911523
        channel ORA_DISK_1: reading from backup piece +ASM_DISK2/profit/backupset/2012_06_25/nnndn1_tag20120625t183519_0.271.786911721
        channel ORA_DISK_1: restored backup piece 1
        piece handle=+ASM_DISK2/profit/backupset/2012_06_25/nnndn1_tag20120625t183519_0.271.786911721 tag=TAG20120625T183519
        channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
        Finished recover at 25-06-2012 18:37:14

        RMAN>  list copy of datafile 6;

        List of Datafile Copies
        Key     File S Completion Time     Ckp SCN    Ckp Time            Name
        ------- ---- - ------------------- ---------- ------------------- ----
        26      6    A 25-06-2012 18:37:13 1356106    25-06-2012 18:35:20 +ASM_DISK2/profit/datafile/test.272.786911523

    4. Take the datafile offline.
        
        SQL> alter database datafile 6 offline;

    5. Switch the datafile to the latest image copy and recover the datafile.
        
        RMAN> switch datafile 6 to copy;
        RMAN> recover datafile 6;

    6. Bring the datafile online.
        
        SQL> alter database datafile 6 online;
        SQL> select file#, name,status from v$datafile;

             FILE# NAME                                                                                 STATUS
        ---------- ---------------------------------------------------------------------- -------
                 1 +ASM_DISK1/profit/datafile/system.256.766889099                  SYSTEM
                 2 +ASM_DISK1/profit/datafile/undotbs1.258.766889099               ONLINE
                 3 +ASM_DISK1/profit/datafile/sysaux.257.766889099                  ONLINE
                 6 +ASM_DISK2/profit/datafile/test.272.786911523                       ONLINE

  • 相关阅读:
    美团数据治理参考
    Ignite(三): Ignite VS Spark
    Ignite(二): 架构及工具
    Sqlserver 计算两坐标距离函数
    Ignite(一): 概述
    IMDG
    锂电池不一致而产生危害
    平均数_中位数_众数在SqlServer实现
    怎样给孩子取一个好名字?搜狗“有名堂”大数据支招
    eclipse导入外部jar包
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/12809604.html
Copyright © 2011-2022 走看看