关于新参数DB_UNRECOVERABLE_SCN_TRACKING

2015-07-24 08:33:13 · 作者: · 浏览: 0

DB_UNRECOVERABLE_SCN_TRACKING这个参数是从11.2.0.2才有的,看官方文档介绍如下:

?

Default value true
Modifiable ALTER SESSION, ALTER SYSTEM
Range of values true | false
Basic No
Oracle RAC Multiple instances must have the same value

?

DB_UNRECOVERABLE_SCN_TRACKING enables or disables the tracking of unrecoverable (NOLOGGING) direct-path insert and load operations.

When the value is set to true, updates are made to the controlfile that maintains the V$DATAFILE.UNRECOVERABLE_CHANGE# andV$DATAFILE.UNRECOVERABLE_TIME columns. When the value is set to false, updates are not made to the controlfile. Setting this parameter tofalse may improve performance of direct-path NOLOGGING operations.

----------------此参数默认值为True,如果设置为false,带有nologging的更新操作就不能更新到控制文件了。Performance of the NOLOGGING load operation could be limited by the control file write I/O. 如果设置为flase,将会提升直接路径nologging的性能。

多个实例必须有一样的值。可以从v$datafile的下面几个列可以查到:

UNRECOVERABLE_CHANGE#
UNRECOVERABLE_TIME
FIRST_NONLOGGED_SCN
FIRST_NONLOGGED_TIME

这个参数在11.2.0.2上有BUG,官方发布的BUG如下:

Bug 12360160 - ALTER SYSTEM / SESSION of DB_UNRECOVERABLE_SCN_TRACKING has no effect (文档 ID 12360160.8)

Dynamically changing DB_UNRECOVERABLE_SCN_TRACKING with

?

ALTER SESSION or ALTER SYSTEM has no effect on the value used. Rediscovery Notes: The DB_UNRECOVERABLE_SCN_TRACKING init.ora parameter can be modified dynamically but the change has no effect; the code uses the value from instance startup, and this startup value determines whether the unrecoverable scn/timestamp is recorded in the controlfile (datafile section) for nologging writes. Workaround If DB_UNRECOVERABLE_SCN_TRACKING is set to TRUE at startup, then event 10359 level 1 can be used to dynamically disable (then later dynamically enable) unrecoverable scn/timestamp tracking in the controlfile: alter system set events '10359 trace name context forever, level 1'; alter system set events '10359 trace name context off'; But, if DB_UNRECOVERABLE_SCN_TRACKING is set to FALSE at startup, there is no workaround to dynamically over-ride this setting ie the unrecoverable scn/timestamp will not be tracked.

?

这个BUG已经在11.2.0.3上已经修复了。