ITPub博客

首页 > 数据库 > Oracle > 从物理DG到逻辑DG

从物理DG到逻辑DG

原创 Oracle 作者:静以致远√团团 时间:2014-03-04 10:07:31 0 删除 编辑

配置物理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.


由于逻辑standbyprimary数据库事物不一致,第一次打开必须以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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
每个人都有梦想,去实现吧!

注册时间:2013-11-14

  • 博文量
    164
  • 访问量
    2103463