备库干掉后, 重启主库出现ORA-03113和ORA-16072错误

SQL> startup;
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size                  1220460 bytes
Variable Size             452984980 bytes
Database Buffers         1677721600 bytes
Redo Buffers               15556608 bytes
Database mounted.
ORA-03113: end-of-file on communication channel

alert.log日志错误信息:

Thu Aug 13 09:21:15 2009
LGWR: Primary database is in MAXIMUM AVAILABILITY mode
LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR
LGWR: Minimum of 1 synchronous standby database required
Thu Aug 13 09:21:15 2009
Errors in file /u01/app/oracle/admin/esuite/bdump/esuite_lgwr_3948.trc:
ORA-16072: Message 16072 not found; No message file for product=RDBMS, facility=ORA
Thu Aug 13 09:21:15 2009
Errors in file /u01/app/oracle/admin/esuite/bdump/esuite_lgwr_3948.trc:
ORA-16072: Message 16072 not found; No message file for product=RDBMS, facility=ORA
LGWR: terminating instance due to error 16072
Instance terminated by LGWR, pid = 3948

原因是最大性能模式(最大保护模式也一样)要求备库是可通信的, 而原先只是把备库干掉了, 但没有把保护模式做更改, 所以主库重启会有错误. 现在只要在打开数据库前把改为最大性能模式即可.

SQL> startup mount;
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size                  1220460 bytes
Variable Size             452984980 bytes
Database Buffers         1677721600 bytes
Redo Buffers               15556608 bytes
Database mounted.
SQL> alter database set standby database to maximize performance;

Database altered.

SQL> alter database open;

Database altered.

SQL>