• Windows-server-2008-R2安装Oracle-11g-R2-dataguard


    一、安装环境

    1、服务器环境:Windows server 2008 R2 x64 Standard 两台

    CPU:8核

    内存:8G

    硬盘空间:1060G

    2、软件:oracle 11g R2

    二、安装前配置

    1、IP地址配置要求

    主库IP:192.168.2.50

    备库IP:192.168.2.51

    注:两台主机要保证可以ping通

    2、oracle安装要求

    主库:安装oracle软件,并创建数据库

    备库:仅安装oracle软件

    3、安装位置

    主库:

         oracle 软件E:appAdministratorproduct11.2.0dbhome_1
         数据库 orclE:appAdministratororadataorcl
    备库:
         oracle 软件:E:appAdministratorproduct11.2.0dbhome_1
    注:要明了数据库的安装位置以及数据库实例的安装位置,不管是走安装默认位置还是自定义位置

    4、数据库实例预设:

    主库:数据库实例 orcl(已创建)

    备库:数据库实例 djl (未创建)

    注意:如果已经安装数据库实例,可以新建一个实例,或者把原来的实例给删除

    三、配置dataguard主从库

    1、检查数据库,开启归档模式,如下图所示:

    连接数据库

    C:UsersAdministrator>sqlplus / as sysdba

    查看是否是归档模式

    SQL> archive log list

    关闭数据库

    SQL> shutdown immediate

    启动到mount状态

    SQL> startup mount

    开启归档模式

    SQL> alter database archivelog;

    开启强制日志模式

    SQL> alter database force logging;

     

    2、为备库添加日志组(在主库mount状态下执行)

    查看当前主库日志组:

    SQL> select * from v$logfile order by group#;

    在主库为备库添加日志组,结果如下:

    SQL> alter database add standby logfile group 4 'E:appAdministratororadataorcl edo04.log' size 50m;

    SQL> alter database add standby logfile group 5 'E:appAdministratororadataorcl edo05.log' size 50m;

    SQL> alter database add standby logfile group 6 'E:appAdministratororadataorcl edo06.log' size 50m;

    SQL> alter database add standby logfile group 7 'E:appAdministratororadataorcl edo07.log' size 50m;

     SQL> select * from v$logfile order by group#;

    3、主备库配置网络监听

    修改文件listener.ora, tnsnames.ora它们的位置在E:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN目录下(根据实际安装位置)

    主库:

    listener.ora文件

    注意:空格字符也要对齐,否则报语法错误

    # listener.ora Network Configuration File: E:appAdministratorproduct11.2.0dbhome_1
    etworkadminlistener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:E:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME = ORCL)
          (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_1)
          (SID_NAME = ORCL)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
        )
      )
    
    ADR_BASE_LISTENER = E:appAdministrator

    tnsnames.ora文件

    # tnsnames.ora Network Configuration File: E:appAdministratorproduct11.2.0dbhome_1
    etworkadmin	nsnames.ora
    # Generated by Oracle configuration tools.
    
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    
    djl =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = djl)
        )
      )

    备库:

    listener.ora文件

    # listener.ora Network Configuration File: E:appAdministratorproduct11.2.0dbhome_1
    etworkadminlistener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:E:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME = djl)
          (ORACLE_HOME = E:appAdministratorproduct11.2.0dbhome_1)
          (SID_NAME = djl)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
        )
      )
    
    ADR_BASE_LISTENER = E:appAdministrator

    tnsnames.ora文件

    # tnsnames.ora Network Configuration File: E:appAdministratorproduct11.2.0dbhome_1
    etworkadmin	nsnames.ora
    # Generated by Oracle configuration tools.
    
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    djl =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = djl)
        )
      )
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

     4、重启监听服务

    主库:

    C:UsersAdministrator>lsnrctl stop

    C:UsersAdministrator>lsnrctl start

    备库:

    5、使用tnsping检查监听及服务命名

    主库

    C:UsersAdministrator>tnsping orcl

    C:UsersAdministrator>tnsping djl

    备库

    C:UsersAdministrator>tnsping orcl

    C:UsersAdministrator>tnsping djl

    6、主备库创建相关目录,详述如下

    主库创建目录:

    • F:oracle_db_archarch    --归档日志位置
    • F:oracle_db_archarch_std  --主库转为备库时,归档日志位置

    从库创建目录:

    • F:oracle_db_archarch                                                            ----归档日志位置
    • F:oracle_db_archarch_std                                                     --备库转为主库时,归档日志位置
    • E:appAdministratororadatadjl                                               --数据文件位置
    • E:appAdministratoradmindjladump                                     --审计文件位置
    • E:appAdministratorflash_recovery_areadjlONLINELOG    --联机重做位置

    7、为主备库准备参数文件

    主库

    select * from v$logfile order by group#;

    SQL> create pfile from spfile;

    注:执行create语句之后,在E:appAdministratorproduct11.2.0dbhome_1database目录下会出现文件INITorcl.ORA,用笔记本打开进行编辑

    主库INITorcl.ORA
    orcl.__db_cache_size=1124073472
    orcl.__java_pool_size=16777216
    orcl.__large_pool_size=16777216
    orcl.__oracle_base='E:appAdministrator'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=1040187392
    orcl.__sga_target=1543503872
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=352321536
    orcl.__streams_pool_size=0
    *.audit_file_dest='E:appAdministratoradminorcladump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='E:appAdministratororadataorclcontrol01.ctl','E:appAdministratorflash_recovery_areaorclcontrol02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='E:appAdministratorflash_recovery_area'
    *.db_recovery_file_dest_size=4102029312
    *.diagnostic_dest='E:appAdministrator'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.memory_target=2577399808
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    
    
    *.db_unique_name=orcl
    *.log_archive_config='dg_config=(orcl,djl)'
    *.log_archive_dest_1='LOCATION=F:oracle_db_archarch valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
    *.log_archive_dest_2='SERVICE=djl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=djl'
    *.log_archive_dest_3='LOCATION=F:oracle_db_archarch_std valid_for=(standby_logfiles,standby_role) db_unique_name=orcl'
    *.log_archive_dest_state_1='enable'
    *.log_archive_dest_state_2='enable'
    *.log_archive_dest_state_3='enable'
    *.fal_server=djl
    *.fal_client=orcl
    *.standby_file_management=auto
    *.db_file_name_convert=('E:appAdministratororadatadjl','E:appAdministratororadataorcl')
    *.log_file_name_convert=('E:appAdministratororadatadjl','E:appAdministratororadataorcl')

    将主库initorcl.ora复制到备库对应目录下并修改内容如下

    备库INITdjl.ORA
    orcl.__db_cache_size=1124073472
    orcl.__java_pool_size=16777216
    orcl.__large_pool_size=16777216
    orcl.__oracle_base='E:appAdministrator'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=1040187392
    orcl.__sga_target=1543503872
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=352321536
    orcl.__streams_pool_size=0
    *.audit_file_dest='E:appAdministratoradmindjladump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='E:appAdministratororadatadjlcontrol01.ctl','E:appAdministratorflash_recovery_areadjlcontrol02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='E:appAdministratorflash_recovery_area'
    *.db_recovery_file_dest_size=4102029312
    *.diagnostic_dest='E:appAdministrator'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)','(address=(protocol=tcp)(host=192.168.2.51))(dispatchers=4)','(address=(protocol=ipc)(host=192.168.2.51))(dispatchers=2)'
    *.memory_target=2577399808
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    
    
    *.db_unique_name=djl
    *.log_archive_config='dg_config=(djl,orcl)'
    *.log_archive_dest_1='LOCATION=F:oracle_db_archarch valid_for=(online_logfiles,primary_role) db_unique_name=djl'
    *.log_archive_dest_2='SERVICE=orcl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
    *.log_archive_dest_3='LOCATION=F:oracle_db_archarch_std valid_for=(standby_logfiles,standby_role) db_unique_name=djl'
    *.log_archive_dest_state_1='enable'
    *.log_archive_dest_state_2='enable'
    *.log_archive_dest_state_3='enable'
    *.fal_server=orcl
    *.fal_client=djl
    *.standby_file_management=auto
    *.db_file_name_convert=('E:appAdministratororadataorcl','E:appAdministratororadatadjl')
    *.log_file_name_convert=('E:appAdministratororadataorcl','E:appAdministratororadatadjl')

    8、密码文件配置

    将主库的参数文件PWDorcl.ora复制到备库对应目录下,并重命名为PWDdjl.ora

    路径位置:E:appAdministratorproduct11.2.0dbhome_1database

    9、控制文件配置

    将主库的参数文件control01.ctl和control02.ctl复制到备库参数文件中指定位置下

    10、创建备库实例djl

    C:UsersAdministrator>oradim -new -sid djl

    11、主备库的启动

    主库:登录sqlplus在showdown状态下创建参数文件

    查看oracle 启动状态

    SQL> select status from v$instance;

    关闭数据库

    SQL> shutdown immediate

    创建参数文件

    SQL> create spfile from pfile;

    启动数据库

    SQL> startup

    SQL> select status from v$instance;
    
    STATUS
    ------------
    MOUNTED
    
    SQL> shutdown immediate
    ORA-01109: 数据库未打开
    
    
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL>
    SQL> create spfile from pfile;
    
    文件已创建。
    
    SQL> startup
    ORACLE 例程已经启动。
    
    Total System Global Area 2572144640 bytes
    Fixed Size                  2178496 bytes
    Variable Size            1426063936 bytes
    Database Buffers         1124073472 bytes
    Redo Buffers               19828736 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL>

    备库:

    登录sqlplus出现如下错误

    C:UsersAdministrator>sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:43:35 2019
    
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    
    ERROR:
    ORA-12560: TNS: 协议适配器错误
    
    
    请输入用户名:
    ERROR:
    ORA-12560: TNS: 协议适配器错误
    
    
    请输入用户名:
    ERROR:
    ORA-12560: TNS: 协议适配器错误
    
    
    SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
    
    C:UsersAdministrator>

    解决办法参考:https://www.jianshu.com/p/1c3dbe96af03

    C:UsersAdministrator>set oracle_sid=djl
    
    C:UsersAdministrator>sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:57:13 2019
    
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    
    已连接到空闲例程。
    
    SQL>

    创建参数文件

    SQL> create spfile from pfile;

    将数据库启动到nomount(必须是nomount状态)

    SQL> startup nomount

    SQL> create spfile from pfile;
    
    文件已创建。
    
    SQL> startup nomount
    ORACLE 例程已经启动。
    
    Total System Global Area 3423965184 bytes
    Fixed Size                  2180544 bytes
    Variable Size            1862273600 bytes
    Database Buffers         1543503872 bytes
    Redo Buffers               16007168 bytes
    SQL>

    12、使用rman连接主备库

    在主库执行:

    C:UsersAdministrator>rman target sys/111111@orcl auxiliary sys/111111@djl

    注意:连接前使用rman登录主备库做测试

    13、为备库备份参数文件

    RMAN> backup current controlfile for standby database;

    报错情况:

    RMAN> backup current controlfile for standby database;
    
    启动 backup 于 11-8月 -19
    使用目标数据库控制文件替代恢复目录
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=67 设备类型=DISK
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    输入数据文件: 文件号=00007 名称=D:ORACLE_DATABRDB_1031.DBF
    输入数据文件: 文件号=00006 名称=D:ORACLE_DATABRDB_JSNK20190716.DBF
    输入数据文件: 文件号=00008 名称=D:ORACLE_DATABRDB_ZJC_0508.DBF
    输入数据文件: 文件号=00001 名称=D:APPADMINISTRATORORADATAORCLSYSTEM01.DBF
    输入数据文件: 文件号=00002 名称=D:APPADMINISTRATORORADATAORCLSYSAUX01.DBF
    输入数据文件: 文件号=00003 名称=D:APPADMINISTRATORORADATAORCLUNDOTBS01.DBF
    输入数据文件: 文件号=00005 名称=D:APPADMINISTRATORORADATAORCLEXAMPLE01.DBF
    输入数据文件: 文件号=00004 名称=D:APPADMINISTRATORORADATAORCLUSERS01.DBF
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失败
    ORA-19809: 超出了恢复文件数的限制
    ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4102029312 限制中)
    继续执行其他作业步骤, 将不重新运行失败的作业
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    备份集内包括当前控制文件
    备份集内包括当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    通道 ORA_DISK_1: 已完成段 111-8月 -19
    段句柄=D:APPADMINISTRATORFLASH_RECOVERY_AREAORCLBACKUPSET2019_08_11O1_MF_
    NCSNF_TAG20190811T181047_GNZTK5KL_.BKP 标记=TAG20190811T181047 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    备份集内包括备用控制文件
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    通道 ORA_DISK_1: 已完成段 111-8月 -19
    段句柄=D:APPADMINISTRATORFLASH_RECOVERY_AREAORCLBACKUPSET2019_08_11O1_MF_
    NCNNF_TAG20190811T181047_GNZTK7NZ_.BKP 标记=TAG20190811T181047 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    
    RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失败
    ORA-19809: 超出了恢复文件数的限制
    ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4102029312 限制中)

    需要修改归档日志的路径,默认路径存储大小为2G

    或者修改默认路径存储大小为500G

    SQL> alter system set db_recovery_file_dest_size=500G;
    
    系统已更改。

    参考:

    https://blog.csdn.net/mengxiang209/article/details/6936096

    https://www.cnblogs.com/andy6/p/5997410.html

    https://blog.csdn.net/weixin_34384557/article/details/89774544

    https://blog.csdn.net/weixin_34384557/article/details/89774544

    RMAN> backup current controlfile for standby database;
    
    启动 backup 于 11-8月 -19
    使用目标数据库控制文件替代恢复目录
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=131 设备类型=DISK
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    输入数据文件: 文件号=00007 名称=D:ORACLE_DATABRDB_1031.DBF
    输入数据文件: 文件号=00006 名称=D:ORACLE_DATABRDB_JSNK20190716.DBF
    输入数据文件: 文件号=00008 名称=D:ORACLE_DATABRDB_ZJC_0508.DBF
    输入数据文件: 文件号=00001 名称=D:APPADMINISTRATORORADATAORCLSYSTEM01.DBF
    输入数据文件: 文件号=00002 名称=D:APPADMINISTRATORORADATAORCLSYSAUX01.DBF
    输入数据文件: 文件号=00003 名称=D:APPADMINISTRATORORADATAORCLUNDOTBS01.DBF
    输入数据文件: 文件号=00005 名称=D:APPADMINISTRATORORADATAORCLEXAMPLE01.DBF
    输入数据文件: 文件号=00004 名称=D:APPADMINISTRATORORADATAORCLUSERS01.DBF
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    通道 ORA_DISK_1: 已完成段 111-8月 -19
    段句柄=D:APPADMINISTRATORFLASH_RECOVERY_AREAORCLBACKUPSET2019_08_11O1_MF_
    NNNDF_TAG20190811T191415_GNZY482X_.BKP 标记=TAG20190811T191415 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:05:36
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    备份集内包括当前控制文件
    备份集内包括当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    通道 ORA_DISK_1: 已完成段 111-8月 -19
    段句柄=D:APPADMINISTRATORFLASH_RECOVERY_AREAORCLBACKUPSET2019_08_11O1_MF_
    NCSNF_TAG20190811T191415_GNZYGR2X_.BKP 标记=TAG20190811T191415 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
    通道 ORA_DISK_1: 正在启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集内的数据文件
    备份集内包括备用控制文件
    通道 ORA_DISK_1: 正在启动段 111-8月 -19
    通道 ORA_DISK_1: 已完成段 111-8月 -19
    段句柄=D:APPADMINISTRATORFLASH_RECOVERY_AREAORCLBACKUPSET2019_08_11O1_MF_
    NCNNF_TAG20190811T191415_GNZYGT5V_.BKP 标记=TAG20190811T191415 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
    完成 backup 于 11-8月 -19

    14、将主库数据库复制到备库

    RMAN> duplicate target database for standby from active database;

    RMAN> duplicate target database for standby from active database;
    
    启动 Duplicate Db 于 27-8月 -19
    使用目标数据库控制文件替代恢复目录
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: SID=10 设备类型=DISK
    
    内存脚本的内容:
    {
       backup as copy reuse
       targetfile  'E:appAdministratorproduct11.2.0dbhome_1DATABASEPWDorcl.OR
    A' auxiliary format
     'E:appAdministratorproduct11.2.0dbhome_1DATABASEPWDdjl.ORA'   ;
    }
    正在执行内存脚本
    
    启动 backup 于 27-8月 -19
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=147 设备类型=DISK
    完成 backup 于 27-8月 -19
    
    内存脚本的内容:
    {
       backup as copy current controlfile for standby auxiliary format  'E:APPADMI
    NISTRATORORADATADJLCONTROL01.CTL';
       restore clone controlfile to  'E:APPADMINISTRATORFLASH_RECOVERY_AREADJLC
    ONTROL02.CTL' from
     'E:APPADMINISTRATORORADATADJLCONTROL01.CTL';
    }
    正在执行内存脚本
    
    启动 backup 于 27-8月 -19
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动数据文件副本
    复制备用控制文件
    输出文件名=E:APPADMINISTRATORPRODUCT11.2.0DBHOME_1DATABASESNCFORCL.ORA 标
    记=TAG20190827T092232 RECID=4 STAMP=1017393753
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
    完成 backup 于 27-8月 -19
    
    启动 restore 于 27-8月 -19
    使用通道 ORA_AUX_DISK_1
    
    通道 ORA_AUX_DISK_1: 已复制控制文件副本
    完成 restore 于 27-8月 -19
    
    内存脚本的内容:
    {
       sql clone 'alter database mount standby database';
    }
    正在执行内存脚本
    
    sql 语句: alter database mount standby database
    
    内存脚本的内容:
    {
       set newname for tempfile  1 to
     "E:APPADMINISTRATORORADATADJLTEMP01.DBF";
       switch clone tempfile all;
       set newname for datafile  1 to
     "E:APPADMINISTRATORORADATADJLSYSTEM01.DBF";
       set newname for datafile  2 to
     "E:APPADMINISTRATORORADATADJLSYSAUX01.DBF";
       set newname for datafile  3 to
     "E:APPADMINISTRATORORADATADJLUNDOTBS01.DBF";
       set newname for datafile  4 to
     "E:APPADMINISTRATORORADATADJLUSERS01.DBF";
       backup as copy reuse
       datafile  1 auxiliary format
     "E:APPADMINISTRATORORADATADJLSYSTEM01.DBF"   datafile
     2 auxiliary format
     "E:APPADMINISTRATORORADATADJLSYSAUX01.DBF"   datafile
     3 auxiliary format
     "E:APPADMINISTRATORORADATADJLUNDOTBS01.DBF"   datafile
     4 auxiliary format
     "E:APPADMINISTRATORORADATADJLUSERS01.DBF"   ;
       sql 'alter system archive log current';
    }
    正在执行内存脚本
    
    正在执行命令: SET NEWNAME
    
    临时文件 1 在控制文件中已重命名为 E:APPADMINISTRATORORADATADJLTEMP01.DBF
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    正在执行命令: SET NEWNAME
    
    启动 backup 于 27-8月 -19
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动数据文件副本
    输入数据文件: 文件号=00001 名称=E:APPADMINISTRATORORADATAORCLSYSTEM01.DBF
    输出文件名=E:APPADMINISTRATORORADATADJLSYSTEM01.DBF 标记=TAG20190827T092241
    
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:25
    通道 ORA_DISK_1: 启动数据文件副本
    输入数据文件: 文件号=00002 名称=E:APPADMINISTRATORORADATAORCLSYSAUX01.DBF
    输出文件名=E:APPADMINISTRATORORADATADJLSYSAUX01.DBF 标记=TAG20190827T092241
    
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:15
    通道 ORA_DISK_1: 启动数据文件副本
    输入数据文件: 文件号=00003 名称=E:APPADMINISTRATORORADATAORCLUNDOTBS01.DBF
    输出文件名=E:APPADMINISTRATORORADATADJLUNDOTBS01.DBF 标记=TAG20190827T09224
    1
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07
    通道 ORA_DISK_1: 启动数据文件副本
    输入数据文件: 文件号=00004 名称=E:APPADMINISTRATORORADATAORCLUSERS01.DBF
    输出文件名=E:APPADMINISTRATORORADATADJLUSERS01.DBF 标记=TAG20190827T092241
    通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
    完成 backup 于 27-8月 -19
    
    sql 语句: alter system archive log current
    
    内存脚本的内容:
    {
       switch clone datafile all;
    }
    正在执行内存脚本
    
    数据文件 1 已转换成数据文件副本
    输入数据文件副本 RECID=4 STAMP=1017393812 文件名=E:APPADMINISTRATORORADATADJ
    LSYSTEM01.DBF
    数据文件 2 已转换成数据文件副本
    输入数据文件副本 RECID=5 STAMP=1017393812 文件名=E:APPADMINISTRATORORADATADJ
    LSYSAUX01.DBF
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 RECID=6 STAMP=1017393812 文件名=E:APPADMINISTRATORORADATADJ
    LUNDOTBS01.DBF
    数据文件 4 已转换成数据文件副本
    输入数据文件副本 RECID=7 STAMP=1017393812 文件名=E:APPADMINISTRATORORADATADJ
    LUSERS01.DBF
    完成 Duplicate Db 于 27-8月 -19
    
    RMAN>exit

    15、将备库设置为接受日志模式

    说明:此时,主库为open状态,备库为mounted

    主库:

    SQL> select status from v$instance;
    
    STATUS
    ------------
    OPEN
    
    SQL>

     备库:

    在备库执行以下语句

    将备库修改为接收应用主库归档的模式

    SQL> alter database recover managed standby database disconnect from session;

    SQL> select status from v$instance;
    
    STATUS
    ------------------------
    MOUNTED
    
    SQL> alter database recover managed standby database disconnect from session;
    
    数据库已更改。
    
    SQL>

    16、日志验证dataguard:

    主库:

    E:appAdministratordiag dbmsorclorcl race

    备库:

    在主库切换日志,再次查看日志如下

    主库:

    SQL> alter system switch logfile;

    备库:

    日志验证dataguard完毕,且验证成功。

    17、备库后期配置

    设置备库

    SQL> alter database mount standby database;

    SQL> select sequence#,applied from V$archived_log where applied='YES';
    SQL> alter database recover managed standby database cancel;

    设置备库只读
    SQL> alter database open read only;
    SQL> alter database recover managed standby database using current logfile disconnect from session;
    说明:重启数据库后必须执行,这样数据才能同步。

    查看日志应用情况
    SQL> select sequence#,applied from V$archived_log where applied='IN-MEMORY';

    如果看到IN-MEMORY说明当前正在进行实时同步,如果最后一个是YES,也是正常的,说明当前操作为0

    SQL> select sequence#,applied from V$archived_log;

    查询当前的保护模式
    SQL> select open_mode,database_role,db_unique_name,PROTECTION_MODE from v$database;

    到此,oracle 11g dataguard 配置完毕。

    四、启动从库,同步因停机未同步的归档日志

    SQL> shutdown immediate;
    SQL> startup nomount;
    SQL> alter database mount standby database;

    备库启用日志应用
    SQL> alter database recover managed standby database disconnect from session;
    SQL> select sequence#,applied from V$archived_log where applied='YES';

    以只读方式启动从库

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

    更改数据库恢复托管备用数据库取消

    停止应用日志

    SQL> alter database recover managed standby database cancel;

    参考博客:

    Windows server 2008 R2 安装 Oracle 11g R2 dataguard

    https://blog.csdn.net/u013986802/article/details/70207566

    物理standby database的日常维护

    https://blog.csdn.net/robbie1314520/article/details/8267283

  • 相关阅读:
    讲解SQL Server危险扩展存储删除和恢复
    新生活
    邮件发送作业调度 创建操作员
    Linux 定时任务 crontab
    短信猫二次开发接口函数及规范
    Linux修改用户shell
    Linux里$等记得转义
    网页标题前出现的图标
    Linux读书笔记
    DataStage通过分析日志获取Job插入目标表的记录数
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/11329028.html
Copyright © 2020-2023  润新知