午夜伦理在线-午夜伦理在线观看-午夜毛片免费看-午夜美女久久久久爽久久-午夜免费

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.brpp.cn/bbs/index.asp)
--  Oracle數(shù)據(jù)庫  (http://www.brpp.cn/bbs/list.asp?boardid=65)
----  Oracle Tuning的一些總結(jié)  (http://www.brpp.cn/bbs/dispbbs.asp?boardid=65&id=2508)

--  作者:wangxinxin
--  發(fā)布時間:2010-12-11 11:13:01
--  Oracle Tuning的一些總結(jié)
關(guān)于Oracle的性能調(diào)整,一般包括兩個方面,一是指Oracle數(shù)據(jù)庫本身的調(diào)整,比如SGA、PGA的優(yōu)化設(shè)置,二是連接Oracle的應(yīng)用程序以及SQL語句的優(yōu)化。做好這兩個方面的優(yōu)化,就可以使一套完整的Oracle應(yīng)用系統(tǒng)處于良好的運(yùn)行狀態(tài)。
        本文主要是把一些Oracle Tuning的文章作了一個簡單的總結(jié),力求以實(shí)際可操作為目的,配合講解部分理論知識,使大部分具有一般Oracle知識的使用者能夠?qū)racle Tuning有所了解,并且能夠根據(jù)實(shí)際情況對某些參數(shù)進(jìn)行調(diào)整。關(guān)于更加詳細(xì)的知識,請參見本文結(jié)束部分所提及的推薦書籍,同時由于該話題內(nèi)容太多且復(fù)雜,本文必定有失之偏頗甚至錯誤的地方,請不吝賜教,并共同進(jìn)步。

1.  SGA的設(shè)置
        在Oracle Tuning中,對SGA的設(shè)置是關(guān)鍵。SGA,是指Shared Global Area , 或者是 System Global Area , 稱為共享全局區(qū)或者系統(tǒng)全局區(qū),結(jié)構(gòu)如下圖所示。


 
        對于SGA區(qū)域內(nèi)的內(nèi)存來說,是共享的、全局的,在UNIX 上,必須為oracle 設(shè)置共享內(nèi)存段(可以是一個或者多個),因?yàn)閛racle 在UNIX上是多進(jìn)程;而在WINDOWS上oracle是單進(jìn)程(多個線程),所以不用設(shè)置共享內(nèi)存段。

1.1  SGA的各個組成部分
下面用 sqlplus 查詢舉例看一下 SGA 各個組成部分的情況:
SQL> select * from v$sga;
NAME                      VALUE
--------------------              ----------
Fixed Size                   104936
Variable Size              823164928
Database Buffers          1073741824
Redo Buffers                 172032

或者
SQL> show sga
Total System Global Area   1897183720 bytes
Fixed Size                   104936 bytes
Variable Size              823164928 bytes
Database Buffers          1073741824 bytes
Redo Buffers                 172032 bytes

Fixed Size
        oracle 的不同平臺和不同版本下可能不一樣,但對于確定環(huán)境是一個固定的值,里面存儲了SGA 各部分組件的信息,可以看作引導(dǎo)建立SGA的區(qū)域。

Variable Size
        包含了shared_pool_size、java_pool_size、large_pool_size 等內(nèi)存設(shè)置

Database Buffers
        指數(shù)據(jù)緩沖區(qū),在8i 中包含db_block_buffer*db_block_size、buffer_pool_keep、buffer_pool_recycle 三部分內(nèi)存。在9i 中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、db_nk_cache_size。

Redo Buffers
       指日志緩沖區(qū),log_buffer。在這里要額外說明一點(diǎn)的是,對于v$parameter、v$sgastat、v$sga查詢值可能不一樣。v$parameter 里面的值,是指用戶在初始化參數(shù)文件里面設(shè)置的值,v$sgastat是oracle 實(shí)際分配的日志緩沖區(qū)大小(因?yàn)榫彌_區(qū)的分配值實(shí)際上是離散的,也不是以block 為最小單位進(jìn)行分配的),v$sga 里面查詢的值,是在oracle 分配了日志緩沖區(qū)后,為了保護(hù)日志緩沖區(qū),設(shè)置了一些保護(hù)頁,通常我們會發(fā)現(xiàn)保護(hù)頁大小是8k(不同環(huán)境可能不一樣)。參考如下內(nèi)容
SQL> select substr(name,1,10) name,substr(value,1,10) value
       2 from v$parameter where name = \'log_buffer\';
NAME                 VALUE
--------------------  --------------------
log_buffer              163840

SQL> select * from v$sgastat where pool is null;

POOL        NAME                       BYTES
----------- --------------------------                ----------
            fixed_sga                      104936
            db_block_buffers            1073741824
            log_buffer                     163840

SQL> select * from v$sga;

NAME                      VALUE
--------------------              ----------
Fixed Size                   104936
Variable Size               823164928
Database Buffers           1073741824
Redo Buffers                 172032

172032 – 163840 = 8192

(以上試驗(yàn)數(shù)據(jù)是在 HP B.11.11 + Oracle 8.1.7.4 環(huán)境下得到的)


1.2  SGA的大小設(shè)置
       在對SGA的結(jié)構(gòu)進(jìn)行簡單分析以后,下面是關(guān)于如何根據(jù)系統(tǒng)的情況正確設(shè)置SGA大小的問題。
SGA是一塊內(nèi)存區(qū)域,占用的是系統(tǒng)物理內(nèi)存,因此對于一個Oracle應(yīng)用系統(tǒng)來說,SGA決不是越大越好,這就需要尋找一個系統(tǒng)優(yōu)化的平衡點(diǎn)。


1.2.1  設(shè)置參數(shù)前的準(zhǔn)備
在設(shè)置SGA的內(nèi)存參數(shù)之前,我們首先要問自己幾個問題
一:物理內(nèi)存多大
二:操作系統(tǒng)估計(jì)需要使用多少內(nèi)存
三:數(shù)據(jù)庫是使用文件系統(tǒng)還是裸設(shè)備
四:有多少并發(fā)連接
五:應(yīng)用是OLTP 類型還是OLAP 類型


根據(jù)這幾個問題的答案,我們可以粗略地為系統(tǒng)估計(jì)一下內(nèi)存設(shè)置。那我們現(xiàn)在來逐個問題地討論,首先物理內(nèi)存多大是最容易回答的一個問題,然后操作系統(tǒng)估計(jì)使用多少內(nèi)存呢?從經(jīng)驗(yàn)上看,不會太多,通常應(yīng)該在200M 以內(nèi)(不包含大量進(jìn)程PCB)。
接下來我們要探討一個重要的問題,那就是關(guān)于文件系統(tǒng)和裸設(shè)備的問題,這往往容易被我們所忽略。操作系統(tǒng)對于文件系統(tǒng),使用了大量的buffer 來緩存操作系統(tǒng)塊。這樣當(dāng)數(shù)據(jù)庫獲取數(shù)據(jù)塊的時候,雖然SGA 中沒有命中,但卻實(shí)際上可能是從操作系統(tǒng)的文件緩存中獲取的。而假如數(shù)據(jù)庫和操作系統(tǒng)支持異步IO,則實(shí)際上當(dāng)數(shù)據(jù)庫寫進(jìn)程DBWR寫磁盤時,操作系統(tǒng)在文件緩存中標(biāo)記該塊為延遲寫,等到真正地寫入磁盤之后,操作系統(tǒng)才通知DBWR寫磁盤完成。對于這部分文件緩存,所需要的內(nèi)存可能比較大,作為保守的估計(jì),我們應(yīng)該考慮在 0.2——0.3 倍內(nèi)存大小。但是如果我們使用的是裸設(shè)備,則不考慮這部分緩存的問題。這樣的情況下SGA就有調(diào)大的機(jī)會。
關(guān)于數(shù)據(jù)庫有多少并發(fā)連接,這實(shí)際上關(guān)系到PGA 的大小(MTS 下還有l(wèi)arge_pool_size)。事實(shí)上這個問題應(yīng)該說還跟OLTP 類型或者OLAP 類型相關(guān)。對于OLTP類型oracle 傾向于可使用MTS,對于OLAP 類型使用獨(dú)立模式,同時OLAP 還可能涉及到大量的排序操作的查詢,這些都影響到我們內(nèi)存的使用。那么所有的問題綜合起來,實(shí)際上主要反映在UGA的大小上。UGA主要包含以下部分內(nèi)存設(shè)置
SQL> show parameters area_size

NAME                                 TYPE    VALUE
------------------------------------               -------     --------
bitmap_merge_area_size                   integer    1048576
create_bitmap_area_size                   integer    8388608
hash_area_size                           integer     131072
sort_area_size                            integer     65536
SQL>



主站蜘蛛池模板: 看一级黄色毛片 | 成人黄色免费在线观看 | 欧美成人黄色片 | 国产精品怕怕怕视频免费 | 亚洲主播 | 毛茸茸年轻成熟亚洲人 | 国产亚洲精品aa在线观看 | 玖玖成人 | 亚洲精品久久婷婷爱久久婷婷 | 小蝌蚪在线成人免费视频 | 一级大黄美女免费播放 | 亚洲欧美日韩中文综合在线不卡 | 麻豆视频网站在线观看 | 亚洲国产美女精品久久 | 中国一级毛片欧美一级毛片 | 8090碰成年女人免费碰碰尤物 | 69堂在线观看国产成人 | 免费精品国产日韩热久久 | 亚洲毛片在线播放 | 在线v| 亚洲国产人成中文幕一级二级 | 韩国网站爱久久 | 九九99九九在线精品视频 | 欧美人成毛片在线播放 | 免费的全黄一级录像带 | 亚洲综合在线最大成人 | 日韩中文字幕在线观看视频 | 国产在线高清不卡免费播放 | 天天射色综合 | 天天综合色| 日韩午夜激情视频 | 中文字幕亚洲精品日韩精品 | 日韩99精品 | 91免费在线视频观看 | 一级毛片免费在线播放 | 天堂素人搭讪系列嫩模在线观看 | 欧美一级毛片高清免费观看 | 综合图片区 | a级粗大硬长爽猛视频免费 a级精品国产片在线观看 | 日本免费不卡一区二区 | 欧美一级第一免费高清 |