• DG:11.2.0.4 RAC在线duplicate恢复DG


    1.环境介绍

    测试环境, 在一个双节点的RAC上使用duplicate搭建DG,使用在线的方式搭建

    主机

    IP

    操作系统

    实例

    db_name

    db_unique_name

    db_version

    配置

    rac1

    192.168.163.4

    centos7.8

    orcl1

    orcl

    orcl

    11.2.0.4

    4c4g50G

    rac2

    192.168.163.5

    centos7.8

    orcl2

    orcl

    orcl

     4c4g50G

    rac-dg

    192.168.163.27

    centos7.8

    orcl_stb

    orcl

    orcl_stb

     4c4g50G

    2. 主库检查

    2.1 检查归档

    SQL> archive log list;
    Database log mode           Archive Mode
    Automatic archival           Enabled
    Archive destination           +CRSDG
    Oldest online log sequence     76
    Next log sequence to archive   77
    Current log sequence           77

    2.2主备参数检查

    set linesize 500 pages 0 
    col value for a90 
    col name for a50 
    select name,value from v$parameter where name in ('db_name','db_unique_name','log_archive_config','log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_dest_state_2','remote_login_passwordfile','log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert','log_file_name_convert','standby_file_management');
    
    db_file_name_convert
    log_file_name_convert
    log_archive_dest_1                     LOCATION=+CRSDG
    log_archive_dest_2                     service=orcl_stb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl_stb
    log_archive_dest_state_1               enable
    log_archive_dest_state_2               ENABLE
    fal_server                             orcl_stb
    log_archive_config                     DG_CONFIG=(orcl,orcl_stb)
    log_archive_format                     %t_%s_%r.dbf
    log_archive_max_processes              4
    standby_file_management                AUTO
    remote_login_passwordfile              EXCLUSIVE
    db_name                                orcl
    db_unique_name                         orcl
    
    14 rows selected.

    2.3 检查日志归档文件位置

    --归档较多的话,建议输出到文本中,一般归档都会存储在相同位置下,如有需要可以进行查询

    方法一:

    select name,sequence#,to_char(completion_time,'yyyy-mm-dd hh24:mi:ss') "completion_time" from v$archived_log order by sequence# ;

    方法二:

    rman{}
    crosscheck archivelog all; 

    --查询redo文件的位置,如果给备库建立了standby log,需要为redo文件进行转储

    select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG;

    2.4 检查数据文件位置

    --需要判断临时文件数据文件,是否在相同目录,如果不通,都需要对目录进行转储

    select file_name from dba_temp_files;
    select file_name from dba_data_files;

    2.5检查监听

    [oracle@rac1 ~]$ lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2021 11:21:59
    
    Copyright (c) 1991, 2013, Oracle.  All rights reserved.
    
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                24-AUG-2021 09:12:44
    Uptime                    0 days 2 hr. 9 min. 15 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u1/db/11.2.0/grid/network/admin/listener.ora
    Listener Log File         /u1/db/grid/diag/tnslsnr/rac1/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.163.4)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.163.7)(PORT=1521)))
    Services Summary...
    Service "+ASM" has 1 instance(s).
      Instance "+ASM1", status READY, has 1 handler(s) for this service...
    Service "orcl" has 1 instance(s).
      Instance "orcl1", status READY, has 1 handler(s) for this service...
    Service "orclXDB" has 1 instance(s).
      Instance "orcl1", status READY, has 1 handler(s) for this service...
    The command completed successfully

    2.6检查tnsname

    [oracle@rac1 ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u1/db/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl2 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    3.主库配置

    3.1修改归档设置

    alter system set log_archive_config='DG_CONFIG=(orcl,orcl_stb)' sid='*';
    
    SQL> show parameter log_archive_config
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_config             string     DG_CONFIG=(orcl,orcl_stb)

    3.2配置归档路径

    alter system set log_archive_dest_2='service=orcl_stb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl_stb' scope=both sid='*';
    
    alter system set log_archive_dest_state_2='enable' sid='*';
    
    SQL> show parameter log_archive_dest_2
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_2             string     service=orcl_stb lgwr async va
                             lid_for=(online_logfiles,prima
                             ry_role) db_unique_name=orcl_s
                             tb

    3.3设置fal_server

    alter system set fal_server='orcl_stb' scope=both sid='*';
    
    SQL> show parameter fal_server
    
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    fal_server                 string     orcl_stb

    3.4生成pfile文件

    create pfile='/tmp/initorcl.ora' from spfile;

    传输pfile文件到备库指定目录

    scp /tmp/initorcl.ora root@192.168.163.27:$ORACLE_HOME/dbs

    3.5 standby_file_management

    注意修改standby_file_management的生成方式,如果是MANUAL,改成AUTO

    3.6拷贝密码文件

    rac搭建DG,需要把密码文件一节点->传到二节点->二节点传到备库,统一密码文件

    scp /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapworcl oracle@rac2:$ORACLE_HOME/dbs

    scp /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapworcl oracle@192.168.163.27:$ORACLE_HOME/dbs

    备库

    mv orapworcl orapworcl_stb

    --如果需要重新生成密码文件或者修改密码

    alter user sys identified by oracle;
    orapwd file=$ORACLE_HOME/dbs/orapworcl_stb password=oracle entries=100 ignorecase=y

    3.7修改tnsname

    双节点修改tnsnames.ora 

    [oracle@rac1 ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u1/db/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl2 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl_stb =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.27)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl_stb)
        )
      )

    4.备库配置

    192.168.163.27,提前给备库服务器安装好数据库软件,不用新建实例,测试服务器跟主库服务器配置都相同

    4.1修改pfile文件

    修改ora文件名称

    mv  initorcl.ora  initorcl_stb.ora

    编辑pfile文件

    1. 注释有关集群相关参数
    2. 给控制文件新生成一个位置
    3. 修改fal_clientfal_server的名称
    4. 转储数据和日志文件路径
    5. 给一个归档的路径
    [oracle@rac-dg dbs]$ vim initorcl_stb.ora 
    
    orcl2.__db_cache_size=603979776
    orcl1.__db_cache_size=603979776
    orcl2.__java_pool_size=16777216
    orcl1.__java_pool_size=16777216
    orcl2.__large_pool_size=33554432
    orcl1.__large_pool_size=33554432
    orcl2.__oracle_base='/u1/db/oracle'#ORACLE_BASE set from environment
    orcl2.__pga_aggregate_target=637534208
    orcl1.__pga_aggregate_target=637534208
    orcl2.__sga_target=956301312
    orcl1.__sga_target=956301312
    orcl2.__shared_io_pool_size=0
    orcl1.__shared_io_pool_size=0
    orcl2.__shared_pool_size=285212672
    orcl1.__shared_pool_size=285212672
    orcl2.__streams_pool_size=0
    orcl1.__streams_pool_size=0
    *.audit_file_dest='/u1/db/oracle/admin/orcl/adump'
    *.audit_trail='none'
    #*.cluster_database=TRUE
    *.compatible='11.2.0.4.0'
    *.control_files='/u1/db/oracle/product/11.2.0/db_1/dbs/orcl_stb.ctl'
    *.db_block_size=8192
    *.db_create_file_dest='/u1/db/oracle/product/11.2.0/db_1/dbs'
    *.db_domain=''
    *.db_name='orcl'
    *.db_unique_name='orcl_stb'
    *.diagnostic_dest='/u1/db/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.fal_client='orcl_stb'
    *.fal_server='orcl'
    #orcl1.instance_number=1
    #orcl2.instance_number=2
    *.log_archive_config='DG_CONFIG=(orcl,orcl_stb)'
    *.log_archive_dest_1='LOCATION=/arch'
    #*.log_archive_dest_2='service=orcl_stb lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl_stb'
    *.db_file_name_convert='+FRADG/orcl/datafile','/u1/db/oracle/product/11.2.0/db_1/dbs','+FRADG/orcl/tempfile','/u1/db/oracle/product/11.2.0/db_1/dbs'
    *.log_file_name_convert='+CRSDG/ORCL/ARCHIVELOG','/arch','+CRSDG/rac-cluster/ocrfile','/arch'
    *.memory_target=1589641216
    *.open_cursors=300
    *.processes=150
    #*.remote_listener='rac-scan:1521'
    *.remote_login_passwordfile='exclusive'
    *.standby_file_management='AUTO'
    #orcl2.thread=2
    #orcl1.thread=1
    orcl2.undo_tablespace='UNDOTBS2'
    orcl1.undo_tablespace='UNDOTBS1'

    4.2创建目录并授权

    创建initorcl_stb.ora中需要目录并授权

    mkdir -p /u1/db/oracle/admin/orcl/adump
    mkdir -p /arch
    mkdir -p /u1/db/oracle
    
    chown -R oracle.oinstall /arch
    chown -R oracle.oinstall /u1/db/oracle/admin/orcl/adump
    chown -R oracle.oinstall /u1/db/oracle

    4.3配置监听

    配置静态监听,LISTENER在前,SID_LIST_LISTENER在后

    [oracle@rac-dg admin]$ cat listener.ora 
    LISTENER =
       (DESCRIPTION=
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.27)(PORT=1521)
        )
      )
    SID_LIST_LISTENER=
      (SID_LIST =
       (SID_DESC =
         (GLOBAL_DBNAME= orcl_stb)
         (ORACLE_HOME=/u1/db/oracle/product/11.2.0/db_1)
         (SID_NAME = orcl_stb)
       )
     )
    ADR_BASE_LISTENER = /u1/db/oracle

    4.4启动监听

    [oracle@rac-dg admin]$ lsnrctl start

    4.5配置tnsname

    在备库中如果使用了主机名代替IP,就先将rac中的/etc/hosts 解析的主机名写进到备库的hosts文件里

    [oracle@rac-dg admin]$ cat tnsnames.ora
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.9)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.4)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl2 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    orcl_stb =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.27)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl_stb)
        )
      )

    4.6 修改备库密码文件名称

    4.7主备互相验证tns

    主:

    [oracle@rac1 ~]$ tnsping orcl_stb
    
    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2021 15:03:18
    
    Copyright (c) 1997, 2013, Oracle.  All rights reserved.
    
    Used parameter files:
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.27)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl_stb)))
    OK (0 msec)
    [oracle@rac1 ~]$ tnsping orcl1
    
    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2021 15:03:31
    
    Copyright (c) 1997, 2013, Oracle.  All rights reserved.
    
    Used parameter files:
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
    OK (10 msec)

    备:

    [oracle@rac-dg admin]$ tnsping orcl_stb
    
    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2021 15:03:26
    
    Copyright (c) 1997, 2013, Oracle.  All rights reserved.
    
    Used parameter files:
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.27)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl_stb)))
    OK (0 msec)
    [oracle@rac-dg admin]$ tnsping orcl1
    
    TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 24-AUG-2021 15:03:39
    
    Copyright (c) 1997, 2013, Oracle.  All rights reserved.
    
    Used parameter files:
    
    
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.4)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
    OK (0 msec)

    --注意此时主备两个库的状态是否正确,DBID等信息,避免生产事故

    [oracle@rac-dg admin]$ rman target sys/oracle@orcl1  auxiliary sys/oracle@orcl_stb
    
    Recovery Manager: Release 11.2.0.4.0 - Production on Tue Aug 24 15:05:50 2021
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: ORCL (DBID=1608598914)
    connected to auxiliary database: ORCL (not mounted)

    5. 恢复DG

    5.1启动到nomount状态

    SQL> startup nomount pfile from 'initorcl_stb.ora';

    5.2恢复数据库

    --如果数据量过大,尽量使用脚本后台恢复,很多生产的前台连接会话时间都很短

    [oracle@PEKPBSDIHDBP01 ~]$ cat duplicate.sh 
    rman target sys/oracle@orcl  auxiliary sys/oracle@orcl_stb log=/tmp/dup.log <<EOF
    run {
    allocate channel p1 type disk; 
    allocate channel p2 type disk; 
    allocate auxiliary channel s1 type disk; 
    allocate auxiliary channel s2 type disk;
    duplicate target database for standby from active database nofilenamecheck;
    }
    exit;
    EOF
    chmod +x duplicate.sh

    执行日志:

    [oracle@rac-dg tmp]$ cat dup.log 
    
    Recovery Manager: Release 11.2.0.4.0 - Production on Mon Aug 23 19:17:55 2021
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: ORCL (DBID=1608598914)
    connected to auxiliary database: ORCL (not mounted)
    
    RMAN> 2> 3> 4> 5> 6> 7> 
    using target database control file instead of recovery catalog
    allocated channel: p1
    channel p1: SID=77 instance=orcl1 device type=DISK
    
    allocated channel: p2
    channel p2: SID=143 instance=orcl1 device type=DISK
    
    allocated channel: s1
    channel s1: SID=134 device type=DISK
    
    allocated channel: s2
    channel s2: SID=10 device type=DISK
    
    Starting Duplicate Db at 23-AUG-21
    
    contents of Memory Script:
    {
       backup as copy reuse
       targetfile  '/u1/db/oracle/product/11.2.0/db_1/dbs/orapworcl1' auxiliary format 
     '/u1/db/oracle/product/11.2.0/db_1/dbs/orapworcl_stb'   ;
    }
    executing Memory Script
    
    Starting backup at 23-AUG-21
    Finished backup at 23-AUG-21
    
    contents of Memory Script:
    {
       backup as copy current controlfile for standby auxiliary format  '/u1/db/oracle/product/11.2.0/db_1/dbs/orcl_stb.ctl';
    }
    executing Memory Script
    
    Starting backup at 23-AUG-21
    channel p1: starting datafile copy
    copying standby control file
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/snapcf_orcl1.f tag=TAG20210823T191758 RECID=30 STAMP=1081365479
    channel p1: datafile copy complete, elapsed time: 00:00:01
    Finished backup at 23-AUG-21
    
    contents of Memory Script:
    {
       sql clone 'alter database mount standby database';
    }
    executing Memory Script
    
    sql statement: alter database mount standby database
    
    contents of Memory Script:
    {
       set newname for tempfile  1 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/temp.263.1080818181";
       switch clone tempfile all;
       set newname for datafile  1 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/system.256.1080818101";
       set newname for datafile  2 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/sysaux.257.1080818101";
       set newname for datafile  3 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs1.258.1080818101";
       set newname for datafile  4 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/users.259.1080818101";
       set newname for datafile  5 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/example.264.1080818183";
       set newname for datafile  6 to 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs2.265.1080818283";
       backup as copy reuse
       datafile  1 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/system.256.1080818101"   datafile 
     2 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/sysaux.257.1080818101"   datafile 
     3 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs1.258.1080818101"   datafile 
     4 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/users.259.1080818101"   datafile 
     5 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/example.264.1080818183"   datafile 
     6 auxiliary format 
     "/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs2.265.1080818283"   ;
       sql 'alter system archive log current';
    }
    executing Memory Script
    
    executing command: SET NEWNAME
    
    renamed tempfile 1 to /u1/db/oracle/product/11.2.0/db_1/dbs/temp.263.1080818181 in control file
    
    executing command: SET NEWNAME
    
    executing command: SET NEWNAME
    
    executing command: SET NEWNAME
    
    executing command: SET NEWNAME
    
    executing command: SET NEWNAME
    
    executing command: SET NEWNAME
    
    Starting backup at 23-AUG-21
    channel p1: starting datafile copy
    input datafile file number=00001 name=+FRADG/orcl/datafile/system.256.1080818101
    channel p2: starting datafile copy
    input datafile file number=00002 name=+FRADG/orcl/datafile/sysaux.257.1080818101
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/system.256.1080818101 tag=TAG20210823T191805
    channel p1: datafile copy complete, elapsed time: 00:00:07
    channel p1: starting datafile copy
    input datafile file number=00005 name=+FRADG/orcl/datafile/example.264.1080818183
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/sysaux.257.1080818101 tag=TAG20210823T191805
    channel p2: datafile copy complete, elapsed time: 00:00:07
    channel p2: starting datafile copy
    input datafile file number=00003 name=+FRADG/orcl/datafile/undotbs1.258.1080818101
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs1.258.1080818101 tag=TAG20210823T191805
    channel p2: datafile copy complete, elapsed time: 00:00:01
    channel p2: starting datafile copy
    input datafile file number=00006 name=+FRADG/orcl/datafile/undotbs2.265.1080818283
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/example.264.1080818183 tag=TAG20210823T191805
    channel p1: datafile copy complete, elapsed time: 00:00:02
    channel p1: starting datafile copy
    input datafile file number=00004 name=+FRADG/orcl/datafile/users.259.1080818101
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs2.265.1080818283 tag=TAG20210823T191805
    channel p2: datafile copy complete, elapsed time: 00:00:01
    output file name=/u1/db/oracle/product/11.2.0/db_1/dbs/users.259.1080818101 tag=TAG20210823T191805
    channel p1: datafile copy complete, elapsed time: 00:00:01
    Finished backup at 23-AUG-21
    
    sql statement: alter system archive log current
    
    contents of Memory Script:
    {
       switch clone datafile all;
    }
    executing Memory Script
    
    datafile 1 switched to datafile copy
    input datafile copy RECID=30 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/system.256.1080818101
    datafile 2 switched to datafile copy
    input datafile copy RECID=31 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/sysaux.257.1080818101
    datafile 3 switched to datafile copy
    input datafile copy RECID=32 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs1.258.1080818101
    datafile 4 switched to datafile copy
    input datafile copy RECID=33 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/users.259.1080818101
    datafile 5 switched to datafile copy
    input datafile copy RECID=34 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/example.264.1080818183
    datafile 6 switched to datafile copy
    input datafile copy RECID=35 STAMP=1081365498 file name=/u1/db/oracle/product/11.2.0/db_1/dbs/undotbs2.265.1080818283
    Finished Duplicate Db at 23-AUG-21
    released channel: p1
    released channel: p2
    released channel: s1
    released channel: s2
    
    RMAN> 
    
    Recovery Manager complete.

     5.3 添加redo日志组

     

    alter database add standby logfile thread 1 group 11 '/u1/db/oracle/product/11.2.0/db_1/dbs/std_redo11.log' size 50M;
    alter database add standby logfile thread 1 group 16 '/u1/db/oracle/product/11.2.0/db_1/dbs/std_redo16.log' size 50M;
    alter database add standby logfile thread 1 group 17 '/u1/db/oracle/product/11.2.0/db_1/dbs/std_redo17.log' size 50M;
    alter database add standby logfile thread 2 group 18 '/u1/db/oracle/product/11.2.0/db_1/dbs/std_redo18.log' size 50M;
    alter database add standby logfile thread 2 group 19 '/u1/db/oracle/product/11.2.0/db_1/dbs/std_redo19.log' size 50M;

    5.4开启实时同步

    SQL> alter database open;
    SQL> alter database recover  managed standby database using current logfile disconnect from session;

    5.5主备状态查询

    可以进行日志切换进行验证

    alter system switch logfile;

    主备角色状态

    主:

    SQL> select open_mode,protection_mode,database_role,switchover_status from v$database;
    
    OPEN_MODE         PROTECTION_MODE      DATABASE_ROLE    SWITCHOVER_STATUS
    -------------------- -------------------- ---------------- --------------------
    READ WRITE         MAXIMUM PERFORMANCE  PRIMARY       TO STANDBY

    备:

    SQL> select open_mode,protection_mode,database_role,switchover_status from v$database;
    
    OPEN_MODE         PROTECTION_MODE      DATABASE_ROLE    SWITCHOVER_STATUS
    -------------------- -------------------- ---------------- --------------------
    READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY NOT ALLOWED

    当前归档状态

    主:

    SQL> archive log list;
    Database log mode           Archive Mode
    Automatic archival           Enabled
    Archive destination           +CRSDG
    Oldest online log sequence     79
    Next log sequence to archive   80
    Current log sequence           80

    备:

    SQL> archive log list;
    Database log mode           Archive Mode
    Automatic archival           Enabled
    Archive destination           /arch
    Oldest online log sequence     79
    Next log sequence to archive   0
    Current log sequence           80

    MRP应用状态

    SQL> select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby; 
    
    PROCESS   CLIENT_P  SEQUENCE# STATUS           BLOCK#      BLOCKS
    --------- -------- ---------- ------------ ---------- ----------
    ARCH      ARCH           77 CLOSING        12288         136
    ARCH      ARCH            0 CONNECTED         0           0
    ARCH      ARCH           78 CLOSING            1           1
    ARCH      ARCH           79 CLOSING            1          98
    RFS      LGWR           57 IDLE        14318           1
    RFS      UNKNOWN        0 IDLE            0           0
    RFS      ARCH            0 IDLE            0           0
    RFS      UNKNOWN        0 IDLE            0           0
    RFS      ARCH            0 IDLE            0           0
    RFS      UNKNOWN        0 IDLE            0           0
    RFS      LGWR           80 IDLE        10142           1
    
    PROCESS   CLIENT_P  SEQUENCE# STATUS           BLOCK#      BLOCKS
    --------- -------- ---------- ------------ ---------- ----------
    MRP0      N/A           80 APPLYING_LOG    10142      102400
    
    12 rows selected.

     

  • 相关阅读:
    open-falcon之agent
    centos 7 部署 open-falcon 0.2.0
    高可用Redis服务架构分析与搭建
    python操作mongo脚本
    mongo查询日期格式数据
    离线下载pip包安装
    mongo同步到es
    mongo ttl索引
    kibana多台服务部署
    logstash过滤配置
  • 原文地址:https://www.cnblogs.com/houzhiheng/p/15180611.html
Copyright © 2020-2023  润新知