<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海鷗航際

    JAVA站
    posts - 11, comments - 53, trackbacks - 1, articles - 102

    任何事情都有它的源頭,要解決問題,也得從源頭開始,影響ORACLE性能的源頭非常多,主要包括如下方面:

    <a target="_blank"><IMG SRC="http://m2.cn.doubleclick.net/1012548/mpu_mymai.swf " WIDTH=468 HEIGHT=60 BORDER=0 ></a>

    ?         數(shù)據(jù)庫的硬件配置:CPU、內(nèi)存、網(wǎng)絡(luò)條件

    1.         CPU:在任何機器中CPU的數(shù)據(jù)處理能力往往是衡量計算機性能的一個標志,并且ORACLE是一個提供并行能力的數(shù)據(jù)庫系統(tǒng),在CPU方面的要求就更高了,如果運行隊列數(shù)目超過了CPU處理的數(shù)目,性能就會下降,我們要解決的問題就是要適當增加CPU的數(shù)量了,當然我們還可以將需要許多資源的進程KILL掉;

    2.         內(nèi)存:衡量機器性能的另外一個指標就是內(nèi)存的多少了,在ORACLE中內(nèi)存和我們在建數(shù)據(jù)庫中的交換區(qū)進行數(shù)據(jù)的交換,讀數(shù)據(jù)時,磁盤I/O必須等待物理I/O操作完成,在出現(xiàn)ORACLE的內(nèi)存瓶頸時,我們第一個要考慮的是增加內(nèi)存,由于I/O的響應(yīng)時間是影響ORACLE性能的主要參數(shù),我將在這方面進行詳細的講解

    3.         網(wǎng)絡(luò)條件:NET*SQL負責(zé)數(shù)據(jù)在網(wǎng)絡(luò)上的來往,大量的SQL會令網(wǎng)絡(luò)速度變慢。比如10M的網(wǎng)卡和100的網(wǎng)卡就對NET*SQL有非常明顯的影響,還有交換機、集線器等等網(wǎng)絡(luò)設(shè)備的性能對網(wǎng)絡(luò)的影響很明顯,建議在任何網(wǎng)絡(luò)中不要試圖用3個集線器來將網(wǎng)段互聯(lián)。

    ?         OS參數(shù)的設(shè)置

    下表給出了OS的參數(shù)設(shè)置及說明,DBA可以根據(jù)實際需要對這些參數(shù)進行設(shè)置

    內(nèi)核參數(shù)名

    說明

    bufpages

    對buffer空間不按靜態(tài)分配,采用動態(tài)分配,使bufpages值隨nbuf一起對buffer空間進行動態(tài)分配。

    create_fastlinks

    對HFS文件系統(tǒng)允許快速符號鏈接,

    dbc_max_pct

    加大最大動態(tài)buffer空間所占物理內(nèi)存的百分比,以滿足應(yīng)用系統(tǒng)的讀寫命中率的需要。

    dbc_min_pct

    設(shè)置最小動態(tài)buffer空間所占物理內(nèi)存的百分比

    desfree

    提高開始交換操作的最低空閑內(nèi)存下限,保障系統(tǒng)的穩(wěn)定性,防止出現(xiàn)不可預(yù)見的系統(tǒng)崩潰(Crash)。

    fs_async

    允許進行磁盤異步操作,提高CPU和磁盤的利用率

    lotsfree

    提高系統(tǒng)解除換頁操作的空閑內(nèi)存的上限值,保證應(yīng)用程序有足夠的可用內(nèi)存空間。

    maxdsiz

    針對系統(tǒng)數(shù)據(jù)量大的特點,加大最大數(shù)據(jù)段的大小,保證應(yīng)用的需要。(32位)

    maxdsiz_64bit

    maximum process data segment size for 64_bit

    Maxssiz

    加大最大堆棧段的大小。(32_bit)

    maxssiz_64bit

    加大最大堆棧段的大小(64_bit)

    Maxtsiz

    提高最大代碼段大小,滿足應(yīng)用要求

    maxtsiz_64bit

    原值過大,應(yīng)調(diào)小

    Minfree

    提高停止交換操作的自由內(nèi)存的上限

    Shmem

    允許進行內(nèi)存共享,以提高內(nèi)存的利用率。

    Shmmax

    設(shè)置最大共享內(nèi)存段的大小,完全滿足目前的需要。

    Timeslice

    由于系統(tǒng)的瓶頸主要反映在磁盤I/O上,因此 降低時間片的大小,一方面可避免因磁盤I/O不暢造成CPU的等待,從而提高了CPU的綜合利用率。另一方面減少了進程的阻塞量。

    unlockable_mem

    提高了不可鎖內(nèi)存的大小,使可用于換頁和交換的內(nèi)存空間擴大,用以滿足系統(tǒng)對內(nèi)存管理的要求。

    ?         用戶SQL質(zhì)量

    以上講的都是硬件方面的東西,在條件有限的條件下,我們可以調(diào)整應(yīng)用程序的SQL質(zhì)量:

    1.         不要進行全表掃描(Full Table Scan):全表掃描導(dǎo)致大量的I/O

    2.         盡量建好和使用好索引:建索引也是有講究的,在建索引時,也不是索引越多越好,當一個表的索引達到4個以上時,ORACLE的性能可能還是改善不了,因為OLTP系統(tǒng)每表超過5個索引即會降低性能,而且在一個sql 中, Oracle 從不能使用超過 5個索引;當我們用到GROUP BY和ORDER BY時,ORACLE就會自動對數(shù)據(jù)進行排序,而ORACLE在INIT.ORA中決定了sort_area_size區(qū)的大小,當排序不能在我們給定的排序區(qū)完成時,ORACLE就會在磁盤中進行排序,也就是我們講的臨時表空間中排序, 過多的磁盤排序?qū)?free buffer waits 的值變高,而這個區(qū)間并不只是用于排序的,對于開發(fā)人員我提出如下忠告:

    1)、select,update,delete 語句中的子查詢應(yīng)當有規(guī)律地查找少于20%的表行.如果一個語句查找的行數(shù)超過總行數(shù)的20%,它將不能通過使用索引獲得性能上的提高.   

    2)、索引可能產(chǎn)生碎片,因為記錄從表中刪除時,相應(yīng)也從表的索引中刪除.表釋放的空間可以再用,而索引釋放的空間卻不能再用.頻繁進行刪除操作的被索引的表,應(yīng)當階段性地重建索引,以避免在索引中造成空間碎片,影響性能.在許可的條件下,也可以階段性地truncate表,truncate命令刪除表中所有記錄,也刪除索引碎片.

    3)、在使用索引時一定要按索引對應(yīng)字段的順序進行引用。

    4)、用(+)比用NOT IN更有效率。

    ?         降低ORACLE的競爭:

    先講幾個ORACLE的幾個參數(shù),這幾個參數(shù)關(guān)系到ORACLE的競爭:

    1)、freelists 和 freelist 組:他們負責(zé)ORACLE的處理表和索引的空間管理;

    2)、pctfree 及 pctused:該參數(shù)決定了freelists 和 freelist 組的行為,pctfree 和pctused 參數(shù)的唯一目的就是為了控制塊如何在 freelists 中進出

    設(shè)置好pctfree 及 pctused對塊在freelists的移走和讀取很重要。

    ?         其他參數(shù)的設(shè)置

    1)、包括SGA區(qū)(系統(tǒng)全局區(qū)):系統(tǒng)全局區(qū)(SGA)是一個分配給Oracle 的包含一個 Oracle 實例的數(shù)據(jù)庫的控制信息內(nèi)存段。

     主要包括數(shù)據(jù)庫高速緩存(the database buffer cache),

     重演日志緩存(the redo log buffer),

     共享池(the shared pool),

     數(shù)據(jù)字典緩存(the data dictionary cache)以及其它各方面的信息

    2)、db_block_buffers(數(shù)據(jù)高速緩沖區(qū))訪問過的數(shù)據(jù)都放在這一片內(nèi)存區(qū)域,該參數(shù)越大,Oracle在內(nèi)存中找到相同數(shù)據(jù)的可能性就越大,也即加快了查詢速度。

    3)、share_pool_size (SQL共享緩沖池):該參數(shù)是庫高速緩存和數(shù)據(jù)字典的高速緩存。

    4)、Log_buffer (重演日志緩沖區(qū))

    5)、sort_area_size(排序區(qū))

    6)、processes (同時連接的進程數(shù))

    7)、db_block_size (數(shù)據(jù)庫塊大小):Oracle默認塊為2KB,太小了,因為如果我們有一個8KB的數(shù)據(jù),則2KB塊的數(shù)據(jù)庫要讀4次盤,才能讀完,而8KB塊的數(shù)據(jù)庫只要1次就讀完了,大大減少了I/O操作。數(shù)據(jù)庫安裝完成后,就不能再改變db_block_size的值了,只能重新建立數(shù)據(jù)庫并且建庫時,要選擇手工安裝數(shù)據(jù)庫。

    8)、open_links (同時打開的鏈接數(shù))

    9)、dml_locks

    10)、open_cursors (打開光標數(shù))

    11)、dbwr_io_slaves (后臺寫進程數(shù))

     

     

    主站蜘蛛池模板: 国内精自视频品线六区免费| 亚洲国产成人精品青青草原| 亚洲明星合成图综合区在线| 国产免费私拍一区二区三区 | 国产精品jizz在线观看免费| a级毛片免费完整视频| 亚洲人成在久久综合网站| 亚洲AV永久无码精品成人| 免费一级肉体全黄毛片| 亚洲综合无码一区二区痴汉| 手机在线看永久av片免费| 99热免费在线观看| 亚洲大成色www永久网站| 一级特黄录像视频免费| 久久亚洲精品无码av| 伊人久久亚洲综合影院| 国产精品99久久免费| 一本久到久久亚洲综合| 国产亚洲午夜高清国产拍精品 | 亚洲精品第五页中文字幕| 欧美男同gv免费网站观看| 91网站免费观看| 国产高清视频在线免费观看| 亚洲精品无码AV中文字幕电影网站| 亚洲视频在线免费| a级毛片免费全部播放无码| 今天免费中文字幕视频| **aaaaa毛片免费同男同女| 国产综合激情在线亚洲第一页 | 乱爱性全过程免费视频| 亚洲天堂中文字幕在线观看| 亚洲av成人一区二区三区观看在线| 亚洲精品久久久久无码AV片软件| 朝桐光亚洲专区在线中文字幕| 亚洲av女电影网| 污视频网站免费在线观看| 亚洲中文字幕AV每天更新| 免费视频成人手机在线观看网址| 国产卡一卡二卡三免费入口| 一本久久综合亚洲鲁鲁五月天| 亚洲精品中文字幕麻豆|