提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用。
从Oracle的系统表中,我们知道Oracle存在一个隐含参数_disable_logging可以用于禁用日志生成,这个参数显然只能用于测试目的(可以极大提高Benchmark测试的性能),禁止日志生成必然导致事务的不可恢复性。
下面,对这个参数做一个简单测试,过程如下:
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 1月 26 14:46:48 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>
SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%logging';
KSPPINM
--------------------------------------------------------------------------------
KSPPDESC
----------------------------------------------------------------------------------------------------------------------------------------------------------------
_disable_logging
Disable logging
SQL> alter system set "_disable_logging"=true;
系统已更改。
SQL> create table testlog as select * from dba_objects;
表已创建。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area 1207959552 bytes
Fixed Size 2020352 bytes
Variable Size 234884096 bytes
Database Buffers 956301312 bytes
Redo Buffers 14753792 bytes
数据库装载完毕。
数据库已经打开。
SQL> select count(1) from testlog;
select count(1) from testlog
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
由于未产生相应日志,数据库crash或shutdown abort之后,上一次成功完成的检查点之后变化的数据将无法恢复。
从日志中我们可以看到在instance recovery中,没有数据被恢复,只有成功完成的上次检查点之前数据可以被获取,之后数据都将丢失。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9399028/viewspace-686341/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9399028/viewspace-686341/