Oracle 10g的內(nèi)存管理自動(dòng)管理功能, ASMM的一部分. 當(dāng)設(shè)置sga_target不為零的值,并且設(shè)置statistics_level=ALL或TYPICAL時(shí)起用內(nèi)存自動(dòng)管理. 此時(shí)另外一個(gè)參數(shù)sga_max_size也會(huì)變?yōu)閟ga_target的值. 如果不滿(mǎn)足ASMM的條件, 則使用傳統(tǒng)的內(nèi)存管理方式. 但是log_buffer的值是可以通過(guò)修改參數(shù)來(lái)改變的. Microsoft Windows XP [版本 5.1.2600] (C) 版權(quán)所有 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 例程已經(jīng)啟動(dòng)。 Total System Global Area 121634816 bytes Fixed Size 787748 bytes Variable Size 95419100 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes 數(shù)據(jù)庫(kù)裝載完畢。 數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。 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 行出現(xiàn)錯(cuò)誤: ORA-02095: 無(wú)法修改指定的初始化參數(shù) SQL> shutdown immediate 數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫(kù)。 ORACLE 例程已經(jīng)關(guān)閉。 --這里修改d:\pfile里面的參數(shù),加 *.log_buffer=1048576 SQL> startup pfile='d:\pfile'; ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 121634816 bytes Fixed Size 787748 bytes Variable Size 94632668 bytes Database Buffers 25165824 bytes Redo Buffers 1048576 bytes 數(shù)據(jù)庫(kù)裝載完畢。 數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。 SQL> SQL> SQL> show parameter log_buffer NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_buffer integer 1048576 SQL> SQL> --在初始化參數(shù)中設(shè)置sga_target的值. Microsoft Windows XP [版本 5.1.2600] (C) 版權(quán)所有 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 數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫(kù)。 ORACLE 例程已經(jīng)關(guān)閉。 SQL> startup pfile='d:\pfile'; ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 159383552 bytes Fixed Size 787928 bytes Variable Size 94632488 bytes Database Buffers 62914560 bytes Redo Buffers 1048576 bytes 數(shù)據(jù)庫(kù)裝載完畢。 數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。 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 行出現(xiàn)錯(cuò)誤: ORA-02095: 無(wú)法修改指定的初始化參數(shù) SQL> shutdown immediate 數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫(kù)。 ORACLE 例程已經(jīng)關(guān)閉。 SQL> startup pfile='d:\pfile'; ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 159383552 bytes Fixed Size 787928 bytes Variable Size 94579240 bytes Database Buffers 62914560 bytes Redo Buffers 1101824 bytes 數(shù)據(jù)庫(kù)裝載完畢。 數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。 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 行出現(xiàn)錯(cuò)誤: ORA-02095: 無(wú)法修改指定的初始化參數(shù) SQL> --當(dāng)以下情況發(fā)生時(shí),系統(tǒng)將log buffer的內(nèi)容寫(xiě)入日志, Commit時(shí)、 每3秒、 log_buffer空間使用使用1/3、 達(dá)到1M、 檢查點(diǎn)(checkpoint) 所以,設(shè)置太大的log_buffer意義不大. 但是具體設(shè)置多大, 可以使用statpack的統(tǒng)計(jì)數(shù)據(jù)查看是否有日志寫(xiě)等待或日志同步寫(xiě)問(wèn)題,或log buffer space問(wèn)題時(shí). 如果存在則可以考慮加大log_buffer的大小. |
|