Oracle 10g RAC环境数据库执行ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL DATABASE操作,试图将当前的物理STANDBY数据库切
试图将当前的物理STANDBY数据库切换为PRIMARY数据库时,出现下面的错误:
SQL> CONN SYS/TEST@TESTRAC_STANDBY AS SYSDBA
从报错的trace文件中,,可以看到下面的内容:
Metalink虽然指出了问题和RECOVERY AREA有关,但是并没有给出相应的解决方法,而且Oracle目前的版本还没有fixed这个bug,目前也没有任何补丁可以解决这个bug。
SQL> CONN SYS/TEST@TESTRAC2 AS SYSDBA
数据库已更改。
SQL> ALTER DATABASE OPEN;
数据库已更改。
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
下面将从库恢复:
SQL> CONN SYS/TEST@TESTRAC_STANDBY AS SYSDBA
数据库已更改。
SQL> SELECT DATABASE_ROLE, SWITCHOVER_STATUS FROM V$DATABASE;
至此DATA GUARD环境恢复。
下面DISABLE主库的RECOVERY AREA:
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '';
系统已更改。
SQL> SHOW PARAMETER DB_RECOVERY
仔细查看从库上的错误信息,ORA-600错误的第一个参数是一个日志文件名,而这个文件正是RECOVERY AREA的日志: