<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            oracle性能Statspack使用之命中率調整

            發(fā)布: 2011-2-18 09:34 | 作者: 不詳 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 41次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

              oracle性能Statspack使用之命中率調整   軟件測試

              影響Oracle的性能的因素有很多,例如oracle自身的sga設置,磁盤(pán)I/O設置等。但需要強調的一點(diǎn)就是oracle調整的原始動(dòng)機都是減少磁盤(pán)I/O。下面舉一個(gè)數據來(lái)說(shuō)明磁盤(pán)I/O的影響之大,ram中獲取數據塊和磁盤(pán)上獲取數據塊的時(shí)間差異相差兩個(gè)數量級,可以認為ram比磁盤(pán)塊14000倍,在磁盤(pán)上的訪(fǎng)問(wèn)時(shí)間是毫秒級(一秒的千分之一),在ram的速度是納秒級的(一秒的10億分之一)。從上面可以看出,如果在理論上將oracle的數據全部緩存在內存中,那訪(fǎng)問(wèn)速度是極快的。

              鑒于當前學(xué)習oracle還不深,本文檔的目的是如何通過(guò)statspack來(lái)分析數據庫的命中率和調整oracle的SGA。從oracle自身來(lái)說(shuō),性能最大的兩個(gè)瓶頸就是命中率和等待事件。等待事件作為接下來(lái)第二個(gè)學(xué)習點(diǎn),本文檔當作命中率和oracle內存機制熟悉的一次總結。

              本次總結分為以下幾點(diǎn):

              1、oracle的SGA介紹;

              2、SGA各部分命中率介紹;

              3、命中率相關(guān)的Statspack數據表作用介紹;

              4、如何使用statspack獲得和分析命中率。

              一、 oracle的SGA

              通常oracle實(shí)例包括了兩個(gè)組件:系統全局區域SGA和oracle后臺進(jìn)程。當啟動(dòng)oracle的時(shí)候,oracle就會(huì )用malloc()命令去建立一個(gè)內存區域作為SGA。

              SGA總容量=共享池(shared pool)+緩存區高速緩存(data buffer cache)《db_keep_cache_size,db_recycle_cache_size,db_nk_cache_size》+日志緩沖區(redo log buffer)《11Kredo log buffer的保護頁(yè)》+大型池(large pool)+java存儲區(java pool)+《streams_pool_size(10g中的新內存池)+16M(sga內部?jì)却嫦,適合于9I及之前版本)》

              1、共享池由庫緩存(library cache)與字典緩存(dictionary cache)兩部分,庫緩存包括共享sql區(shared sql areas)、pl/sql存儲過(guò)程和包以及控制結構(如鎖、庫緩存句柄)。

              2、大型池屬于可變區,用于共享服務(wù)(shared server mts方式)的會(huì )話(huà)內存和oracle分布式事務(wù)處理的oracle接口,oracle備份和恢復操作(啟用了rman)。

              3、Java池的內存用于存儲所有會(huì )話(huà)中特定java代碼和jvm中的數據。屬于可變區。

              參數介紹:

              1、Sga_max_size ,SGA可用最大物理內存是由該參數決定的?捎胹how parameter sga查詢(xún)。平常查看任務(wù)管理器,你會(huì )發(fā)現oracle進(jìn)程顯示的內存使用數量小于sga最大的內存數量,是因為oracle實(shí)例開(kāi)啟時(shí),只載入內存區最小的大小,其他sga內存只作為虛擬內存分配,這樣就會(huì )有一個(gè)風(fēng)險,產(chǎn)生過(guò)多的page in/out操作,這種磁盤(pán)交換是很耗時(shí)間的。因而可以用pre_page_sga設置為true ,lock_sga(危險,導致數據無(wú)法開(kāi)啟,原因未研究,官方說(shuō)法是跟PC機有關(guān))設置為true解決。

              2、db_block_size,執行許多全表收索的oracle數據倉庫和系統將會(huì )從16K大小塊中受益。另外db_file_multiblock_read_count與db_block_size之前有非常重要的關(guān)系,在unlx物理層上,oracle總是以最小64K的數據塊讀入。

              3、db_cache_size指定data buffer cache的大小。在oltp系統中,推薦設置為sga_max_siz/2-sga_max_size*2/3.

              非標準塊尺寸的塊大小可以在創(chuàng )建表空間(create tablespace)通過(guò)blocksize參數指定,而不同塊尺寸的buffer cache的大小就由相應參數db_nk_cache_size來(lái)指定,其中n可以是2,4,8,16或者32。另外注意一點(diǎn),db_nk_cache_size參數不能設定標準塊尺寸的緩沖區大小,舉例來(lái)說(shuō),如果db_block_size設定為4k,就不能再設定db_4k_cache_size參數了。

              4、shared_pool_size決定共享區的大小

              5、large_pool_size確定大型池的大小

              6、java_pool_size確定java池的大小

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: oracle Oracle ORACLE 命中率

            31/3123>

            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>