配置物理DataGuard到逻辑DataGuard
环境:需要物理Data Guard作为基础,物理Data Guard的配置过程前面已经演练过
1、执行DBMS_LOGSTDBY.BUILD过程,生成数据字典
在执行该过程之前,要确保standby数据库停止了REDO应用
STANDBY > alter database recover managed standby database cancel;
PRIMARY > execute DBMS_LOGSTDBY.BUILD
PL/SQL procedure successfully completed.
2、将物理standby数据库转换为逻辑standby数据库
STANDBY > select name from v$database;
NAME
---------
ORCL
STANDBY > alter database recover to logical standby orcl_lg;
Database altered.
关闭数据库并重启至mount状态
STANDBY > shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
STANDBY > startup mount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 62916852 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
Database mounted.
查看当前数据库DB_NAME和数据库角色都已经发生过改变
STANDBY > select name,database_role from v$database;
NAME DATABASE_ROLE
--------- ----------------
ORCL_LG LOGICAL STANDBY
3、设置primary数据库端发来的归档文件接受路径为arch1
STANDBY > alter system set log_archive_dest_1='location=/u01/arch1 valid_for=(standby_logfiles, standby_role) db_unique_name=orcl2';
System altered.
设置本地生成的归档文件路径为arch
STANDBY > alter system set log_archive_dest_3='location=/u01/arch valid_for=(online_logfiles, all_roles) db_unique_name=orcl2';
System altered.
由于逻辑standby与primary数据库事物不一致,第一次打开必须以resetlogs模式打开
STANDBY > alter database open resetlogs;
Database altered.
4、开始REDO应用数据
STANDBY > alter database start logical standby apply;
Database altered.
启动实时应用:(可选)
添加几组Standby Redologs
STANDBY > alter database add standby logfile group 4 '/u01/app/oracle/oradata/orcl_s/lg_stdredo01.log' size 50m;
Database altered.
STANDBY > alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl_s/lg_stdredo02.log' size 50m;
Database altered.
STANDBY > alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl_s/lg_stdredo03.log' size 50m;
Database altered.
关闭REDO,并再次打开,进入APPLY IMMEDIATE命令来实现实时应用
STANDBY > alter database stop logical standby apply;
Database altered.
STANDBY > alter database start logical standby apply immediate;
Database altered.
逻辑standby配置完成
5、验证:
primary数据库添加一条数据
PRIMARY > select * from SCOTT.DG_TEST;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
PRIMARY > insert into SCOTT.DG_TEST
2 values('DG_TEST_4')
3 /
1 row created.
PRIMARY > select * from SCOTT.DG_TEST;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
DG_TEST_4
提交,并执行一次归档
PRIMARY > commit;
Commit complete.
PRIMARY > alter system switch logfile;
System altered.
standby数据库端直接查看数据
STANDBY > select * from scott.DG_TEST;
ID
----------
DG_TEST_1
DG_TEST_2
DG_TEST_3
DG_TEST_4
数据成功传输到逻辑standby端,逻辑standby配置完整
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29320885/viewspace-1100540/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29320885/viewspace-1100540/