|
I agree with 玉面飞龙. After add supplemental log, the parameter is still true, but actually it is disabled.
SQL> alter database add supplemental log data;
Database altered.
SQL> select n.name, s.value from v$statname n, v$sesstat s
2 where n.statistic# = s.statistic#
3 and s.sid = (select sid from v$mystat where rownum = 1)
4 and n.name in ('IMU Flushes','IMU commits');
NAME VALUE
---------------------------------------------------------------- ----------
IMU commits 1
IMU Flushes 1
SQL> update t set owner = 'X' where rownum = 1;
1 row updated.
SQL> commit;
Commit complete.
SQL> select n.name, s.value from v$statname n, v$sesstat s
2 where n.statistic# = s.statistic#
3 and s.sid = (select sid from v$mystat where rownum = 1)
4 and n.name in ('IMU Flushes','IMU commits');
NAME VALUE
---------------------------------------------------------------- ----------
IMU commits 1
IMU Flushes 1
SQL> select ksppstvl from x$ksppsv where indx = (select indx from x$ksppi where ksppinm = '_in_memory_undo');
KSPPSTVL
-----------------------------------------------------------------------------------------------------------------------------------------------
TRUE
SQL> !ora params _in_memory_undo
NAME VALUE DESCRIPTION
--------------------------------------------- -------------------- ----------------------------------------------------------------------
_in_memory_undo TRUE Make in memory undo for top level transactions
SQL> alter database drop supplemental log data;
Database altered.
SQL> update t set owner = 'X' where rownum = 1;
1 row updated.
SQL> commit;
Commit complete.
SQL> select n.name, s.value from v$statname n, v$sesstat s
2 where n.statistic# = s.statistic#
3 and s.sid = (select sid from v$mystat where rownum = 1)
4 and n.name in ('IMU Flushes','IMU commits');
NAME VALUE
---------------------------------------------------------------- ----------
IMU commits 2
IMU Flushes 1
[ 本帖最后由 eagle_fan 于 2008-11-28 15:07 编辑 ] |
|