log_buffer参数问题

General521 2006-07-04 04:38:37
我配置oracle10g的内存,将sga_target配置为500m,将log_buffer配置成2m,但是我重新启动数据库以后,log_buffer的值没有变成2m,还是原来的7m多。我是在pfile里面改的也是用pfile启动的数据库。可是为什么log_buffer没有变呢?请大家帮帮忙好吗!谢谢了
...全文
610 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyi8903 2006-07-23
  • 打赏
  • 举报
回复
LOG_BUFFER大小看你的事务量了.

dinya2003 2006-07-23
  • 打赏
  • 举报
回复
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的大小.
liuyi8903 2006-07-23
  • 打赏
  • 举报
回复
不要带单位.如以下为5M和2.5M

SQL> alter system set log_buffer=5242880 scope=spfile;

系统已更改。

SQL> alter system set log_buffer=2899456 scope=spfile;

系统已更改。

SQL>

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧