ITPub博客

首页 > 数据库 > Oracle > 12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)

12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)

原创 Oracle 作者:lhrbest 时间:2020-03-19 18:26:51 0 删除 编辑


 一.1  创建 Far sync
创建Far Sync实例类似于创建物理备库,但数据文件在Far Sync实例中不存在。因此不需要拷贝数据文件并还原数据文件。一旦Far Sync实例创建了,那么就默认运行在Maximum Availability模式,那么REDO是实时同步传输的。
 
一.1.1  原DG环境
主库:lhr122
Far Sync:lhr122fs
备库:lhr122dg
 
DGMGRL> show configuration
 
Configuration - lhr122
 
  Protection Mode: MaxPerformance
  Members:
  lhr122   - Primary database
    lhr122dg - Physical standby database 
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS   (status updated 4 seconds ago)
 
 
SYS@lhr122> select * from V$DATAGUARD_CONFIG;
 
DB_UNIQUE_NAME                 PARENT_DBUN                    DEST_ROLE         CURRENT_SCN     CON_ID
------------------------------ ------------------------------ ----------------- ----------- ----------
lhr122                         NONE                           PRIMARY DATABASE      3086907          0
lhr122dg                       lhr122                         PHYSICAL STANDBY      3086973          0
 
SYS@lhr122> col name format a25
SYS@lhr122> col VALUE format a100
SYS@lhr122> SELECT a.NAME,
  2         a.VALUE
  3  FROM   v$parameter a
  4  WHERE  (a.NAME LIKE '%file_name_convert' OR a.NAME LIKE 'fal%' OR
  5         a.NAME LIKE 'standby_file%' OR a.NAME = 'log_archive_config' OR
  6         A.NAME LIKE 'log_archive_dest_%')
  7  AND    A.VALUE IS NOT NULL
  8  and a.VALUE!='enable';
 
NAME                      VALUE
------------------------- ----------------------------------------------------------------------------------------------------
db_file_name_convert      /u04/oradata/lhr122dg/, /u04/oradata/lhr122/
log_file_name_convert     /u04/oradata/lhr122dg/, /u04/oradata/lhr122/
log_archive_dest_1        LOCATION=/u04/oradata/lhr122/  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=lhr122
log_archive_dest_2        service="lhr122dg", ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connection
                          s=1 reopen=300 db_unique_name="lhr122dg" net_timeout=30, valid_for=(online_logfile,all_roles)
 
log_archive_dest_state_2  ENABLE
fal_client                lhr122
log_archive_config        dg_config=(lhr122,lhr122dg)
standby_file_management   AUTO
 
一.1.2  主库配置和操作
一.1.2.1  创建Far sync实例控制文件
ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/control01.ctl';
 
一.1.2.2  创建Far sync实例参数文件
create pfile='/tmp/initlhr122fs.ora' from spfile;
 
一.1.2.3  传递相关文件到Far Sync实例主机
将生成的控制文件、参数文件、主库密码文件、tnsnames.ora、listener.ora传递到Far Sync实例主机。
我这里是在本机搭建的:
cp /tmp/control01.ctl  /u04/oradata/lhr122fs/
cp /tmp/initlhr122fs.ora  /u04/oradata/lhr122fs/
cp $ORACLE_HOME/dbs/orapwlhr122 $ORACLE_HOME/dbs/orapwlhr122fs
 
 
 
一.1.3  Far Sync实例配置
 
一.1.3.1  修改PFILE
audit_file_dest='/u07/app/oracle/admin/lhr122fs/adump'
control_files='/u04/oradata/lhr122fs/control01.ctl'
db_name='lhr122'
db_unique_name='lhr122fs'
dg_broker_start=TRUE
diagnostic_dest='/u07/app/oracle'
fal_client='lhr122fs'
fal_server='lhr122','lhr122dg'
log_archive_config='dg_config=(lhr122,lhr122fs,lhr122dg)'
log_archive_dest_1='LOCATION=/u04/oradata/lhr122fs/  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=lhr122fs'
log_archive_dest_2='SERVICE=lhr122dg ASYNC NOAFFIRM VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=lhr122dg'
log_archive_dest_state_2='ENABLE'
log_file_name_convert='/u04/oradata/lhr122/','/u04/oradata/lhr122fs/','/u04/oradata/lhr122dg/','/u04/oradata/lhr122fs/'
db_file_name_convert='/u04/oradata/lhr122/','/u04/oradata/lhr122fs/','/u04/oradata/lhr122dg/','/u04/oradata/lhr122fs/'
standby_file_management='AUTO'
pga_aggregate_target=158m
sga_target=419430400
 
一.1.3.2  创建路径
 
mkdir -p /u07/app/oracle/admin/lhr122fs/adump
mkdir -p /u04/oradata/lhr122fs
 
 
 
 
一.1.3.3  将Far Sync实例启动到mount
ORACLE_SID=lhr122fs
sqlplus / as sysdba
create spfile from pfile='/u04/oradata/lhr122fs/initlhr122fs.ora';
startup mount;
 
SYS@lhr122fs> select protection_mode,database_role,protection_level,open_mode from v$database;
 
PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL     OPEN_MODE
-------------------- ---------------- -------------------- --------------------
MAXIMUM PERFORMANCE  FAR SYNC         MAXIMUM PERFORMANCE  MOUNTED
 
 
一.1.4  主备库和Far Sync添加TNSNAME
lhr122fs =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.130)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = lhr122fs)
    )
  )
 
一.1.5  Far Sync添加监听
 
    (SID_DESC =
      (GLOBAL_DBNAME = lhr122fs)
      (ORACLE_HOME = /u07/app/oracle/product/12.2.0/dbhome_1)
      (SID_NAME = lhr122fs)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = lhr122fs_DGMGRL)
      (ORACLE_HOME = /u07/app/oracle/product/12.2.0/dbhome_1)
      (SID_NAME = lhr122fs)
    )
 
lsnrctl reload
 
一.1.6  修改参数启用Far Sync配置
一.1.6.1  修改主库参数
修改配置,指向Far Sync实例
alter system set LOG_ARCHIVE_CONFIG ='DG_CONFIG=(lhr122,lhr122fs,lhr122dg)' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=lhr122fs SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=lhr122fs' scope=both;
 
一.1.6.2  备库修改配置
 
alter system set LOG_ARCHIVE_CONFIG ='DG_CONFIG=(lhr122,lhr122fs,lhr122dg)' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=lhr122 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=lhr122';
alter system set db_file_name_convert='/u04/oradata/lhr122/','/u04/oradata/lhr122dg/' scope=spfile;
alter system set log_file_name_convert='/u04/oradata/lhr122/','/u04/oradata/lhr122dg/' scope=spfile;
alter system set standby_file_management='AUTO' sid='*';
alter system set fal_server='lhr122fs','lhr122' sid='*';
alter system set fal_client='lhr122dg' sid='*';
 
 
一.1.7  主库查询
SYS@lhr122> SELECT * FROM V$DATAGUARD_CONFIG;
 
DB_UNIQUE_NAME                 PARENT_DBUN                    DEST_ROLE         CURRENT_SCN     CON_ID
------------------------------ ------------------------------ ----------------- ----------- ----------
lhr122                         NONE                           PRIMARY DATABASE      3106169          0
lhr122fs                       lhr122                         FAR SYNC INSTANCE     3105997          0
lhr122dg                       lhr122fs                       PHYSICAL STANDBY      3106050          0
 
 
一.2  配置dgmgrl
一.2.1  删除所有配置
remove configuration;
 
一.2.2  去除DG redo log同步参数设置
alter system set log_archive_dest_2='';
 
注:在12cR1以前版本中,配置dg broker是不需要去除。但是在12cR1以上版本中,如果不去除已配置了dg redo log同步参数,那么在创建dg broker的时候会出现如下错误:
DGMGRL> add far_sync lhr122fs as connect identifier is lhr122fs;
Error: ORA-16698: member has a LOG_ARCHIVE_DEST_n parameter with SERVICE attribute set
 
oerr ora 16649
16649, 0000, "possible failover to another database prevents this database from being opened"
// *Cause: An attempt to open the primary database was made either after
// a failover occurred, or when it was likely to have occurred as
// the result of the primary being isolated from the fast-start
// failover target standby database and from the fast-start failover
// observer.
// *Action: Check if a failover did occur. If fast-start failover is enabled,
// and a failover did not occur, ensure that connectivity exists
// between the primary database and either the observer or the
// target standby database. Then, try opening the database again.
 
 
一.2.3  添加
remove configuration;
create configuration dgmgrl_lhr122 as primary database is lhr122 connect identifier is lhr122;
 
add far_sync lhr122fs as connect identifier is lhr122fs;
 
# alter system set log_archive_dest_2='';
add database lhr122dg as connect identifier is lhr122dg maintained as physical;
 
 
--这里非常重要
edit database lhr122 set property  RedoRoutes = '(lhr122:lhr122fs SYNC)';
edit far_sync lhr122fs set property  RedoRoutes = '(lhr122:lhr122dg ASYNC)';
 
show database lhr122  RedoRoutes
show far_sync lhr122fs  RedoRoutes
show database lhr122dg  RedoRoutes
 
 
edit database lhr122 set property 'FastStartFailoverTarget'='lhr122dg';
edit database lhr122dg set property 'FastStartFailoverTarget'='lhr122';
 
 
 
show database lhr122  StaticConnectIdentifier
show far_sync lhr122fs  StaticConnectIdentifier
show database lhr122dg  StaticConnectIdentifier
 
edit database lhr122 set property StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.130)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=lhr122)(INSTANCE_NAME=lhr122)(SERVER=DEDICATED)))';
edit far_sync lhr122fs set property StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.130)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=lhr122fs)(INSTANCE_NAME=lhr122fs)(SERVER=DEDICATED)))';
edit database lhr122dg set property StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.130)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=lhr122dg)(INSTANCE_NAME=lhr122dg)(SERVER=DEDICATED)))';
 
 
enable configuration
 
 
DGMGRL> show configuration
 
Configuration - dgmgrl_lhr122
 
  Protection Mode: MaxPerformance
  Members:
  lhr122   - Primary database
    lhr122fs - Far sync instance 
      lhr122dg - Physical standby database 
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS   (status updated 15 seconds ago)
 
 
 
一.2.4  switchover和failover
---- switchover 
dgmgrl sys/lhr@lhr122
switchover to lhr122dg;
 
 
-----切换完成后需要重新配置RedoRoutes
--若执行卡住,则重启一下备库即可
edit database lhr122dg set property  RedoRoutes = '(lhr122dg:lhr122fs SYNC)';
edit far_sync lhr122fs set property  RedoRoutes = '(lhr122dg:lhr122 ASYNC)';
 
---- failover 
dgmgrl sys/lhr@lhr122dg
failover to lhr122dg
 
 
edit database lhr122dg set property  RedoRoutes = '(lhr122dg:lhr122fs SYNC)';
edit far_sync lhr122fs set property  RedoRoutes = '(lhr122dg:lhr122 ASYNC)';
 
 
reinstate database  lhr122







Data Guard 12C 新特性:Far Sync Standby (Doc ID 2179719.1)


文档内容

目标
解决方案
创建一个远程同步备用实例 
Data Guard Broker 和远程同步备用数据库 
White paper
参考

适用于:

Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Backup Service - 版本 N/A 和更高版本
Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台
***Checked for relevance on 13-Jul-2015***

目标

本文的目的是介绍新的备库类型 Far Sync Standby。

解决方案

远程同步备用数据库是一个级联备用数据库充当一个重做日志库的终端数据库。它不包含任何数据文件。远端同步备用数据库上只有日志传输服务。远端同步备用数据库的好处是,它可以在本地服务器运行,并且以最大可用模式运行,物理或逻辑备库就可以运行在远程站点。  

创建一个远程同步备用实例 

配置 Far Sync Standby 时,准备环境与物理备库的环境相同,请参阅:

Note 1475344.1 Creating a Physical Standby Database on Oracle 11.2.0.x

-> 准备环境和备用实例

例如:

在主数据库创建一个 Far Sync Standby 控制文件,并使用该控制文件挂载远程同步实例:

SQL> alter database create far sync instance controlfile as ‘<File Specification>’;

 然后,您可以设置日志运输服务的级联备库,方法与普通的级联备用数据库相同。

Data Guard Broker 和远程同步备用数据库 

Data Guard Broker 支持 Far Sync Standby 和级联备用数据,您可以通过添加远程同步备用到您的 Data Guard Broker 的配置中:

DGMGRL> add far_sync <Name> as connect identifier is <Connect Identifier>;

然后相应的设置 Data Guard Broker 属性“RedoRoutes”。您可以在下面的文档中找到关于“RedoRoutes”的说明:

Note 1542969.1 Cascaded Standby Databases in Oracle 12c

White paper

Oracle Active Data Guard Far Sync 数据零丢失
https://www.oracle.com/technetwork/database/availability/farsync-2267608.pdf



References

参考

NOTE:1475344.1  - Creating a Physical Standby Database
NOTE:1578787.1  - 12c Data guard Switchover Best Practices using SQLPLUS
NOTE:1582837.1  - 12c Dataguard Switchover Best Practices using DGMGRL(Dataguard Broker Command Prompt)



在 12c 上配置 Create Dataguard Broker - DGMGRL (Doc ID 2102854.1)

文档内容

目标
解决方案
Dataguard Broker Supports Far/Fast SYNC Standby
参考

适用于:

Oracle Database - Enterprise Edition - 版本 12.1.0.1 到 12.1.0.1 [发行版 12.1]
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台

目标

Goal 

本文档提供了逐步创建代理配置的方法。

注意:在下面的图像和/或文档内容中,所使用的用户信息和环境数据表示来自Oracle示例模式,随Oracle数据库产品一起提供的公共文档或其他培训材料的虚拟数据。 与实际环境的任何相似之处,纯属巧合,绝不以任何方式提供。

为了本文档的目的,以下虚拟环境用作描述此过程的示例:

Dg configuration : 12c
Primary db_unique_name : boston
Standby db_unique_name : chicago

Solution

解决方案

1.先决条件,

启动Dataguard broker DMON流程.

在Primary 和 Standby,


SQL> alter system set dg_broker_start=true sid='*'; 

 2. 连接到 DGMGRL

Primary,

$dgmgrl 
DGMGRL>连接 sysdg
password: *****

3. 创建配置,

DGMGRL> create configuration '<configuration name>' AS PRIMARY DATABASE IS '<primary db_unique_name>' CONNECT IDENTIFIER IS <primary connect string>;

ex,

DGMGRL> create configuration '12c' AS PRIMARY DATABASE IS 'boston' as connect identifier is boston;

 


NOTE : 如果创建配置失败并显示ORA-16698 请参考
Note 1582179.1: Create Configuration Failing with ORA-16698

校验配置,

DGMGRL> show configuration;

Configuration - 12c

  保护模式: MaxPerformance
  Databases:

  Databases:
  boston - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED


4. 添加 Standby,

DGMGRL>  add database <standby db_unique_name> as connect identifier is <standby connect string>;

举例:
DGMGRL>  add database chicago as connect identifier is chicago;

 

DGMGRL> show configuration;

Configuration - 12c

  Protection Mode: MaxPerformance
  Databases:
  boston  - Primary database

  Databases:
  boston  - Primary database
    chicago - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED

5. 启动配置,

DGMGRL> enable configuration;


6. 校验配置,

DGMGRL> show configuration;

Configuration - 12c

  Protection Mode: MaxPerformance
  Databases:
  boston  - Primary database
    chicago - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

 

DGMGRL> show database boston;

Database - boston

  Role:              PRIMARY

  Intended State:    TRANSPORT-ON
  Instance(s):
    boston

Database Status:
Database Status:

SUCCESS


DGMGRL>  show database chicago;

Database - chicago

  Role:              PHYSICAL STANDBY

  Intended State:    APPLY-ON

  Transport Lag:     0 seconds (computed 1 second ago)

  Apply Lag:         0 seconds (computed 1 second ago)

  Apply Rate:        2.54 MByte/s
  Real Time Query:   ON
  Instance(s):
    chicago
Database Status:
SUCCESS

 记录在二进制文件中的Data Guard配置详细信息,

 

SQL> show parameter config

NAME                                 TYPE        VALUE

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

dg_broker_config_file1               string      /u01/app/oracle/product/12.1.0

                                                 /dbhome_1/dbs/dr1boston.dat

dg_broker_config_file2               string      /u01/app/oracle/product/12.1.0

                                                 /dbhome_1/dbs/dr2boston.dat

span>

Dataguard Broker Supports Far/Fast SYNC Standby

FSFO supports Far sync standby.   

DGMGRL>add far_sync <db_unique_name> as connect identifier is <connect string>;
DGMGRL>enable far_sync <db_unique_name>;

编辑ar sync instance 属性,

DGMGRL>EDIT FAR_SYNC far_sync_instance_name SET/RESET PROPERTY property-name;

Fast SYNC Standby    

DGMGRL>edit database <name> set property Logxptmode = ‘FastSync’;

使用SYNC NOAFFIRM配置REDO传输

 



References

Document : :1582179.1 - Create Configuration Failing with ORA-16698

参考

NOTE:1582179.1  - Create Configuration Failing with ORA-16698



12c 的 Cascaded Standby 数据库 (Doc ID 2179701.1)

文档内容

用途
详细信息
实时 Cascading:
先决条件:
设置:
Far Sync Standby 数据库:
Data Guard Broker 和 Cascaded Standby 数据库:
参考

适用于:

Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台
***Checked for relevance on 13-Jul-2015***

用途

 这篇文档解释了 Cascaded Standby 在 oracle 12c 上的增强特性。

详细信息

 

Oracle 12c 的 cascading standby 数据库为用户增加了更多的选项。12c 的版本对比以前的版本增加了以下的新选项:

 

  1. 实时 Cascading
  2. Far Sync Standby 数据库
  3. Data Guard Broker 提供对 cascading standby 数据库的支持

 

但是,你还只能从配置 physical standby 数据库去 cascade 另一个 standby 数据库。 目前 logical standby 数据库还不支持 cascade 另一个 standby 数据库。

 

实时 Cascading:

 

新版本现在支持以实时的模式将 redo 从第一个 standby 数据库传递到 cascaded standby 数据库。因此在第一个 standby 数据库,Redo 的信息会在被写到 Standby Redolog 后立即传递到 cascaded standby 数据库。

而非实时 Cascading 意味着:只有主库的 log Switch 之后,整个 log sequence 才会被传递到最终的 Standby 数据库上。

 

先决条件:

 

  • 第一个(Cascading)standby 数据库必须是物理的或者是 Far Sync Standby 数据库
  • 必须保证至少在 Cascading standby 数据库上使用 Standby Redolog
  • Active Data guard 的选项必须是有 license 的
  • Primary,Cascading,Cascaded standby 数据库的 db_unique_name 必须体现在所有数据库 log_archive_config 的 dg_config 中

 

设置:

 

首先 ,创建一个通常的 Dataguard 环境到 cascading standby 数据库。Log 的传输模式应该为 SYNC,同时在 cascading standby 配置 Standby Redolog。在创建完 cascaded standby 数据库以后就可以设置 cascading log 的传输服务了,下面是一些注意事项:

 

  • Primary,Cascading,Cascaded standby 数据库的 db_unique_name 必须体现在所有数据库 log_archive_config 的 dg_config 中。
  • 在 Cascading standby 数据库的 log_archive_dest_n 里面设置 ‘valid_for=(STANDBY_LOGFILES,STANDBY_ROLE)’ 的属性来传输给 cascaded(最终)standby 数据库。
  • 你可以通过设置 Log Transport 的模式来切换实时以及非实时的 cascading 模式:

ASYNC = Real-Time Cascading

SYNC = Non Real-Time Cascading

  • 你只可以设置从 log_archive_dest_1 到 log_archive_dest_10 作为非实时模式的目的地,而你可以在 cascading standby 数据库上设置所有的 log_archive_dest_n 作为实时 cascading 的目的地。
  • Cascading Standby 数据库可以运行在任何保护模式下。
  • Cascading Standby 数据库可以传输给一个或者多的 terminal standby 数据库。
  • Cascading Standby 数据库的 FAL_SERVER 应该设置为 primary 库或者是其他的 primary 直接连接的 standby 数据库。
  • Terminal Standby 数据库的 FAL_SERVER应该设置 cascading Standby 数据库或者 Primary 数据库。

 

Far Sync Standby 数据库:

 

Far Sync Standby 数据库对于 Terminal standby 数据库来说是作为一个 RedoLog repository 数据库的作用。他不含有任何的数据文件。Far Sync Standby 数据库只是启动了 Log 传输服务。Far Sync Standby 数据库的优点是它可以作为 Primary 数据库的一个在最大保护模式下的本地的 ArchiveLog Repository,而 Physical 和 logical standby 数据库可以运行在远端,请参考文档:

Note 1565071.1: Data Guard 12c New Feature: Far Sync Standby

来了解具体的关于 Far Sync Standby 数据库内容以及设置的步骤。

 

 

Data Guard Broker 和 Cascaded Standby 数据库:

 

Data Guard Broker 有一个新的‘RedoRoutes’的属性可以用来构建和部署 cascaded Data Guard Broker 的配置。 以下是它的格式:

 

RedoRoutes = ‘(<Redo Source> : <Redo Destination>)’

 

Redo Source: Redo 的来源,他可以是 db_unique_name 或者是一个本地数据库名别名的 ‘LOCAL’-Keyword(不能被 Far Sync Standby 数据库使用)

Redo Destination: Redo 从这个数据库传输到的目的地。他可以是一个或者多个(用逗号分开)db_unique_name 或者是代表所有在 Data Guard Broker 配置中可能目的地的别名的‘ALL’-Keyword。 你可以设置到目的地的传输的模式。包括以下:

  • SYNC:                 等同于 log_archive_dest_n 中的属性 ‘SYNC AFFIRM’ 或者是非实时 Cascade
  • ASYNC:               等同于 log_archive_dest_n 中的属性 ‘ASYNC’ 或者是 实时 Cascade
  • FASTSYNC :         等同于 log_archive_dest_n 中的属性 ‘SYNC NOAFFIRM’

 

 

例子:

 

Primary Database:                               prim

Cascading Standby Database:               local_stdby

Cascaded (terminal) Standby Database: remote_stdby

如果想实现’SYNC NOAFFIRM’的本地 standby 数据库和在实时 cascade 模式下的远程 standby 数据库,设置如下:

 

Primary Database (prim)

RedoRoutes = ‘(LOCAL : local_stdby FASTSYNC)’

 -> Primary 数据库只传送 Redo 到 local Standby 数据库,但是有到远程 standby 数据库的 Archive 目的地。

 

Local Standby Database (local_stdby)

RedoRoutes = ‘(prim : remote_stdby ASYNC)’

 -> 这里需要配置来源于 ‘prim’的 REDO 是以实时 cascade(ASYNC)的方式转发到远程的 Standby 数据库。

 

 

参考

NOTE:1565071.1  - Data Guard 12c New Feature: Far Sync Standby



Orcle 12c DG 新特性---Far Sync

  说明

An Oracle Data Guard far sync instance is a remote Oracle Data Guard destination that accepts redo from the primary database and then ships that redo to other members of the Oracle Data Guard configuration.  A far sync instance manages a control file, receives redo into standby redo logs (SRLs), and archives those SRLs to local archived redo logs,  but that is where the similarity with standbys ends.  A far sync instance does not have user data files, cannot be opened for access, cannot run redo apply, and can never function in the primary role or be converted to any type of standby database.

Active Data Guard Far Sync Oracle 12c 的新特性(也称为 Far Sync Standby ), Far Sync 功能的实现是通过在距离主库 (Primary Database) 相对较近的地点配置 Far Sync 实例,主库 (Primary Database)  同步 (synchronous) 传输 redo Far Sync 实例,然后 Far Sync 实例再将 redo 异步 (asynchronous) 传输到终端备库 (Standby Database) 。这样既可以保证零数据丢失又可以降低主库压力。 Far Sync 实例只有密码文件, init 参数文件和控制文件,而没有数据文件。所以无法打开用于访问。

Far Sync 配置对于 Data Guard  角色转换 (role transitions) 是透明的,即 switchover/failover 命令方式与 12c 之前相同。

  实验-Far Sync 安装配置

创建Far Sync 实例类似于创建物理备库,但数据文件在 Far Sync 实例中不存在。因此不需要拷贝数据文件并还原数据文件。一旦 Far Sync 实例创建了,那么就默认运行在 Maximum Availability 模式,那么 REDO 是实时同步传输的。

2.1    主库配置和操作

2.1.1   创建Far Sync 实例的控制文件

SQL> ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/tmp/control01.ctl';
Database altered.

将上面生成的Far Sync 的控制文件拷贝到 Far Sync 所在的主机上。

SQL> !scp /tmp/control01.ctl 192.168.1.173://u01/app/oracle/oradata/cndba_far/
[Expect-le@ www.cndba.cn]$ pwd
/u01/app/oracle/oradata/cndba_far

2.1.2   修改配置,指向Far Sync 实例

SQL> alter system set LOG_ARCHIVE_CONFIG ='DG_CONFIG=(cndba_p,cndba_far_sync,cndba_s)' scope=both;
System altered.
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=cndba_far_sync ASYNC NOAFFIRM
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cndba_far_sync' scope=both;
System altered.

2.2    备库修改配置

SQL> alter system set LOG_ARCHIVE_CONFIG ='DG_CONFIG=(cndba_p,cndba_far_sync,cndba_s)' scope=both;
System altered.
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=cndba_p ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=cndba_p' scope=both;
System altered.

2.3    Far Sync 实例配置

2.3.1   修改PFILE

cndba_s 是物理备库, cndba_far_sync Far Sync 实例的 DB_UNIQUE_NAME 。如果日志文件路径需要修改,也要修改 DB_FILE_NAME_CONVERT LOG_FILE_NAME_CONVERT

DB_UNIQUE_NAME=cndba_far_sync
CONTROL_FILES='/u01/app/oracle/oradata/cndba_far/control01.ctl'
FAL_SERVER=cndba_p
LOG_ARCHIVE_CONFIG='DG_CONFIG=(cndba_p,cndba_far_sync,cndba_s)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=cndba_far_sync'
LOG_ARCHIVE_DEST_2='SERVICE=cndba_s ASYNC
VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=cndba_s’

2.3.2   Far Sync 实例启动到 mount

SQL> create spfile from pfile='/u01/app/oracle/product/12.1.0.2/db_1/dbs/initcndba_far.ora';
File created.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 2348810240 bytes
Fixed Size	    2927048 bytes
Variable Size	 1409287736 bytes
Database Buffers	  922746880 bytes
Redo Buffers	   13848576 bytes
Database mounted.

2.3.3   查看Far Sync 实例状态

SQL> select protection_mode,database_role,protection_level,open_mode from v$database;
PROTECTION_MODE      DATABASE_ROLE    PROTECTION_LEVEL	   OPEN_MODE
-------------------- ---------------- -------------------- --------------------
MAXIMUM PERFORMANCE  FAR SYNC	      MAXIMUM PERFORMANCE  MOUNTED

2.3.4   创建standby redo log( 可选,最好创建 )

语法:

ALTER DATABASE ADD STANDBY LOGFILE GROUP 4('/u01/app/oracle/oradata/cndba_far/standbyredo11.log') SIZE 52428800;

2.4    主备库和Far Sync 添加 TNSNAME

CNDBA_FAR_SYNC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.173)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = cndba)
    )
  )

2.5    检查配置

SQL> select * from V$DATAGUARD_CONFIG;
DB_UNIQUE_NAME	       PARENT_DBUN	      DEST_ROLE CURRENT_SCN	CON_ID
------------------------------ ------------------------------ ----------------- ----------- ----------
cndba_p        NONE	      PRIMARY DATABASE	    2154617	     0
cndba_far_sync	       cndba_p	      FAR SYNC INSTANCE     2151372	     0
cndba_s        cndba_far_sync	      PHYSICAL STANDBY	    2151372	     0

从上面可以看出,配置没有问题。

Cndba_p -> cndba_far_sync -> cndba_s

2.6    测试日志是否正常传输

-- 查看当前日志序列号

主库:

SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    56

Far Sync 实例 :

SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    56

备库:

SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    56

-- 手动切换日志

SQL> alter system switch logfile;
System altered.

-- 再次查看备库和 Far Sync 实例的日志序列号

SQL> select max(sequence#) from v$archived_log;                                          
MAX(SEQUENCE#)
--------------
    57

至此搭建Far Sync 结束了。

  总结

1.   由于Far Sync 存在单点故障,所以建议搭建两个及以上的 Far Sync 实例。默认只启用其中一个,只有当一个挂掉了,才会自动启用另一个。

2.   主库建议配置一个备用的LOG_ARCHIVE_DEST_3 ,直接指向备库。在 LOG_ARCHIVE_DEST_2 不可用时,会启用 LOG_ARCHIVE_DEST_3 直接传输 redo 到备库。

3.   Far Sync 可大大减少主库的压力,特别是在一主多备的情况下。

4.   switchover/failover 对于 Far Sync 是透明的,不需要特殊配置,按正常切换即可。

更多详细信息,请参考: http://docs.oracle.com/database/121/SBYDB/create_fs.htm#SBYDB5437




概述
================
Active Data Guard Far Sync是Oracle 12c的新功能(也称为Far Sync Standby),Far Sync功能的实现是通过在距离主库(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 同步(synchronous)传输redo到Far Sync实例,然后Far Sync实例再将redo异步(asynchronous)传输到终端备库(Standby Database)。这样既可以保证零数据丢失又可以降低主库压力。Far Sync实例只有密码文件,init参数文件和控制文件,而没有数据文件。
如果redo 传输采用Maximum Availability模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database)同步(synchronous)传输redo到Far Sync实例,保证零数据丢失(zero data loss),同时主库和Far Sync距离较近,网络延时很小,因此对主库性能影响很小。然后Far Sync实例再将redo异步(asynchronous)发送到终端备库(Standby Database)。
如果redo 传输采用Maximum Performance模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 异步传输redo到Far Sync实例,然后Far Sync实例再负责传输redo到其他多个终端备库(Standby Database)。这样可以减少主库向多个终端备库(Standby Database)传输redo的压力(offload)。
Far Sync配置对于Data Guard 角色转换(role transitions)是透明的,即switchover/failover命令方式与12c之前相同。
考虑到可能发生Data Guard 角色转换,即switchover/failover,可以在距离备库较近的地方也配置Far Sync实例,这个Far Sync实例只有在当前的备库切换为主库后才启用。
考虑到Far Sync实例的单点故障,可以在距离主库交近的地点配置2个Far Sync实例,起到备用的作用。
本文重点是测试Far Sync安装配置。
Far Sync示意图
================


Oracle 12c Active Data Guard Far Sync 详细搭建过程

1.Oracle 12c Active Data Guard Far Sync 概述

Active  Data Guard Far Sync是 oracle 12c的新功能(也称为Far Sync Standby),Far Sync功能的实现是通过在距离主库(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 同步(synchronous)传输redo到Far Sync实例,然后Far Sync实例再将redo异步(asynchronous)传输到终端备库(Standby Database)。这样既可以保证零数据丢失又可以降低主库压力。Far Sync实例只有密码文件,init参数文件和控制文件,而没有数据文件。

如果redo 传输采用Maximum Availability模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database)同步(synchronous)传输redo到Far Sync实例,保证零数据丢失(zero data loss),同时主库和Far Sync距离较近,网络延时很小,因此对主库性能影响很小。然后Far Sync实例再将redo异步(asynchronous)发送到终端备库(Standby Database)。

如果redo 传输采用Maximum Perfo RMANce模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database) 异步传输redo到Far Sync实例,然后Far Sync实例再负责传输redo到其他多个终端备库(Standby Database)。这样可以减少主库向多个终端备库(Standby Database)传输redo的压力(offload)。

Far Sync配置对于Data Guard 角色转换(role transitions)是透明的,即switchover/failover命令方式与12c之前相同。

考虑到可能发生Data Guard 角色转换,即switchover/failover,可以在距离备库较近的地方也配置Far Sync实例,这个Far Sync实例只有在当前的备库切换为主库后才启用。

考虑到Far Sync实例的单点故障,可以在距离主库交近的地点配置2个Far Sync实例,起到备用的作用。

本文重点是测试Far Sync安装配置。

2.Far Sync示意图

Far Sync 实例1 Far Sync 实例2 位于距离主库(Primary Database) 相对较近的地点,主库(PrimaryDatabase) 同步传输redo Far Sync 实例 1 ,实现零数据丢失。 Far  Sync 实例2 是备用实例,当 Far Sync 1 不可用时, Far  Sync2 继续提供服务,达到高可用性。 Far Sync 实例异步传输redo 到远端的多个终端备库(Standby Database) Far  Sync  实例分担了主库传输  redo  的压力。

注:可以在距离终端备库 (Standby  Database) 较近的地点配置  Far  Sync  实例, 这个  Far  Sync  实例只有在当前的备库切换为主库后才启用,本图中没有描述

 

图片.png

3.创建配置Active Data Guard(primary+standby)

创建active data guard方式与11.2相同,详细过程请参考 《oracle12c的data guard 详细搭建过程》

或者你可以直接访问:  https://www.yuhuashi.info/post/8.html

下面只列出系统概述:

 

角色

主库(Primary   Database)

Far Sync实例

备库(Standby Database)

地点

生成中心

距离生成中心较劲的灾备中心

距离生成中心较远的灾备中心

IP地址

192.168.0.30

192.168.0.202

192.168.0.98

DB_UNIQUE_NAME

orcl

orclfs

orcls

数据库版本

12.2.0.1.0

12.2.0.1.0

12.2.0.1.0

 

备注:下面所有操作都是基于 《o RACle12c 的data guard  详细搭建过程》 中的环境。

4.创建配置Far Sync实例

4.1创建密码/init 参数/控制文件

Ø   创建Far Sync实例的控制文件,在主库上执行:

 

SQL> alter database create far sync instance controlfile as '/tmp/controlfs01.ctl';

 

Database altered.

 

Ø   创建Far Sync实例的pfile文件,在主库上执行:

 

SQL> create pfile='/tmp/initorclfs. ORA' from spfile;

 

File created.

 

Ø   将上面的控制文件和参数文件以及密码文件复制到Far Sync实例所在的服务器上:

 

orcl:/tmp@primary>scp initorclfs.ora controlfs01.ctl 192.168.0.98:/tmp

 

orcl: /u01/app/oracle/product/12.2.0/db_1/dbs>scp orapworcl 192.168.0.98:$ORACLE_HOME/dbs

 

Ø   在Far Sync服务器上将刚才传过来的密码文件重命名

 

orclfs:/u01/app/oracle/product/12.2.0/db_1/dbs@farsync>mv orapworcl orapworclfs

4.2监听和TNS配置

Ø   由于监听在上面搭建Data Guard的时候已经在主库上配置好,这里就不需要再配置,只需配置TNS。

主库TNS:

orcl =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

orcls =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcls)

    )

  )

 

orclfs =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.98)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orclfs)

    )

  )

备库TNS:

orcl =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

orcls =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcls)

    )

  )

 

orclfs =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.98)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orclfs)

    )

  )

Ø   这里重点是要配置Far Sync服务器上的监听和TNS,配置如下:

Far Sync 监听:

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = farsync)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

SID_LIST_LISTENER =

 (SID_LIST =

   (SID_DESC =

     (GLOBAL_DBNAME = orclfs)

     (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)

     (SID_NAME = orclfs)

    )

  )

Far Sync TNS:

orcl =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

orcls =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcls)

    )

  )

 

orclfs =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.98)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orclfs)

    )

  )

 

4.3重新调整init初始化参数文件

主库(orcl)

db_unique_name

orcl

control_files

/data/oradata/orcl/control01.ctl,   /data/oradata/orcl/control02.ctl

fal_server

'orcls ',  'orclfs '

log_arc hive_config

DG_CONFIG=(orcl,orclfs,orcls)

log_archive_dest_1

'location=/data/oradata/orcl/archivelog   valid_for=(all_logfiles,all_roles) db_unique_name=orcl'

log_archive_dest_2

'service=orclfs sync affirm max_failure=1   alternate=log_archive_dest_3 valid_for=(online_logfiles,primary_role)   db_unique_name=orclfs '

备注:设置redo同步传输到Far Sync实例orclfs,并且dest_3为备用DEST

log_archive_dest_state_3

alternate

log_archive_dest_3

'service=orcls async   alternate=log_archive_dest_2 valid_for=(online_logfiles,primary_role)   db_unique_name=orcls'

备注:设置dest_3为备用DEST,当DEST_2不可用,redo通过异步传输的方式直接到备库

Far Sync实例(orclfs)

db_unique_name

orclfs

control_files

/data/oradata/orclfs/controlfs01.ctl,   /data/oradata/orcl/controlfs02.ctl

fal_server

orcl

log_archive_config

dg_config=(orcl,orclfs,orcls)

log_archive_dest_1

'location=/data/oradata/orclfs/archivelog   valid_for=(all_logfiles,all_roles) db_unique_name=orclfs'

log_archive_dest_2

'service=orcls async   valid_for=(standby_logfiles,standby_role) db_unique_name=orcls'

备注:设置Far Sync实例异步传输redo到备库

log_file_name_convert

'/data/oradata/orcl','/data/oradata/orclfs'

备库(orcls)

db_unique_name

orcls

control_files

/data/oradata/orcls/control01.ctl,   /data/oradata/orcls/control02.ctl

fal_server

'orcl','orclfs'

log_archive_config

dg_config=(orcl,orclfs,orcls)

log_archive_dest_1

'location=/data/oradata/orcls/archivelog   valid_for=(all_logfiles,all_roles) db_unique_name=orcls'

log_archive_dest_2

''service=orcl valid_for=(online_logfiles,primary_role)   db_unique_name=orcl'

 

备注:尤其注意红色标记部分的配置,有些参数没在这里列出来则表示不需要修改。

4.4重启主备库数据库

根据上面的参数文件修改,我们需要把之前配置好的主备库重启使上面修改的参数生效。

别忘了在备库上开启实时同步:

 

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

Database altered.

 

备注:注意pdb也要启动起来

 

4.5创建实例相应的文件目录

根据上面的Far Sync实例的pfile参数文件里的设置,在Far Sync服务器上创建相应的文件目录:

 

orclfs:/home/oracle@farsync>mkdir -p /u01/app/oracle/admin/orclfs/adump

 

orclfs:/home/oracle@farsync>mkdir -p /data/oradata/orclfs

4.6创建Far Sync实例

Ø   先通过pfile创建spfile

 

SQL> create spfile from pfile='/tmp/initorclfs.ora';

File created.

 

Ø   通过spfile将Far Sync实例启动到nomount状态

 

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area  419430400 bytes

Fixed Size                  8793496 bytes

Variable Size           297796200 bytes

Database Buffers     109051904 bytes

Redo Buffers             3788800 bytes

 

Ø   恢复控制文件

 

orclfs:/home/oracle@farsync>rman target /

 

Recovery Manager: Release 12.2.0.1.0 - Production on Thu Apr 12 09:03:00 2018

 

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORCL (not mounted)

 

RMAN> restore controlfile from '/tmp/controlfs01.ctl';

 

Starting restore at 2018/04/12 09:03:17

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=34 device type=DISK

 

channel ORA_DISK_1: copied control file copy

output file name=/data/oradata/orclfs/controlfs01.ctl

output file name=/data/oradata/orclfs/controlfs02.ctl

Finished restore at 2018/04/12 09:03:18

 

备注:这里也可以直接将之前从主库传过来的控制文件拷贝到Far Sync实例对应控制文件位置下,然后直接启动到mount状态。

 

Ø   启动到mount状态

 

SQL> alter database mount;

Database altered.

 

Ø   创建standby redo log

 

这里我们不需要再创建standby redo log,因为在 《oracle12c的data guard 详细搭建过程》 中我们在主库上面已经早早的把standby redo log 创建好了。

如果之前没有创建过standby redo log,那么这里就需要添加,具体命令如下:

 

SQL> alter database add standby logfile thread 1  GROUP 10 '/data/oradata/orclfs/stb_redo10.log' size 200M;

Database altered.

SQL> alter database add standby logfile thread 1  GROUP 11 '/data/oradata/orclfs/stb_redo11.log' size 200M;

Database altered.

SQL> alter database add standby logfile thread 1  GROUP 12 '/data/oradata/orclfs/stb_redo12.log' size 200M;

Database altered.

SQL> alter database add standby logfile thread 1  GROUP 13 '/data/oradata/orclfs/stb_redo13.log' size 200M;

Database altered.

 

Ø   确认配置

SQL> set line 160

SQL> select * from v$dataguard_config;

 

DB_UNIQUE_NAME  PARENT_DBUN            DEST_ROLE            CURRENT_SCN     CON_ID

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

orcl                             NONE                         PRIMARY DATABASE         3597419           0

orclfs                          orcl                             FAR SYNC INSTANCE       3597433         0

orcls                           orclfs                           PHYSICAL STANDBY       3597433           0

 

此时Far Sync的实例存放路径

orclfs:/home/oracle@farsync>cd /data/oradata/orclfs/

orclfs:/data/oradata/orclfs@farsync>ll

total 1273264

-rw-r----- 1 oracle dba   5033472 Apr 12 09:05 archivelog1_40_972553740.dbf

-rw-r----- 1 oracle dba   1475584 Apr 12 09:05 archivelog1_41_972553740.dbf

-rw-r----- 1 oracle dba  18825216 Apr 12 12:51 controlfs01.ctl

-rw-r----- 1 oracle dba  18825216 Apr 12 12:51 controlfs02.ctl

-rw-r----- 1 oracle dba 209715712 Apr 12 12:44 stb_redo10.log

-rw-r----- 1 oracle dba 209715712 Apr 12 12:51 stb_redo11.log

-rw-r----- 1 oracle dba 209715712 Apr 12 12:50 stb_redo12.log

-rw-r----- 1 oracle dba 209715712 Apr 12 12:43 stb_redo13.log

4.7调整保护级别

从MAXIMUM PERFORMANCE调整到MAXIMUN AVAILABILITY

 

主库:

SQL> alter database set standby database to maximize availability;

 

Database altered

 

SQL> select protection_mode,protection_level from v$database;

 

PROTECTION_MODE      PROTECTION_LEVEL

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

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

5.案例测试

5.1测试#1Redo传输

Ø   主库switch log

图片.png

Ø   主库alert log记录redo传输到Far Sync实例

图片.png

Ø   Fat Sync实例alter log记录FarSync实例接收到redo,并传输redo到备库

图片.png

Ø   备库alert log记录接收到redo并recovery

图片.png

5.2测试#2Far Sync实例不可用

如果只配置了一个Far sync实例,并且LOG_ARCHIVE_DEST_2参数指定了ALERTNATE选项,那么在Far Sync实例不可用的情况下,primary库自动将redo信息发送到LOG_ARCHIVE_DEST_3。即当Far Sync实例不可用,primary库绕过Far Sync实例(orclfs)直接发送redo到备库(orcls),保证传输的连续性,但是primary库保护模式从最大可用模式(MAXIMUM PERFORMANCE)降为最大性能模式(MAXIMUM PERFORMANCE)。

 

Ø   查看保护模式

图片.png

 

Ø   中断Far Sync实例:

图片.png

Far Sync alter log:

图片.png

Ø   Primary库redo切换

图片.png

 

Primary库alter log:

图片.png

以上日志说明primary发现LOG_ARCHIVE_DEST_2不可使用后,自动使用LOG_ARCHIVE_DEST_3,保证了redo继续传输到standby database。

Ø   Far Sync实例启动后,primary自动使用Far Sync实例

图片.png

Primary库alert log

图片.png










About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub、博客园、CSDN和个人微 信公众号( xiaomaimiaolhr)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 646634621 ,注明添加缘由

● 于 2020-03-01 06:00 ~ 2020-03-31 24:00 在西安完成

● 最新修改时间:2020-03-01 06:00 ~ 2020-03-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客户端扫描下面的二维码来关注小麦苗的微 信公众号( xiaomaimiaolhr)及QQ群(DBA宝典)、添加小麦苗微 信, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2681489/,如需转载,请注明出处,否则将追究法律责任。

全部评论
【QQ:646634621】【微信:lhrbestxh】【微信公众号:DB宝】【11g、12c OCM】【QQ群:230161599、618766405】【《数据库笔试面试宝典》作者】【OCP、OCM、高可用(RAC+DG+OGG)、MySQL培训班已开讲,只讲实用内容】

注册时间:2012-09-23

  • 博文量
    1494
  • 访问量
    8672534