關於新參數DB_UNRECOVERABLE_SCN_TRACKING,unrecoverablefault
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上已經修複了。