WEB开发网
开发学院数据库Oracle Oracle 11G RAC的STANDBY环境的一些问题 阅读

Oracle 11G RAC的STANDBY环境的一些问题

 2008-10-25 12:57:49 来源:WEB开发网   
核心提示: 显然Oracle不允许一个实例进行恢复的时候,另外一个实例只读打开,Oracle 11G RAC的STANDBY环境的一些问题(3),不过Oracle11g是允许当前实例进行恢复的同时打开数据库的,而且这个实例只读打开数据库后,仍然是无法访问的,而且存在bug,另外一个实例也可以只读打开,

显然Oracle不允许一个实例进行恢复的时候,另外一个实例只读打开。

不过Oracle11g是允许当前实例进行恢复的同时打开数据库的,而且这个实例只读打开数据库后,另外一个实例也可以只读打开。具体的过程可以参考:

但是这种情况下,Oracle会自动停止后台的恢复过程。

而且似乎一旦这种情况发生过,下次就没有办法再次在恢复的时候打开数据库,这时会报错:

SQL>alterdatabaseopen;
alterdatabaseopen

*第 1 行出现错误:ORA-01154: 数据库忙。现在不允许打开, 关闭, 装载和卸装

现在还不清楚为什么会出现这个ORA-1154的错误,怀疑是bug导致的,但是这个错误的出现意味着无法在恢复的时候只读打开了。

下面从另一个方面验证这种情况:

SQL>alterdatabaserecovermanagedstandbydatabasecancel;

数据库已更改。

SQL>alterdatabaseopen;

数据库已更改。

把另一个节点也打开:

SQL>alterdatabaseopen;

数据库已更改。

下面在实例1关闭数据库,并尝试进行恢复:

SQL>alterdatabaseclose;

数据库已更改。

SQL>alterdatabaserecovermanagedstandbydatabasedisconnectfromsession;

数据库已更改。

似乎成功了,但是通过查询V$DATAGUARD_STATUS就可以看到,实际上恢复过程报错停止了:

SQL>selectmessagefromv$dataguard_status
2wheremessage_num>(selectmax(message_num)-2fromv$dataguard_status);
MESSAGE
--------------------------------------------------------------------------------------
MRP0:BackgroundMediaRecoveryterminatedwitherror1153
MRP0:BackgroundMediaRecoveryprocessshutdown

通过下面的命令也可以看到,实际上当前并没有进行恢复:

SQL>alterdatabaserecovermanagedstandbydatabasecancel;
alterdatabaserecovermanagedstandbydatabasecancel

*第 1 行出现错误:ORA-16136: 受管备用恢复未激活

可以看到,Oracle虽然在11g支持了应用归档的时候只读打开。但是对于另外一个节点,仍然是无法访问的。而且存在bug,会导致本节点在应用归档日志的时候也无法只读打开数据库。

上一页  1 2 3 

Tags:Oracle RAC STANDBY

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接