SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY PHYSICAL STANDBY
SQL>
做了如下操作
SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL>
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY WITH APPLY PHYSICAL STANDBY
SQL>
open_mode变成了read only with apply,这是为什么? 这两种有何区别?
------解决思路----------------------
有没有进行redo应用的区别
你不是都执行了alter操作了,还问有什么区别,难道是不知道这个命令干什么用的
------解决思路----------------------
首先说,是否明白 alter database recover managed standby database disconnect from session; 这句话的作用。
其含义就是启动日志应用。
那么,open_mode 变成了 READ ONLY WITH APPLY 就可以理解了吧。
To start Redo Apply in the background, include the DISCONNECT keyword on the
SQL statement. For example:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
This statement starts a detached server process and immediately returns control to the user. While the managed recovery process is performing recovery in the
background, the foreground process that issued the RECOVER statement can continue performing other tasks. This does not disconnect the current SQL session.
------解决思路----------------------
物理STANDBY数据库有三种open_mode:
1. MOUNT ;加载模式,可应用从主库传递过来的重做日志;
2. READ_ONLY ;只读模式,无法应用重做日志;
3. READ ONLY WITH APPLY ;11g新加入,只读模式打开,同时可应用重做日志,大大增强了DG的应用范围,比如可提供报表查询;