不要带单位.如以下为5M和2.5MSQL> alter system set log_buffer=5242880 scope=spfile;系统已更改。SQL> alter system set log_buffer=2899456 scope=spfile;系统已更改。SQL>

解决方案 »

  1.   

    Oracle 10g的内存管理自动管理功能, ASMM的一部分. 当设置sga_target不为零的值,并且设置statistics_level=ALL或TYPICAL时起用内存自动管理. 此时另外一个参数sga_max_size也会变为sga_target的值.  如果不满足ASMM的条件, 则使用传统的内存管理方式. 但是log_buffer的值是可以通过修改参数来改变的. 
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\hawk>sqlplus /nologSQL*Plus: Release 10.1.0.2.0 - Production on 星期日 7月 23 16:07:51 2006Copyright (c) 1982, 2004, Oracle.  All rights reserved.SQL> connect sys/sys as sysdba
    已连接到空闲例程。
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area  121634816 bytes
    Fixed Size                   787748 bytes
    Variable Size              95419100 bytes
    Database Buffers           25165824 bytes
    Redo Buffers                 262144 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> show parameter sga_targetNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_target                           big integer 0
    SQL> show parameter sga_max_sizeNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_max_size                         big integer 116M
    SQL>
    SQL> show parameter log_bufferNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_buffer                           integer     262144
    SQL> show parameter statistics_levelNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    statistics_level                     string      TYPICAL
    SQL> alter system set log_buffer=1048576
      2  ;
    alter system set log_buffer=1048576
                     *
    第 1 行出现错误:
    ORA-02095: 无法修改指定的初始化参数
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。--这里修改d:\pfile里面的参数,加   *.log_buffer=1048576SQL> startup pfile='d:\pfile';
    ORACLE 例程已经启动。Total System Global Area  121634816 bytes
    Fixed Size                   787748 bytes
    Variable Size              94632668 bytes
    Database Buffers           25165824 bytes
    Redo Buffers                1048576 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL>
    SQL>
    SQL> show parameter log_bufferNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_buffer                           integer     1048576
    SQL>
    SQL>--在初始化参数中设置sga_target的值.
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\hawk>sqlplus /nologSQL*Plus: Release 10.1.0.2.0 - Production on 星期日 7月 23 16:39:36 2006Copyright (c) 1982, 2004, Oracle.  All rights reserved.SQL> connect sys/sys as sysdba
    已连接。
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup pfile='d:\pfile';
    ORACLE 例程已经启动。Total System Global Area  159383552 bytes
    Fixed Size                   787928 bytes
    Variable Size              94632488 bytes
    Database Buffers           62914560 bytes
    Redo Buffers                1048576 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> show parameter sga_NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_max_size                         big integer 152M
    sga_target                           big integer 152M
    SQL> show parameter log_bufferNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_buffer                           integer     1048576
    SQL> alter system set log_buffer=1100000;
    alter system set log_buffer=1100000
                     *
    第 1 行出现错误:
    ORA-02095: 无法修改指定的初始化参数
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup pfile='d:\pfile';
    ORACLE 例程已经启动。Total System Global Area  159383552 bytes
    Fixed Size                   787928 bytes
    Variable Size              94579240 bytes
    Database Buffers           62914560 bytes
    Redo Buffers                1101824 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> show parameter sga_NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_max_size                         big integer 152M
    sga_target                           big integer 152M
    SQL>
    SQL> show parameter log_bufferNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_buffer                           integer     1100288
    SQL>
    SQL> alter system set log_buffer=1048576;
    alter system set log_buffer=1048576
                     *
    第 1 行出现错误:
    ORA-02095: 无法修改指定的初始化参数
    SQL>--当以下情况发生时,系统将log buffer的内容写入日志,
        Commit时、
        每3秒、
        log_buffer空间使用使用1/3、
        达到1M、
        检查点(checkpoint)所以,设置太大的log_buffer意义不大. 但是具体设置多大, 可以使用statpack的统计数据查看是否有日志写等待或日志同步写问题,或log buffer space问题时. 如果存在则可以考虑加大log_buffer的大小.
      

  2.   

    LOG_BUFFER大小看你的事务量了.