`

_disable_logging

阅读更多

提示: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之后,上一次成功完成的检查点之后变化的数据将无法恢复。

3.观察alert文件
从日志中我们可以看到在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
分享到:
评论

相关推荐

    详解Oracle中的隐含参数_disable_logging

    Oracle中的隐含参数`_disable_logging`是一个内部使用的参数,主要用于测试环境,目的是在特定情况下禁用数据库的日志记录功能。然而,这个参数的使用必须非常谨慎,因为它可能导致数据的不可恢复性和日志文件的损坏...

    详解Python中logging日志模块在多进程环境下的使用

    'disable_existing_loggers': True, 'formatters': { 'verbose': { 'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 'datefmt': "%Y-%m-%d %H:%M:%S" }, 'simple': { 'format'...

    django-request-logging:记录HTTP请求正文的Django中间件

    django-request-logging 将django-request-logging插入您的Django项目,您将获得直观且彩色编码的请求/响应有效负载日志记录,用于Web请求和API请求。 支持Django 1.8+。... 'disable_existing_loggers'

    一波神奇的Python语句、函数与方法的使用技巧总结

    'Storage', 'disable_logging_to_stderr', 'enable_logging_to_kids', 'export', 'info', 'interface', 'stream'] ``` 这样,当外部导入这个包时,只有`__all__`列表中的对象才是可直接访问的,其他未列出的对象...

    logging模块.pdf

    LOGGING_DIC = { 'version': 1.0, 'disable_existing_loggers': False, 'formatters': { 'standard': { 'format': '%(asctime)s %(threadName)s:%(thread)d [%(name)s] %(levelname)s [%(pathname)s:%(lineno)d...

    commons-logging.rar

    4. **org.apache.commons.logging.disable**: 设置为`true`可以禁用 Commons Logging,这样即使在类路径中有日志实现,也不会被使用。 5. **org.apache.commons.logging.level**: 这个全局配置可以设定默认的日志...

    logging-log4j2-log4j-2.15.1-rc1.zip

    2. **安全配置增强**:新增了`LOG4J2_DISABLE_JNDI`环境变量和`log4j2.disable.jndi`系统属性,当这些设置为true时,将完全禁用JNDI,进一步确保安全。 3. **漏洞影响的类修复**:针对漏洞利用的具体代码路径进行了...

    解决Python logging模块无法正常输出日志的问题

    在Python编程中,logging模块是用于生成日志的标准库,它提供了灵活的日志记录功能,包括不同级别的日志(如DEBUG、INFO、WARNING、ERROR、CRITICAL)以及日志输出到控制台、文件或其他处理器的能力。然而,有时我们...

    Boost test study _test_Boost_

    - **故障隔离**:`BOOST_TEST_DISABLE_TESTS`可以在运行时选择性地禁用特定测试。 - **测试日志**:`BOOST_TEST_LOGGING`可以开启日志记录,跟踪测试过程。 - **测试覆盖**:虽然`Boost.Test`不直接提供覆盖率工具,...

    python logging类库使用例子

    一、简单使用 复制代码 代码如下: def TestLogBasic():  import logging  logging.basicConfig(filename = ‘log.txt’, filemode = ‘a’, level = logging.NOTSET, format = ‘%... logging.disable(30)#loggi

    BirtViewer参数设置详解

    - **BIRT_VIEWER_LOGGING_LEVEL**:定义日志记录级别,如DEBUG、INFO、WARN等。 - **BIRT_VIEWER_DEBUG**:开启或关闭调试模式,对开发和问题排查很有帮助。 - **BIRT_VIEWER_DISABLE_JAVASCRIPT**:禁用...

    Django logging配置及使用详解

    1. settings.py文件 做开发离不开必定离不... 'disable_existing_loggers': False, # 是否禁用已经存在的日志实例 'formatters': { # 定义日志的格式 'standard': { 'format': '[%(asctime)s][%(threadName)s:%(th

    python logging通过json文件配置的步骤

    2. **disable_existing_loggers**: 如果设置为false(默认),不会禁用已经存在的logger。 3. **formatters**: 定义了日志消息的格式。在这里,我们有一个名为"simple"的formatter,它包含一个包含时间戳、级别、...

    Python基于yaml文件配置logging日志过程解析

    `logging`模块是Python标准库的一部分,提供了丰富的日志记录功能。本文将深入探讨如何使用`yaml`文件来配置`logging`模块,以实现灵活的日志管理。 首先,`logging.config.dictConfig()`函数是用于从字典配置加载...

    python+logging+yaml实现日志分割

    Python 的日志模块 `logging` 是一个强大的工具,用于记录应用程序的运行情况。结合 YAML(YAML Ain't Markup Language)配置文件,我们可以更方便地管理日志设置,包括日志分割,这在处理大量日志数据时尤为重要。...

    Django 使用logging打印日志的实例

    'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s' }, }, 'handlers': { 'console':{ 'level':'INFO', 'class':'logging....

    IRPTrace2.00.002.zip

    with switched on File Logging option, because any attempt of IRPTrace to log IRP information causes sending several IRPs to disk driver. 3.2) Capturing Kernel output IRPTrace does not support ...

    Python Django框架实现应用添加logging日志操作示例

    ### Python Django框架实现应用添加logging日志操作详解 在现代软件开发中,日志记录是一项至关重要的任务。它不仅有助于开发者在开发过程中调试代码,还能帮助运维团队在部署后监控系统的运行状态。对于使用Python...

    local_settings

    'disable_existing_loggers': False, 'handlers': { 'console': { 'class': 'logging.StreamHandler', }, }, 'loggers': { 'openstack_dashboard': { 'handlers': ['console'], 'level': 'DEBUG', '...

Global site tag (gtag.js) - Google Analytics