SQL> select protection_mode from v$database;
PROTECTION_MODE
--------------------
MAXIMUM PROTECTION
模式切换的完全的语法如下:
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION |
AVAILABILITY | PERFORMANCE}
IXDBA.NET技术社区
在切换测试中经常遇到问题:
ARC0 started with pid=15, OS id=2596
LGWR: Primary database is in MAXIMUM PROTECTION mode
LGWR: Destination LOG_ARCHIVE_DEST_2 is using asynchronous network I/O
LGWR: Destination LOG_ARCHIVE_DEST_1 is not standby database serviced by LGWR
LGWR: Minimum of 1 synchronous standby database required
Thu Mar 22 15:01:48 2007
Errors in file d:\oracle\product\10.2.0\admin\orcl\bdump\orcl_lgwr_2392.trc:
ORA-16072: a minimum of one standby database destination is required
ORA-16086: standby database does not contain available standby log files
出现该错误原因是:
1、primary database 的模式是 MAXIMUM PROTECTION
将其改为 maximum performance 即可
2、standby 缺少 standby redo
3、LOG_ARCHIVE_DEST_2 参数设置不正确
MAXIMUM PROTECTION 模式下 primary、standby 库的相互切换
1、查看 orcl 库的相关信息
orcl 库:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL> select protection_mode from v$database;
PROTECTION_MODE
--------------------
MAXIMUM PROTECTION
SQL> alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby
*
第 1 行出现错误:
ORA-01093: ALTER DATABASE CLOSE 仅允许在没有连接会话时使用
错误原因:此时 orcl 库有连接的会话,将其关闭即可。
SQL> alter database commit to switchover to physical standby;
数据库已更改。
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;