分享

log

 浸心阁 2015-05-05
               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 /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期日 7月 23 16:07:51 2006

Copyright (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_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_target                           big integer 0
SQL> show parameter sga_max_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 116M
SQL>
SQL> show parameter log_buffer

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_buffer                           integer     262144
SQL> show parameter statistics_level

NAME                                 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=1048576

SQL> 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_buffer

NAME                                 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 /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期日 7月 23 16:39:36 2006

Copyright (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_buffer

NAME                                 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_buffer

NAME                                 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的大小.          

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多