• 【Oracle】OGG数据初始化之RMAN


    实验环境:

    源端、目标端:

    DataBase:10.2.0.1.0

    OS:OEL5.6

    OGG:fbo_ggs_Linux_x86_ora11g_32bit

    源端使用rman进行备份全库:

    RMAN> run{

    ALLOCATE CHANNEL ch00 TYPE DISK MAXPIECESIZE 20G;

    ALLOCATE CHANNEL ch01 TYPE DISK MAXPIECESIZE 20G;

    CROSSCHECK BACKUPSET;

    DELETE NOPROMPT EXPIRED BACKUPSET;

    sql 'alter system archive log current';

    BACKUP AS BACKUPSET SKIP INACCESSIBLE TAG hot_db_bk_level0  FORMAT '/home/oracle/bak//bk_%s_%p_%t' FULL  DATABASE;

    RELEASE CHANNEL ch00;

    RELEASE CHANNEL ch01;

    }2> 3> 4> 5> 6> 7> 8> 9> 10> 

     

    released channel: ORA_DISK_1

    allocated channel: ch00

    channel ch00: sid=141 devtype=DISK

     

    allocated channel: ch01

    channel ch01: sid=149 devtype=DISK

     

     

     

    sql statement: alter system archive log current

     

    Starting backup at 21-JUL-14

    channel ch00: starting full datafile backupset

    channel ch00: specifying datafile(s) in backupset

    input datafile fno=00001 name=/u01/app/oracle/oradata/ORCL/system01.dbf

    input datafile fno=00004 name=/u01/app/oracle/oradata/ORCL/users01.dbf

    input datafile fno=00005 name=/u01/app/oracle/oradata/ORCL/example01.dbf

    channel ch00: starting piece 1 at 21-JUL-14

    channel ch01: starting full datafile backupset

    channel ch01: specifying datafile(s) in backupset

    input datafile fno=00003 name=/u01/app/oracle/oradata/ORCL/sysaux01.dbf

    input datafile fno=00006 name=/u01/app/oracle/oradata/ORCL/ogg01.dbf

    input datafile fno=00002 name=/u01/app/oracle/oradata/ORCL/undotbs01.dbf

    channel ch01: starting piece 1 at 21-JUL-14

    channel ch01: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/bk_23_1_853515593 tag=HOT_DB_BK_LEVEL0 comment=NONE

    channel ch01: backup set complete, elapsed time: 00:00:35

    channel ch01: starting full datafile backupset

    channel ch01: specifying datafile(s) in backupset

    including current control file in backupset

    channel ch01: starting piece 1 at 21-JUL-14

    channel ch01: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/bk_24_1_853515629 tag=HOT_DB_BK_LEVEL0 comment=NONE

    channel ch01: backup set complete, elapsed time: 00:00:03

    channel ch01: starting full datafile backupset

    channel ch01: specifying datafile(s) in backupset

    including current SPFILE in backupset

    channel ch01: starting piece 1 at 21-JUL-14

    channel ch01: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/bk_25_1_853515632 tag=HOT_DB_BK_LEVEL0 comment=NONE

    channel ch01: backup set complete, elapsed time: 00:00:01

    channel ch00: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/bk_22_1_853515593 tag=HOT_DB_BK_LEVEL0 comment=NONE

    channel ch00: backup set complete, elapsed time: 00:01:15

    Finished backup at 21-JUL-14

     

    released channel: ch00

     

    released channel: ch01

    备份归档日志及控制文件,这里以有三组日志文件做样例,所有切一遍

    RMAN> run{

    ALLOCATE CHANNEL ch00 TYPE DISK MAXPIECESIZE 20G;

    ALLOCATE CHANNEL ch01 TYPE DISK MAXPIECESIZE 20G;

    sql 'alter system switch logfile';

    sql 'alter system switch logfile';

    sql 'alter system switch logfile';

    sql 'alter system archive log current';

    BACKUP ARCHIVELOG ALL FORMAT '/home/oracle/bak/ARCH_%U';

    BACKUP CURRENT CONTROLFILE FORMAT '/home/oracle/bak/bk_controlfile';

    RELEASE CHANNEL ch00;

    RELEASE CHANNEL ch01;

    }2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 

     

    allocated channel: ch00

    channel ch00: sid=141 devtype=DISK

     

    allocated channel: ch01

    channel ch01: sid=149 devtype=DISK

     

    sql statement: alter system switch logfile

     

    sql statement: alter system switch logfile

     

    sql statement: alter system switch logfile

     

    sql statement: alter system archive log current

     

    Starting backup at 21-JUL-14

    current log archived

    channel ch00: starting archive log backupset

    channel ch00: specifying archive log(s) in backup set

    input archive log thread=1 sequence=2 recid=1 stamp=853513172

    channel ch00: starting piece 1 at 21-JUL-14

    channel ch01: starting archive log backupset

    channel ch01: specifying archive log(s) in backup set

    input archive log thread=1 sequence=3 recid=2 stamp=853514244

    input archive log thread=1 sequence=4 recid=3 stamp=853514831

    input archive log thread=1 sequence=5 recid=4 stamp=853514881

    input archive log thread=1 sequence=6 recid=5 stamp=853514923

    input archive log thread=1 sequence=7 recid=6 stamp=853515051

    input archive log thread=1 sequence=8 recid=7 stamp=853515051

    input archive log thread=1 sequence=9 recid=8 stamp=853515057

    input archive log thread=1 sequence=10 recid=9 stamp=853515057

    input archive log thread=1 sequence=11 recid=10 stamp=853515060

    input archive log thread=1 sequence=12 recid=11 stamp=853515131

    input archive log thread=1 sequence=13 recid=12 stamp=853515131

    input archive log thread=1 sequence=14 recid=13 stamp=853515136

    input archive log thread=1 sequence=15 recid=14 stamp=853515136

    input archive log thread=1 sequence=16 recid=15 stamp=853515139

    input archive log thread=1 sequence=17 recid=16 stamp=853515193

    input archive log thread=1 sequence=18 recid=17 stamp=853515193

    input archive log thread=1 sequence=19 recid=18 stamp=853515198

    input archive log thread=1 sequence=20 recid=19 stamp=853515198

    channel ch01: starting piece 1 at 21-JUL-14

    channel ch00: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/ARCH_0qpdv7dh_1_1 tag=TAG20140721T154137 comment=NONE

    channel ch00: backup set complete, elapsed time: 00:00:04

    channel ch01: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/ARCH_0rpdv7dh_1_1 tag=TAG20140721T154137 comment=NONE

    channel ch01: backup set complete, elapsed time: 00:00:04

    channel ch00: starting archive log backupset

    channel ch00: specifying archive log(s) in backup set

    input archive log thread=1 sequence=21 recid=20 stamp=853515202

    input archive log thread=1 sequence=22 recid=21 stamp=853515384

    input archive log thread=1 sequence=23 recid=22 stamp=853515384

    input archive log thread=1 sequence=24 recid=23 stamp=853515388

    input archive log thread=1 sequence=25 recid=24 stamp=853515388

    input archive log thread=1 sequence=26 recid=25 stamp=853515391

    input archive log thread=1 sequence=27 recid=26 stamp=853515527

    input archive log thread=1 sequence=28 recid=27 stamp=853515527

    input archive log thread=1 sequence=29 recid=28 stamp=853515532

    input archive log thread=1 sequence=30 recid=29 stamp=853515532

    input archive log thread=1 sequence=31 recid=30 stamp=853515535

    input archive log thread=1 sequence=32 recid=31 stamp=853515593

    input archive log thread=1 sequence=33 recid=32 stamp=853515689

    input archive log thread=1 sequence=34 recid=33 stamp=853515689

    input archive log thread=1 sequence=35 recid=34 stamp=853515694

    input archive log thread=1 sequence=36 recid=35 stamp=853515694

    input archive log thread=1 sequence=37 recid=36 stamp=853515697

    channel ch00: starting piece 1 at 21-JUL-14

    channel ch00: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/ARCH_0spdv7dl_1_1 tag=TAG20140721T154137 comment=NONE

    channel ch00: backup set complete, elapsed time: 00:00:02

    Finished backup at 21-JUL-14

     

    Starting backup at 21-JUL-14

    channel ch00: starting full datafile backupset

    channel ch00: specifying datafile(s) in backupset

    including current control file in backupset

    channel ch00: starting piece 1 at 21-JUL-14

    channel ch00: finished piece 1 at 21-JUL-14

    piece handle=/home/oracle/bak/bk_controlfile tag=TAG20140721T154145 comment=NONE

    channel ch00: backup set complete, elapsed time: 00:00:01

    Finished backup at 21-JUL-14

     

    released channel: ch00

     

    released channel: ch01

    源端数据库查询:

    SYS@ORCL>select * from Gv$log;

     

       INST_ID     GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

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

             1          1          1         38   52428800          1 NO  CURRENT                 484272 21-JUL-14

             1          2          1         36   52428800          1 YES INACTIVE                484261 21-JUL-14

             1          3          1         37   52428800          1 YES INACTIVE                484267 21-JUL-14

    记录此时非活动日志组的SCN,有多组的时候我们取最大的FIRST_CHANGE#,在这里是484267

    将源端库的init<SID>.ora发送到目标端:

    SYS@ORCL>create pfile from spfile;

     

    File created.

     

    [oracle@edbjr2p1 dbs]$ scp initORCL.ora edbjr2p2:$ORACLE_HOME/dbs

    oracle@edbjr2p2's password: 

    initORCL.ora                                                                                 100% 1049     1.0KB/s   00:00    

     

    在目标端建立全部文件夹,然后将备份传过去:

    目标端:

    [oracle@edbjr2p2 oracle]$ pwd

    /u01/app/oracle

    [oracle@edbjr2p2 oracle]$ mkdir -p admin/ORCL/{a,b,c,u}dump

    [oracle@edbjr2p2 oracle]$ mkdir flash_recovery_area/ORCL

    [oracle@edbjr2p2 oracle]$ mkdir -p oradata/ORCL

    源端:

    [oracle@edbjr2p1 bak]$ ls

    ARCH_0qpdv7dh_1_1  ARCH_0spdv7dl_1_1  bk_23_1_853515593  bk_25_1_853515632

    ARCH_0rpdv7dh_1_1  bk_22_1_853515593  bk_24_1_853515629  bk_controlfile

    [oracle@edbjr2p1 bak]$ scp * edbjr2p2:~/bak/

    oracle@edbjr2p2's password: 

    ARCH_0qpdv7dh_1_1                                                                            100%   11MB  11.2MB/s   00:00    

    ARCH_0rpdv7dh_1_1                                                                            100% 2648KB   2.6MB/s   00:00    

    ARCH_0spdv7dl_1_1                                                                            100%   55KB  55.0KB/s   00:00    

    bk_22_1_853515593                                                                            100%  410MB   9.1MB/s   00:45    

    bk_23_1_853515593                                                                            100%  159MB   4.4MB/s   00:36    

    bk_24_1_853515629                                                                            100% 7232KB   3.5MB/s   00:02    

    bk_25_1_853515632                                                                            100%   96KB  96.0KB/s   00:00    

    bk_controlfile                                                                               100% 7232KB   7.1MB/s   00:00    

    目标端将库启动到nomount状态:

    [oracle@edbjr2p2 ~]$ export ORACLE_SID=ORCL

    [oracle@edbjr2p2 ~]$ sqlplus / as sysdba

     

    SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jul 21 16:11:45 2014

     

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

     

    Connected to an idle instance.

     

    SQL> create spfile from pfile;

     

    File created.

     

    SQL> startup nomount;

    ORACLE instance started.

     

    Total System Global Area  452984832 bytes

    Fixed Size                  1219928 bytes

    Variable Size             109052584 bytes

    Database Buffers          335544320 bytes

    Redo Buffers                7168000 bytes

    SQL> 

    然后使用rman将数据库恢复出来:

    RMAN> restore controlfile from '/home/oracle/bak/bk_controlfile';

     

    Starting restore at 21-JUL-14

    using target database control file instead of recovery catalog

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: sid=155 devtype=DISK

     

    channel ORA_DISK_1: restoring control file

    channel ORA_DISK_1: restore complete, elapsed time: 00:00:04

    output filename=/u01/app/oracle/oradata/ORCL/control01.ctl

    output filename=/u01/app/oracle/oradata/ORCL/control02.ctl

    output filename=/u01/app/oracle/oradata/ORCL/control03.ctl

    Finished restore at 21-JUL-14

     

    RMAN> sql 'alter database mount';

     

    sql statement: alter database mount

    released channel: ORA_DISK_1

     

    RMAN> restore database;

     

    Starting restore at 21-JUL-14

    Starting implicit crosscheck backup at 21-JUL-14

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: sid=155 devtype=DISK

    Crosschecked 7 objects

    Finished implicit crosscheck backup at 21-JUL-14

     

    Starting implicit crosscheck copy at 21-JUL-14

    using channel ORA_DISK_1

    Finished implicit crosscheck copy at 21-JUL-14

     

    searching for all files in the recovery area

    cataloging files...

    no files cataloged

     

    using channel ORA_DISK_1

     

    channel ORA_DISK_1: starting datafile backupset restore

    channel ORA_DISK_1: specifying datafile(s) to restore from backup set

    restoring datafile 00002 to /u01/app/oracle/oradata/ORCL/undotbs01.dbf

    restoring datafile 00003 to /u01/app/oracle/oradata/ORCL/sysaux01.dbf

    restoring datafile 00006 to /u01/app/oracle/oradata/ORCL/ogg01.dbf

    channel ORA_DISK_1: reading from backup piece /home/oracle/bak/bk_23_1_853515593

    channel ORA_DISK_1: restored backup piece 1

    piece handle=/home/oracle/bak/bk_23_1_853515593 tag=HOT_DB_BK_LEVEL0

    channel ORA_DISK_1: restore complete, elapsed time: 00:00:27

    channel ORA_DISK_1: starting datafile backupset restore

    channel ORA_DISK_1: specifying datafile(s) to restore from backup set

    restoring datafile 00001 to /u01/app/oracle/oradata/ORCL/system01.dbf

    restoring datafile 00004 to /u01/app/oracle/oradata/ORCL/users01.dbf

    restoring datafile 00005 to /u01/app/oracle/oradata/ORCL/example01.dbf

    channel ORA_DISK_1: reading from backup piece /home/oracle/bak/bk_22_1_853515593

    channel ORA_DISK_1: restored backup piece 1

    piece handle=/home/oracle/bak/bk_22_1_853515593 tag=HOT_DB_BK_LEVEL0

    channel ORA_DISK_1: restore complete, elapsed time: 00:00:46

    Finished restore at 21-JUL-14

    然后recover数据库到前边我们记录的SCN处:

    RMAN>run    

    {

       SET UNTIL SCN 484267;

       RECOVER DATABASE;

    }2> 3> 4> 5> 

    目标端查看此时SCN并打开数据库:

    SQL> SELECT CHECKPOINT_CHANGE#,CHECKPOINT_TIME FROM V$DATAFILE_HEADER;

     

    CHECKPOINT_CHANGE# CHECKPOIN

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

                484267 21-JUL-14

                484267 21-JUL-14

                484267 21-JUL-14

                484267 21-JUL-14

                484267 21-JUL-14

                484267 21-JUL-14

     

    6 rows selected.

     

    SQL> alter database open resetlogs;

     

    Database altered.

    目标端启动Replicat进程:

    GGSCI (edbjr2p2) 1>start repya ,afterscn 484267

    此处使用的SCN是我们之前记录的SCN

    由于数据文件恢复到了这个SCNrman保证了这个SCN之前的源端和目标端库的数据一致性,OGG仅仅要应用此SCN之后出现的数据变化就可以。

  • 相关阅读:
    Python subprocess- call、check_call、check_output
    Java Annotation认知(包括框架图、详细介绍、示例说明) (转)
    NVME SSD vs SATA SSD(转)
    scala中“_”的用法
    maven scope 'provided' 和 ‘compile’的区别
    scala tuple中的syntactic sugar
    Scala中的"null" 和“_”来初始化对象
    scala可变长度参数(转)
    Java中的Builder模式
    Scala中“=>”用法及含义
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7349169.html
Copyright © 2020-2023  润新知