Oracle 12c 的DataGuard 是在CDB 级别进行的,所以我们的配置都是从CDB角度出发。
测试里主备库的数据库CDB名称相同。
1 环境说明
OS Version: [root@dave etc]# cat /etc/oracle-release Oracle Linux Server release 6.3 [root@dave etc]# uname -r 2.6.39-200.29.3.el6uek.x86_64 DB Version: SQL> select * from v$version; BANNER CON_ID ------------------------------------------------------------------------------------------ Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production 0 PL/SQL Release 12.1.0.1.0 - Production 0 CORE 12.1.0.1.0 Production 0 TNS for Linux: Version 12.1.0.1.0 -Production 0 NLSRTL Version 12.1.0.1.0 - Production 0 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ---------------------------------------- ---------- 2 PDB$SEED READ ONLY NO 3 PCNDBA READ WRITE NO SQL>
?
实例名:
| Database |
DB_UNIQUE_NAME |
Oracle Net Service Name |
| Primary |
PCNDBA_P |
PCNDBA_P |
| Physical standby |
PCNDBA_S |
PCNDBA_S |
?
?
IP 地址:
[root@dave network-scripts]# cat /etc/hosts 127.0.0.1 localhost dave 192.168.56.3 dg1 192.168.56.4 dg2 [root@dave network-scripts]#
这里用主库上的PDB:PCNDBA 做我们的主库。
?
?
2 主库启动FORCE LOGGING
SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PCNDBA READ WRITE SQL> alter database force logging; Database altered. SQL> select force_logging fromv$database; FORCE_LOGGING --------------------------------------- YES
3 启动归档模式
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 14 Current log sequence 16 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1620115456 bytes Fixed Size 2288920 bytes Variable Size 1040188136 bytes Database Buffers 570425344 bytes Redo Buffers 7213056 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL>
这里归档直接放在FRA里了:
SQL> show parameter recovery NAME TYPE VALUE ------------------------------------ ----------------------------------------- db_recovery_file_dest string /home/ora12c/app/oracle/fast_recovery_area db_recovery_file_dest_size big integer 4800M recovery_parallelism integer 0 SQL> alter system setdb_recovery_file_dest_size=10G; System altered. SQL> show parameter recovery NAME TYPE VALUE ----------------------------------------------- ------------------------------ db_recovery_file_dest string /home/ora12c/app/oracle/fast_recovery_area db_recovery_file_dest_size biginteger 10G recovery_parallelism integer 0 SQL> SQL> alter database open; Database altered. SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PCNDBA MOUNTED SQL> alter pluggable database pcndbaopen; Pluggable database altered