如何将物理备用数据库设置为“只能以应用方式读取”模式

问题描述:

我在备用数据库(版本:Oracle Database 11g企业版版本11.2.0.1.0)中以“MOUNTED”模式运行。如何将物理备用数据库设置为“只能以应用方式读取”模式

SQL> select database_role,open_mode from v$database; 

DATABASE_ROLE OPEN_MODE 
---------------- -------------------- 
PHYSICAL STANDBY MOUNTED 
当我想从“安装式”改变OPEN_MODE

为“只读使用了APPLY”模式,错误(ORA-01093)将会发生。

SQL> SHUTDOWN IMMEDIATE; 
ORA-01109: database not open 


Database dismounted. 
ORACLE instance shut down. 
SQL> STARTUP MOUNT; 
ORACLE instance started. 

Total System Global Area 2.7793E+10 bytes 
Fixed Size     2189008 bytes 
Variable Size   1.1207E+10 bytes 
Database Buffers   1.6576E+10 bytes 
Redo Buffers    7385088 bytes 
Database mounted. 
SQL> ALTER DATABASE OPEN READ ONLY; 

Database altered. 

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; 
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 
* 
ERROR at line 1: 
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected 

如何解决错误,换句话说如何杀死其他会话?

正确的语法如下所示:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT USING CURRENT LOGFILE; 

我们前面已经升级了从10g版本(10.2.0.4.0)到11gR2的(11.2.0.1.0)数据库,然后才能使用Active Data Guard的兼容参数必须至少设置为11.0.0。 兼容参数的当前值为10.2.0.4.0,如以下查询所示:

SQL> show parameter compatible 

NAME         TYPE  VALUE 
------------------------------------ ----------- ------------------------------ 
compatible       string  10.2.0.4.0