ORALCE数据库19c新特性-ADG物理备库DML重定向V

说明

在19c版本中,ADG中的备库支持DML操作,原理是:是通过将备库上的DML重定向到主库上执行,然后备库应用DML变化数据,至此完成备库DML操作。

注:避免在备库上执行过多的DML操作,实际上是在主库上执行。

不支持XA事务中的DML操作。

ORALCE数据库19c新特性-ADG物理备库DML重定向V

配置

自动重定向DML操作支持会话级别和系统级别,会话级别会覆盖系统级别配置。

  • 在所有备库上启用DML重定向
    将初始化参数ADG_REDIRECT_DML设置为true
  • 将初始化参数ADG_REDIRECT_DML设置为true

ALTER SYSTEM SET ADG_REDIRECT_DML=true SCOPE=BOTH;

  • 当前会话启用DML重定向

ALTER SESSION ENABLE ADG_REDIRECT_DML;

具体例子

会话级别的DML重定向

  • 确认当前数据库角色

SQL>  select open_mode,database_role from v$database;

OPEN_MODE                                DATABASE_ROLE
---------------------------------------- --------------------------------
READ ONLY WITH APPLY                     PHYSICAL STANDBY

  • 在备库上启用会话级别DML重定向

SQL> conn system/oracle --非sys用户

Connected.

SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;

Session altered.

SYS不支持adg dml重定向。

注意:不支持sys用户会话启用:ORA-16397: statement redirection from Oracle Active Data Guard standby database to primary database failed