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

首頁 > 開發 > 綜合 > 正文

數據表性能優化實例

2024-07-21 02:40:41
字體:
來源:轉載
供稿:網友

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

數據表性能下降的原因

    1.遷移的數據行
    對數據淼母虜僮骰嵋鶚菪械睦┱?,因凑f幣桓鍪菘櫓械目障鋅占洳蛔鬩勻菽贍掣鍪菪惺保廡惺萁映跏嫉氖菘橐頻街匭路峙淶氖菘櫓?,震q褪鞘菪械那ㄒ?,Oracle 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所示界面。
成功提交并不等于作業就能成功執行,假如選擇的表空間空閑空間不夠或者表空間讀寫有問題都將導致作業的執行失敗。
數據表性能優化實例



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿州市| 文安县| 固阳县| 安义县| 三亚市| 涞源县| 治县。| 岱山县| 于田县| 沂南县| 宜都市| 横峰县| 夹江县| 曲松县| 旬邑县| 涞源县| 汝阳县| 龙州县| 永福县| 中山市| 湖北省| 湄潭县| 定南县| 长葛市| 宾川县| 新民市| 桐乡市| 揭西县| 兴隆县| 厦门市| 上犹县| 启东市| 辉县市| 淮南市| 诸城市| 微博| 福鼎市| 黔西县| 锦州市| 都江堰市| 兴城市|