以只读模式打开物理备库的时候,遇到ORA-16006错误

以只读模式打开物理备库的时候,遇到ORA-16006错误

SYS|544 SQL> alter database recover managed standby database cancel;

Database altered.

Elapsed: 00:00:03.02
SYS|544 SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-16006: audit_trail destination incompatible with database open mode


Elapsed: 00:00:00.01
SYS|544 SQL> !oerr ora 16006
16006, 00000, "audit_trail destination incompatible with database open mode"
// *Cause: The audit_trail initialization parameter was set to "DB" (or
//          TRUE), which is incompatible with a database opened for read-only
//          access.
// *Action: When the database is opened for read-only access, the audit_trail
//          initialization parameter can only be set to "OS" or "NONE" (FALSE).
//     

SYS|544 SQL> show parameter audit_trail;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB, EXTENDED

后来查了一下,发现是主库设置了审计数据存放到数据库表这个参数,而备库参数是从主库参数修改过来的,现在由于备库要打开只读模式,所以有冲突,那就把审计信息放倒操作系统目录下吧。

SYS|544 SQL> alter system set audit_trail='os' scope=spfile;         

System altered.

Elapsed: 00:00:00.01
SYS|544 SQL> shutdown immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SYS|544 SQL> startup mount;
ORACLE instance started.
Total System Global Area 335544320 bytes
Fixed Size                  1219304 bytes
Variable Size             104858904 bytes
Database Buffers          226492416 bytes
Redo Buffers                2973696 bytes
Database mounted.
SYS|544 SQL> alter database open read only;

Database altered.

Elapsed: 00:00:03.32

只读模式打开成功。以后如果这个备库switchover或failover成主库的时候,它的审计信息会放到audit_file_dest参数指定的目录里。


SYS|544 SQL> show parameter audit_trail
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      OS
SYS|544 SQL> show parameter audit_file
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/PHYSTDBY
                                                 /adump
SYS|544 SQL> 

看来要注意的细节问题还很多。

--End--
请使用浏览器的分享功能分享到微信等