資料表效能最佳化執行個體

來源:互聯網
上載者:User


 
    無論資料表採用了什麼樣的儲存技術,經過一定的時間和交易處理運行後,在儲存空間裡都會產生一些“片段”,從而導致效能下降。此外,由於預先估計的不足,很可能會發現已經定義的資料表空間的大小不能滿足需要等情況,這些問題都是管理員進行資料庫的日常管理維護過程中會遇到的問題,解決這些問題的一個有效辦法就是表的重組。

資料表效能下降的原因

    1.遷移的資料行
    對資料淼母虜僮骰嵋鶚菪械睦┱梗虼說幣桓鍪菘櫓械目障鋅占洳蛔鬩勻菽贍掣鍪菪惺保廡惺萁映跏嫉氖菘橐頻街匭路峙淶氖菘櫓校餼褪鞘菪械那ㄒ疲琌racle 9i系統必須在初始塊中保留一個指標指向這一資料行所在的新塊的ID,如果一個資料表中有很多遷移行,為了檢索或更新發生遷移的資料行,每次操作必須讀取兩個資料區塊,這樣表的效能必然會降低。
    解決資料行的遷移的一個有效辦法就是設定有效儲存參數值“PCTFREE”,通過對錶的資料的分析得出的統計資訊可以協助管理員確定一個合適的PCTFREE值。
    2.連結的資料行
    如果某個資料行的大小大於資料區塊的大小,比如LOB(Large Object,大對象)資料類型的資料表就極有可能會產生資料行的連結。在每個資料區塊裡都要設計指標指向下一個資料區塊的ID。因此,當連結過多時也會造成效能的下降。
    解決資料行的連結問題只能通過最佳化這些構成同一個資料行的資料區塊的儲存,儘可能將他們儲存在物理上相鄰的資料區塊中。

重組的含義

    重組,顧名思義,就是結構的重新組織。在Oracle 9i中提供了名為Reorg Wizard(重組嚮導)的操作。Reorg Wizard通過解決空間利用率來協助管理員維護資料庫,使之運行良好,Reorg Wizard 提供了3個重組功能。
    重組特定方案對象:可以對特定的方案對象進行重組,尤其是對資料表的重組,可以在資料表空間之間移動資料表,可以更改表的儲存參數,指定新的空閑表管理參數和新的交易處理參數。Oracle 9i對錶的重組是通過建立新的資料區段、複製資料、刪除舊的資料區段3個步驟完成的,可以在同一資料表空間完成,也可以在不同的資料表空間完成,但資料表空間的空閑空間要足夠大。
    重組整個資料表空間:主要完成修複資料表空間的空閑空間片段以提高效能。
    修複移植行:修複資料表或資料表分區中的遷移資料行。
    Oracle 9i中可重組的方案對象包括:表 (包括含 LOB 列的表)、表定界分割、索引、索引定界分割、索引簇和散列簇。修複移植行功能移植的行已被修複,但並未執行整個對象的完全重組,可以修複移植的行的方案對象包括表和表分區。

利用重組嚮導進行表的重組

    在Oracle 9i中表的重組可以通過圖形化的重組嚮導操作來進行。重組操作將由一個 【企業管理器】的作業使用Oracle Agent(代理)來執行,這就要求執行重組的伺服器節點上有Enterprise Manager Console(企業管理器控制台)、Oracle Management Server(管理伺服器) 和Agent,而且Agent必須運行在資料庫重組處的同一節點上。
    (1)以【登入到管理伺服器】方式來登入【企業管理器】,在【管理目標導航器】中選擇【網路】/【資料庫】/【myoracle.mynet】/【方案】/【表】/【HR】/【EMPLOYEES】選項,單擊滑鼠右鍵,在彈出的捷徑功能表裡選擇【重組】選項,如圖13.43所示。
    (2)出現如圖13.44所示的重組嚮導的【歡迎使用】的介面,單擊按鈕。

    (3)出現如圖13.45所示的重組嚮導的【對象屬性】介面的對象的【一般屬性】選項卡。在【對象導航器】中是按照【使用者名稱】/【表】/【表名】/【從屬對象】分級組織對象的,單擊選擇某個對象後,在右邊的【對象屬性編輯區】裡出現該對象的【一般資訊】選項卡。
    這裡選擇【表】/【EMPLOYEES】,在【一般資訊】選項卡的【資料表空間】下拉式清單方塊裡可以更改資料表所屬的資料表空間。
    (4)切換到如圖13.46所示的重組嚮導的【對象屬性】介面的對象的【儲存】選項卡。可以修改表的資料區的【初始大小】參數、交易處理數量的【初始值】參數、空閑列表的【空閑列表】參數等,設定修改完畢後單擊按鈕。

    表的重組操作可以更改資料表空間,但無法修改表的結構,如果選擇修改表的結構是無法更改資料表空間的。
    (5)出現如圖13.47所示的重組嚮導的【重組方法】介面,有兩種重組的方法供選擇:離線重組和聯機重組,兩種重組方法比較如下。
    【速度(離線重組)】單選鈕:表示使用離線重組的方法,側重於重組的速度,但需要先將資料庫離線,離線重組的所有操作不記入REDO記錄檔因此速度較快。
    【可用性(聯機重組)】單選鈕:表示使用聯機重組的方法,側重於可用性。產生的指令碼將在相應伺服器可以支援的情況下充分利用聯機功能的長處,在重組的過程中,資料表上仍然可以執行資料的查詢操作,但不允許有插入、更新和刪除操作,仍然保留表的各種存取許可權。
    這裡選擇【可用性(聯機重組)】單選鈕,單擊按鈕。
    (6)出現如圖13.48所示的重組嚮導的【暫存資料表空間】介面。重組嚮導一般通過將資料移到它在資料庫中建立的臨時對象來執行重組。當重組內容小於整個資料表空間時,可選擇在其當前資料表空間建立這些臨時對象,也可以另外使用一個暫存資料表空間。使用當前資料表空間更為快捷,因為對象只移動了一次。但是建立並使用暫存資料表空間可以避免在當前資料表空間內進行的重組對空間的影響,有兩個選項可供選擇。
    【當前資料表空間】單選鈕:對象所在的資料表空間如果有足夠的空間來維護當前對象的兩個副本時選擇此項,資料只需要移動一次,因此效率最高。
    【暫存資料表空間】單選鈕:若對象所在的資料表空間沒有足夠的空間來維護當前對象的兩個副本時選擇此項,資料需要移動兩次。
    這裡選擇【當前資料表空間】單選鈕,單擊按鈕。

    (7)出現如圖13.49所示的重組嚮導的【效果報告和作業概要】介面,共有兩個選項卡。
    【效果報告】選項卡:效果報告提供一個錯誤清單,或者提供被發現的關於重組作業的其他問題,還提供有關被重組的對象以及將要執行的操作的資訊。
    【作業概要】選項卡:產生的作業指令碼,包括用來執行重組的資料庫命令的概要。實際指令碼中既有來自概要的資料庫命令,也有執行該作業所需的Oracle交易處理語句。
    單擊按鈕將自動產生效果報告和作業概要。
    (8)重組嚮導將完成效果報告和作業概要的產生過程,該過程期間較長,產生完畢後的介面如圖13.50所示,單擊“關閉”按鈕。

    (9)在圖13.49中單擊按鈕,出現如圖13.51所示的重組嚮導的【調度】介面。在這裡可以用於指定需要運行重組作業的時間。
    選擇【立即執行】單選鈕表示將作業提交給Oracle Agent作業系統並立即執行該作業。
    選擇【稍後提交】單選鈕可以設定運行作業的日期和時間,如果希望在訪問系統的使用者較少時運行作業,則該項特別有用,它將重組作業提交給Oracle Agent,以便在預定的時間執行。這裡選擇【立即執行】單選鈕,單擊按鈕。
    (10)出現如圖13.52所示的重組嚮導的【概要】介面。概要報告重組嚮導的設定參數,包括以下3類。
    一般資訊:包括重組選項、暫存資料表空間、重組方法參數。
    作業資訊:包括名稱、說明、目標、調度參數。
    已選對象:包括選擇用於重組的對象。
    單擊“確定”按鈕。

    (11)重組操作最後形成一個作業被提交給Oracle 9i的作業系統,由作業系統自動調度完成,成功提交後出現如圖13.53所示介面。成功提交並不等於作業就能成功執行,如果選擇的資料表空間空閑空間不夠或者資料表空間讀寫有問題都將導致作業的執行失敗。




相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。