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

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標(biāo)題:Oracle Tuning的一些總結(jié)

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

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


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

1.1  SGA的各個(gè)組成部分
下面用 sqlplus 查詢舉例看一下 SGA 各個(gè)組成部分的情況:
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 的不同平臺(tái)和不同版本下可能不一樣,但對(duì)于確定環(huán)境是一個(gè)固定的值,里面存儲(chǔ)了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)的是,對(duì)于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ù)頁,通常我們會(huì)發(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è)置
       在對(duì)SGA的結(jié)構(gòu)進(jìn)行簡(jiǎn)單分析以后,下面是關(guān)于如何根據(jù)系統(tǒng)的情況正確設(shè)置SGA大小的問題。
SGA是一塊內(nèi)存區(qū)域,占用的是系統(tǒng)物理內(nèi)存,因此對(duì)于一個(gè)Oracle應(yīng)用系統(tǒng)來說,SGA決不是越大越好,這就需要尋找一個(gè)系統(tǒng)優(yōu)化的平衡點(diǎn)。


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


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


共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 孕妇孕妇aaaaa级毛片视频 | 国产香蕉视频 | 免费播放拍拍视频在线观看 | 日韩中文在线观看 | 久久精品亚洲精品国产欧美 | 中文字幕制服 | 亚洲精品高清视频 | 美女久久久久 | 国产青青草视频 | 香蕉人精品视频多人免费永久视频 | xvideos中国入口 | 男人免费看片 | 国产一区二区精品久久91 | 中文字幕精品一区二区日本大胸 | 久久久久久日本一区99 | 青草青青产国视频在线 | 伊人精品| 91tv最新永久在线地址 | 在线观看高清视频bbixx | 亚洲综合欧美色综合小说 | 久草久爱 | 欧美成人精品第一区 | 亚洲欧美在线观看视频 | 中文字幕在线视频播放 | 亚洲欧美网址 | 91一区二区视频 | a级情欲片在线观看免费女中文 | 精品一区 二区三区免费毛片 | 国产人成久久久精品 | 免费国产视频 | 精品国产3p一区二区三区 | 三级黄色片在线免费观看 | 精品国产三级a∨在线观看 精品国产三级在线观看 | 黄色特级毛片 | 国产视频自拍一区 | 国产精品视频1区 | 日本不卡高清中文字幕免费 | 国产美女福利 | 天天成人| 国产成人精品视频一区二区不卡 | 看黄色的视频 |