国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

數據表性能優化實例

2024-07-21 02:05:22
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。


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

數據表性能下降的原因

    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所示界面。成功提交并不等于作業就能成功執行,如果選擇的表空間空閑空間不夠或者表空間讀寫有問題都將導致作業的執行失敗。


上一篇:升級數據庫

下一篇:設置數據緩沖大小

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盖州市| 陆丰市| 昌都县| 民县| 新郑市| 沂源县| 鹤岗市| 通许县| 鹤峰县| 和田县| 象山县| 蓬莱市| 岳阳市| 梁山县| 罗甸县| 普兰县| 富源县| 民权县| 运城市| 柯坪县| 射阳县| 仲巴县| 库伦旗| 东源县| 沙坪坝区| 盘山县| 舒城县| 宝丰县| 苍南县| 东丽区| 遵化市| 石河子市| 泗水县| 宽甸| 博白县| 宁都县| 任丘市| 昭平县| 双牌县| 莎车县| 定日县|