« ORA-00600 [2662]错误解决过程 | Blog首页 | Oracle Hidden Parameter:_allow_resetlogs_corruption »
Oracle Hidden Parameter:_disable_logging
作者:eygle |【转载时请以超链接形式标明文章出处和作者信息及本声明】链接:http://www.eygle.com/archives/2005/10/oracle_hidden_disable_logging.html
提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用。
从Oracle的系统表中,我们知道Oracle存在一个隐含参数_disable_logging可以用于禁用日志生成,这个参数显然只能用于测试目的(可以极大提高Benchmark测试的性能),禁止日志生成必然导致事务的不可恢复性。
SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%logging'; KSPPINM KSPPDESC -------------------- ------------------------------ _disable_logging Disable logging |
因为特殊的需要,对这个参数进行了一点简单测试:
1.设置参数
[oracle@jumper bdump]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Wed Oct 19 11:01:19 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning option JServer Release 9.2.0.4.0 - Production SQL> alter system set "_disable_logging"=true scope=both; System altered. |
2.事务测试
SQL> create table t as select * from dba_users;
Table created.
SQL> select count(*) from t;
COUNT(*)
----------
12
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 97588504 bytes
Fixed Size 451864 bytes
Variable Size 33554432 bytes
Database Buffers 62914560 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> select count(*) from t;
select count(*) from t
*
ERROR at line 1:
ORA-00942: table or view does not exist
|
由于未产生相应日志,数据库crash或shutdown abort之后,上一次成功完成的检查点之后变化的数据将无法恢复。
从日志中我们可以看到在instance recovery中,没有数据被恢复,只有成功完成的上次检查点之前数据可以被获取,之后数据都将丢失。
Wed Oct 19 20:38:38 2005 Beginning crash recovery of 1 threads Wed Oct 19 20:38:38 2005 Started first pass scan Wed Oct 19 20:38:39 2005 Completed first pass scan 0 redo blocks read, 0 data blocks need recovery Wed Oct 19 20:38:39 2005 Started recovery at Thread 1: logseq 2, block 201, scn 0.897632464 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0 Mem# 0 errs 0: /opt/oracle/oradata/conner/redo01.log Wed Oct 19 20:38:39 2005 Completed redo application Wed Oct 19 20:38:39 2005 Ended recovery at Thread 1: logseq 2, block 201, scn 0.897652465 0 data blocks read, 0 data blocks written, 0 redo blocks read Crash recovery completed successfully |
历史上的今天...
>> 2006-10-19文章:
------
这篇 【Oracle Hidden Parameter:_disable_logging】来自 eygle.com | CSDN网摘| del.icio.us|Google订阅 | 鲜果订阅 | 抓虾订阅
By eygle on 2005-10-19 20:50 | Comments (1) | Posted to Internal | Edit |Pageviews:
| 相关文章 | 随机文章 |
|
纯真年代 EMC Firmware/Software升级成功完成 装修日记:安信地板之无商不奸篇 使用触发器实现数据库级守护,防止DDL操作 欢迎加入ChinaOracleBlogger地图 |
Listed below are links to weblogs that reference Oracle Hidden Parameter:_disable_logging:
» 隐含参数_disable_logging的几点说明 from Friends Life and Oracle
在很久以前,曾经介绍过Oracle的一个内部隐含参数_disable_logging,看到有朋友论述这个参数,今天忍不住做一点补充说明. 1.当然,隐含有风险,设置请谨慎. 2.最初在9.2.0.6 Solaris版本上,设置该参数会触发Bug:3868748 使得数据库无法启动. 从警告日志中,通常可以获得的错误提示是: ORA-07445: exception encountered: core dump [kcrfwcint()+1625] [SIGFPE] [Integer divide b... [Read More]
Tracked on September 11, 2006 11:22 AM
留言 (1)
我倒是更想知道,可以极大提高Benchmark测试的性能,这个性能的提高有多少?
eygle能不能作个测试?
Posted by: kamus at October 21, 2005 4:22 PM
