ORALCE数据库19c新特性-ADG物理备库DML重定向V
说明
在19c版本中,ADG中的备库支持DML操作,原理是:是通过将备库上的DML重定向到主库上执行,然后备库应用DML变化数据,至此完成备库DML操作。
注:避免在备库上执行过多的DML操作,实际上是在主库上执行。
不支持XA事务中的DML操作。
配置
自动重定向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