要先满足以下几个条件 Table 6-1 Required Redo Transport Attributes for DataProtection Modes
vcnQgQXR0cmlidXRlcyBmb3IgRGF0YSBQcm90ZWN0aW9uIE1vZGVz">
| Maximum Availability |
Maximum Performance |
Maximum Protection |
| AFFIRM or NOAFFIRM |
NOAFFIRM |
AFFIRM |
| SYNC |
ASYNC |
SYNC |
| DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
DB_UNIQUE_NAME |
Minimum Requirements for Maximum Protection Mode
| Redo Archival Process |
LGWR |
| Network Transmission Mode |
SYNC |
| Disk Write Option |
AFFIRM |
| Standby Redo Logs? |
Yes |
| Standby Database Type |
Physical Only |
For example:
| log_archive_dest_2='service=testdb_standby LGWR SYNC AFFIRM' |
主库上查看DG状态
SQL> select db_unique_name,protection_mode,protection_level from v$database;
DB_UNIQUE_NAME PROTECTION_MODEPROTECTION_LEVEL
-------------------------------------------------- --------------------
ORCL_PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
备库上查看DG状态
SQL> select db_unique_name,protection_mode,protection_level from v$database;
DB_UNIQUE_NAME PROTECTION_MODEPROTECTION_LEVEL
-------------------------------------------------- --------------------
orcl_standby MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
在主库上设置DG保护模式为最高可用性模式
SQL> alter database set standby database to maximize availability;
再次查看主库、备库,发现DG保护模式都已经变了。
主库
SQL> select db_unique_name,protection_mode,protection_level from v$database;
DB_UNIQUE_NAME PROTECTION_MODEPROTECTION_LEVEL
-------------------------------------------------- --------------------
ORCL_PRIMARY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
备库
SQL> select db_unique_name,protection_mode,protection_level from v$database;
DB_UNIQUE_NAME PROTECTION_MODEPROTECTION_LEVEL
-------------------------------------------------- --------------------
orcl_standby MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
将备库shutdown后,主库和备库的PROTECTION_LEVEL将变为RESYNCHRONIZATION
SQL> select db_unique_name,protection_mode,protection_level from v$database;
DB_UNIQUE_NAME PROTECTION_MODEPROTECTION_LEVEL
-------------------------------------------------- --------------------
orcl_standby MAXIMUM AVAILABILITY RESYNCHRONIZATION
备库执行
取消Redo Apply
SQL> alter database recover managedstandby database cancel;
SQL> shutdown immediate
SQL> selectdb_unique_name,protection_mode,protection_level from v$database;
六、体验实时查询(Real-timequery)特性 (可选)
1)主库上创建表空间、用户以及表并初始化数据
(1)创建表空间并查看表空间创建结果和状态
SQL> create tablespace test_tbs datafile '/data/oracle/app/oracle/oradata/orcl/test_tbs01.dbf' size 10m;
SQL> select * from v$tablespace where name = 'TEST_TBS';
SQL> select ts#,status,bytes,name fromv$datafile where ts# = 8;
(2)创建用户并授权
SQL> create user islandstar identifiedby 123456 default tablespace test_tbs;
SQL> grant dba to islandstar;
(3)创建表并初始化数据
$ sqlplus /nolog
SQL> conn islandstar/123456
SQL> create table t (x varchar2(8));
SQL> insert into t values ('islandstar');
SQL> commit;
SQL> select * from t;
X
--------
Secooler
4)验证主库所创建表空间、用户以及表并初始化数据是否在备库应用成功
(1)查看备库表空间
SQL> select * from v$tablespace where name = 'TEST_TBS';
TS# NAME INCBIG FLA ENC
---------- --------------------------------- --- --- ---
8SECOOLER_TBS YES NO YES
SQL> select ts#,status,bytes,name from v$datafile where ts# = 8;
TS# STATUS BYTES
---------- ------- ----------
NAME
--------------------------------------------------------------------------------
8 RECOVER 10485760
/data/