Oracle 19.3 dataguard环境下同步新增pdb

1、建设需求:
  同步主库新迁入pdb_test01到备库端,尽量减少对备库访问的影响,在备库read only状态下对新迁入的pdb进行数据恢复。
2、环境配置
操作系统版本redhat 7.6
数据库版本19.3.0
primary databasecdbtest01
standby databasecdbtest01_std
新迁PDB(待同步)pdb_test01

Note:由于主库创建pdb_test01时,create pluggable database子句中未指定standby同步参数,在主库进行create pluggable database操作之后,备库相关的pdb_test01文件为offline状态,该pdb为mounted状态。

3、操作步骤

1)、备份新增pdb(主库端执行)

source /home/oracle/.bash_profile
$ORACLE_HOME/bin/rman target / log=/home/oracle/rman_pdb_test01.log <<EOF
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
BACKUP  as compressed backupset incremental level 0  PLUGGABLE DATABASE pdb_test01
tag hot_bk_level0
format '/backup/ora-rman/cdbtest01/pdb_test01_%d_%T_%s_%p_%t';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
} 
EOF

2)、查看当前备库状态(备库端执行)

--pdb状态
 show pdbs
    CON_ID CON_NAME                      OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBTEST01                      MOUNTED
         4 PDBTEST02                      READ ONLY  NO
         6 PDB_TEST03                     READ ONLY  NO
--备库同步状态	
set line 500
col source_db_unique_name for a20
col name for a30
col value for a20
col unit for a30
select * from v$dataguard_stats;

SOURCE_DBID SOURCE_DB_UNIQUE_NAM NAME                           VALUE                UNIT                           TIME_COMPUTED                  DATUM_TIME                         CON_ID
----------- -------------------- ------------------------------ -------------------- ------------------------------ ------------------------------ ------------------------------ ----------
 1625247602 cdbtest01              transport lag                  +00 00:00:00         day(2) to second(0) interval   06/01/2020 16:27:07            06/01/2020 16:27:06                     0
 1625247602 cdbtest01              apply lag                      +00 00:01:35         day(2) to second(0) interval   06/01/2020 16:27:07            06/01/2020 16:27:06                     0
 1625247602 cdbtest01              apply finish time              +00 00:00:01.487     day(2) to second(3) interval   06/01/2020 16:27:07                                                    0
          0                      estimated startup time         24                   second                         06/01/2020 16:27:07                                                    0

3)、使备库待恢复pdb_test01处于disable recovery状态,不影响现有备库其他pdb进行mgr日志应用(备库端执行)

alter PLUGGABLE DATABASE pdb_test01 disable recovery;

SELECT name, open_mode, recovery_status FROM  v$pdbs;

NAME                 OPEN_MODE            RECOVERY
-------------------- -------------------- --------
PDB$SEED             READ ONLY            ENABLED
PDB_TEST03           READ ONLY            ENABLED
PDB_TEST02           READ ONLY            ENABLED
PDB_TEST01           MOUNTED              DISABLED

4)、cdb处于open read only模式下,备库执行单个pdb恢复(备库端执行)

SQL> select OPEN_MODE from v$database;

OPEN_MODE
-------------------- -------------------- --------
READ ONLY WITH APPLY

rman target /

catalog start with '/backup/ora-rman/cdbtest01/';

CONFIGURE DEVICE TYPE DISK PARALLELISM 16;
 
restore PLUGGABLE DATABASE pdb_test01;

5)、设置redo路径转换(备库端执行)

--设置路径转换参数
alter system set log_file_name_convert='+REDO_DG/cdbtest01/', '/u01/oradata/cdbtest01_std/' scope=spfile;

shutdown immediate

startup mount

show parameter conver

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
log_file_name_convert                string     +REDO_DG/cdbtest01/, /u01/oradata/cdbtest01_std/

--检查redo日志是否转换

select member from v$logfile

--alert日志存在如下报错,更新standby crontrol file日志文件状态

2020-06-01T22:02:52.504641+08:00
Errors in file /u01/app/oracle/diag/rdbms/cdbtest01/cdbtest01_std/trace/cdbtest01_lgwr_40010.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: /u01/oradata/cdbtest01_std/onlinelog/group_1.258.1018718267'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7

alter database clear logfile group n;

6)、恢复完执行新增同步pdb enable recover

col name for a20
col open_mode for a20
set line 200
SELECT name, open_mode, recovery_status FROM  v$pdbs;
alter session set container=pdb_test01
alter pluggable database pdb_test01 enable recovery;
alter database recover managed standby database using current logfile disconnect from session;

7)、检查备库同步状态

set line 500
col source_db_unique_name for a20
col name for a30
col value for a20
col unit for a30
select * from v$dataguard_stats;

SOURCE_DBID SOURCE_DB_UNIQUE_NAM NAME                           VALUE                UNIT                           TIME_COMPUTED                  DATUM_TIME                         CON_ID
----------- -------------------- ------------------------------ -------------------- ------------------------------ ------------------------------ ------------------------------ ----------
 1625247601 cdbtest01              transport lag                  +00 00:00:00         day(2) to second(0) interval   06/01/2020 16:27:07            06/01/2020 16:27:06                     0
 1625247601 cdbtest01              apply lag                      +00 00:01:35         day(2) to second(0) interval   06/01/2020 16:27:07            06/01/2020 16:27:06                     0
 1625247601 cdbtest01              apply finish time              +00 00:00:01.487     day(2) to second(3) interval   06/01/2020 16:27:07                                                    0
          0                      estimated startup time         24                   second                         06/01/2020 16:27:07                                                    0
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值