• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            在 DMS 表空間中如何添加和擴展容器

            創建表空間時,會創建其表空間映射并對齊所有初始容器,以使它們都從分割區 0 開始。這意味著數據將均勻分布在所有表空間容器上,直到個別容器已滿。(請參閱示例 1。)

            ALTER TABLESPACE 語句允許向現有表空間添加容器或擴展容器,以增加其存儲容量。

            添加比現有容器小的容器會導致數據分布不均勻。這可能導致并行 I/O 操作(如預取數據)的執行效率比對大小相同的容器執行的效率要低。

            向表空間添加新容器或擴展現有容器時,可能發生表空間數據的重新平衡。

            重新平衡

            添加或擴展容器時的在平衡過程涉及將表空間擴展數據塊從一個位置移動到另一位置,這是通過試圖保持數據在表空間內成為分割區來完成的。

            在重新平衡期間不會限制對表空間的訪問;可以像平常一樣刪除、創建、填充和查詢對象。但是,重新平衡操作可能對性能有很大的影響。如果需要添加多個容器,并且計劃重新平衡容器,則應在單個 ALTER TABLESPACE 語句中同時添加它們,以免數據庫管理器不得不多次重新平衡數據。

            表空間高水位標記在重新平衡過程中起著關鍵作用。高水位標記是表空間中分配的最高頁的頁數。例如,表空間有 1000 頁,擴展數據塊大小為 10,則結果為 100 個擴展數據塊。如果第 42 個擴展數據塊是表空間中最高分配的擴展數據塊,則高水位標記是 42 * 10 = 420 頁。這與已使用的頁不同,因為可能已經釋放了高水位標記下的一些擴展數據塊,所以它們可供復用。

            在重新平衡啟動之前,會根據所作的容器更改構建新的表空間映射。重新平衡程序將擴展數據塊從由當前映射確定的位置移至由新映射確定的位置。重新平衡程序從擴展數據塊 0 開始,一次移動一個擴展數據塊,直到移動了持有高水位標記的擴展數據塊為止。移動每個擴展數據塊時,當前映射每次改變一塊以使其看起來與新映射相似。當完成重新平衡時,對于當前映射和新映射,一直到持有高水位標記的分割區,看起來應完全相同。于是使當前映射與新映射看起來完全相同,重新平衡過程就完成了。如果擴展數據塊在當前映射中的位置與它在新映射中的位置相同,則不移動該擴展數據塊,并且不發生 I/O。

            當添加新容器時,該容器在新映射內的位置取決于其大小及其分割集中其他容器的大小。若容器足夠大,以至于它可以從分割集中的第一個分割區開始,并在分割集中的最后一個分割區處(或以外)結束,則將它使用該方法放置(請參閱示例 2)。若容器不夠大,無法做到這一點,則它將在映射中定位為在分割集的最后一個分割區結束(請參閱示例 4。)這樣做是為了最小化需要重新平衡的數據量。

            注:
            在下列示例中,容器大小未將容器標記計算在內。容器大小很小,僅用于說明目的,它們不是建議的容器大小。這些示例顯示表空間中不同大小的容器,但建議使用相同大小的容器。

            示例 1:

            如果您創建的表空間有三個容器,擴展數據塊大小為 10,并且容器分別為 60、40 和 80 頁(6、4 和 8 個擴展數據塊),則將創建帶有映射的表空間,可進行如圖 88 中所示的圖解。

            圖 88. 帶有三個容器和 18 個擴展數據塊的表空間
            數組中的表空間,左下方有八個分割區,頂部分布有三個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區       最大       最大        起始        結束  調節 容器
                        編號                  偏移     擴展數據塊    頁        分割區      分割區
                        [0]     [0]             0        11        119           0           3    0   3(1 和 2)
                        [1]     [0]             0        15        159           4           5    0   2(0 和 2)
                        [2]     [0]             0        17        179           6           7    0   1(2)

            表空間映射中的標題是“范圍編號”、“分割集”、“分割區偏移”、“根據范圍尋址的最大擴展數據塊編號”、“根據范圍尋址的最大頁編號”、“起始分割區”、“結束分割區”、“范圍調節”和“容器列表”。

            示例 2:

            如果在示例 1 中向表空間添加了一個 80 頁的容器,容器就大到足以從第一個分割區(分割區 0)中開始,并在最后一個分割區(分割區 7)中結束。它被定位為從第一個分割區中開始。結果表空間可進行如圖 89 中所示的圖解。

            圖 89. 帶有四個容器和 26 個擴展數據塊的表空間
            數組中的表空間,左下方有八個分割區,頂部分布有四個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區  最大     最大        起始        結束   調節 容器
                        編號                 偏移  擴展數據塊  頁        分割區      分割區
                        [0]    [0]            0       15       159         0          3    0    4(0、1、2 和 3)
                        [1]    [0]            0       21       219         4          5    0    3(0、2 和 3)
                        [2]    [0]            0       25       259         6          7    0    2(2 和 3)

            如果高水位標記在擴展數據塊 14 以內,則重新平衡程序將從擴展數據塊 0 開始,并且將把所有擴展數據塊上移至 14(包括 14)。兩個映射內的擴展數據塊 0 的位置相同,所以不必移動此擴展數據塊。擴展數據塊 1 和 2 的情況相同。需要移動擴展數據塊 3,所以從舊位置(容器 0 內的第二個擴展數據塊)讀取該擴展數據塊并寫至新位置(容器 3 內的第一個擴展數據塊)。將移動此擴展數據塊之后直到擴展數據塊 14(包括擴展數據塊 14)的每個擴展數據塊。一旦移動了擴展數據塊 14,當前映射看起來會像新映射,并且重新平衡程序將終止。

            如果改變映射以使所有新添加的空間都在上限之后,則不需要重新平衡并且所有的空間都立即可用。如果改變映射以使部分空間在高水位標記之后,則分割區中在高水位標記之上的空間將是可用的。余下部分直到重新平衡完成才可用。

            如果決定擴展容器,則重新平衡程序的功能相似。如果擴展容器以使它超出了分割集中的最后一個分割,則將擴展該分割集以適應這種情況并將相應地移出其后的分割集。結果是容器不會擴展到其后的任何分割集中。

            示例 3:

            以“示例 1”中的表空間為例。如果將容器 1 從 40 頁擴展到 80 頁,則新表空間將類似圖 90

            圖 90. 帶有三個容器和 22 個擴展數據塊的表空間
            數組中的表空間,左下方有八個分割區,頂部分布有三個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區  最大     最大        起始        結束   調節 容器
                        編號                 偏移  擴展數據塊  頁        分割區      分割區
                        [0]    [0]            0       17     179          0            5     0   3(0、1 和 2)
                        [1]    [0]            0       21     219          6            7     0   2(1 和 2)

            示例 4:

            考慮示例 1 中的表空間。若向它添加一個 50 頁(5 個擴展數據塊)的容器,則將以如下方式將該容器添加至新映射。容器大小不足以從第一個分割區(分割區 0)中開始,并在最后一個分割區(分割區 7)處或以外結束,因此將它定位為在最后一個分割區中結束。(請參閱圖 91。)

            圖 91. 帶有四個容器和 23 個擴展數據塊的表空間
            數組中的表空間,左下方有八個分割區,頂部分布有四個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區  最大     最大        起始        結束   調節 容器
                        編號                 偏移  擴展數據塊  頁        分割區      分割區
                        [0]      [0]            0        8     89           0           2    0   3(0、1 和 2)
                        [1]      [0]            0       12    129           3           3    0   4(0、1、2 和 3)
                        [2]      [0]            0       18    189           4           5    0   3(0、2 和 3)
                        [3]      [0]            0       22    229           6           7    0   2(2 和 3)

            要擴展容器,在 ALTER TABLESPACE 語句上使用 EXTEND 或 RESIZE 選項。要添加容器并重新平衡數據,在 ALTER TABLESPACE 語句上使用 ADD 選項。如果正在向已經有多個分割集的表空間添加容器,則可以指定想要向哪個分割集添加容器。為此,在 ALTER TABLESPACE 語句上使用 ADD TO STRIPE SET 選項。如果不指定分割集,則缺省行為將是向當前分割集添加容器。當前分割集是最新創建的分割集,而不是最后向其添加空間的分割集。

            對分割集的任何更改可能導致對該分割集及其后的任何其他分割集的重新平衡。

            可以通過使用表空間快照來監視重新平衡的進度。表空間快照可以提供關于重新平衡的信息,如重新平衡的開始時間、已經移動了多少個擴展數據塊以及需要移動多少個擴展數據塊。

            沒有重新平衡(使用分割集)

            如果添加或擴展容器,并且添加的空間在表空間高水位標記之上,則不會發生重新平衡。

            添加容器將總是在高水位標記下添加空間。換句話說,添加容器時,重新平衡通常是必要的。有一個選項可強制將新容器添加到高水位標記之上,它允許您選擇不對表空間的內容重新平衡。此方法的一個優點是新容器可立即使用。不進行重新平衡這一選項僅在添加容器時才適用,在擴展現有容器時不適用。擴展容器時,僅當添加的空間在高水位標記之上時,才能避免重新平衡。例如,如果有許多大小相同的容器,并且按相同的量擴展它們,則擴展數據塊的相對位置不會更改,并且不會發生重新平衡。

            將容器添加到表空間中而不進行重新平衡可通過添加新的分割集來實現。分割集是表空間中的一組容器,數據在其上進行分割,且獨立于屬于該表空間的其他容器。現有分割集中的現有容器保持不變,而添加的容器成為新分割集的一部分。

            要添加容器而不進行重新平衡,在 ALTER TABLESPACE 語句上使用 BEGIN NEW STRIPE SET 選項。

            示例 5:

            如果表空間有三個容器,擴展數據塊大小為 10,并且容器分別為 30、40 和 40 頁(分別為 3、4 和 4 個擴展數據塊),則表空間可進行如圖 92 中所示的圖解。

            圖 92. 帶有三個容器和 11 個擴展數據塊的表空間
            數組中的表空間,左下方有四個分割區,頂部分布有三個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區  最大     最大        起始        結束   調節 容器
                        編號                 偏移  擴展數據塊  頁        分割區      分割區
                        [0]    [0]            0        8      89          0           2     0   3(0、1 和 2)
                        [1]    [0]            0       10     109          3           3     0   2(1 和 2)

            示例 6:

            在使用 BEGIN NEW STRIPE SET 選項添加 30 頁和 40 頁的兩個新容器(分別為 3 和 4 個擴展數據塊)時,不會影響現有范圍;而是將創建一組新范圍。這一組新范圍是一個分割集,而最新創建的分割集稱為當前分割集。添加了兩個新的容器之后,表空間將類似圖 93

            圖 93. 帶有兩個分割集的表空間
            數組中的表空間,左下方有八個分割區,頂部分布有五個容器。

            相應的表空間映射,如表空間快照中所示,類似如下:

                    范圍    分割集      分割區  最大     最大        起始        結束   調節 容器
                        編號                 偏移  擴展數據塊  頁        分割區      分割區
                        [0]    [0]            0        8      89          0           2     0   3(0、1 和 2)
                        [1]    [0]            0       10     109          3           3     0   2(1 和 2)
                        [2]    [1]            4       16     169          4           6     0   2(3 和 4)
                        [3]    [1]            4       17     179          7           7     0   1(4)

            如果向表空間添加新的容器,并且將 TO STRIPE SET 選項與 ADD 子句配合使用,則將把容器添加至當前分割集(最高分割集)。可以使用 ADD TO STRIPE SET 子句來將容器添加到表空間中的任何分割集。必須指定有效的分割集。

            DB2 數據庫 Linux 版、UNIX 版和 Windows 版使用表空間映射來跟蹤分割集,并且添加新容器而不進行重新平衡通常將導致映射比對容器進行重新平衡時增長得快。當表空間映射變得過大時,如果試圖添加更多容器,將接收到錯誤 SQL0259N。

            Feedback

            # re: 在 DMS 表空間中如何添加和擴展容器 重新平衡 高水位線  回復  更多評論   

            2010-07-30 21:17 by wjhui
            范轉編號 分割集
            0     0
            1     0
            2     1
            3     1
            這兩個值是怎么來的呢?
            国产激情久久久久影院小草| 亚洲国产精品久久久久婷婷老年| 午夜天堂av天堂久久久| 93精91精品国产综合久久香蕉| 久久久久噜噜噜亚洲熟女综合| 亚洲性久久久影院| 一级A毛片免费观看久久精品| 性做久久久久久久久久久| 久久伊人五月天论坛| 久久精品视频一| 久久久久久狠狠丁香| 精品久久久久久久国产潘金莲 | 久久天天躁狠狠躁夜夜av浪潮 | 久久久国产视频| 亚洲国产成人久久一区久久| 中文精品久久久久人妻不卡| 久久毛片一区二区| 一级a性色生活片久久无少妇一级婬片免费放 | 男女久久久国产一区二区三区| 国产日韩欧美久久| 99热成人精品免费久久| 精品久久久久成人码免费动漫| 久久ZYZ资源站无码中文动漫| 欧美精品丝袜久久久中文字幕 | 色综合久久天天综合| 久久无码国产| 狠狠精品干练久久久无码中文字幕 | 亚洲综合精品香蕉久久网97| 久久www免费人成看片| 色综合久久久久久久久五月| 久久久久亚洲精品中文字幕| 99久久精品国内| 国内精品久久久久久99| 亚洲精品无码久久久久久| 久久久久久久尹人综合网亚洲| 久久久久免费视频| 久久亚洲私人国产精品vA| 精品国产91久久久久久久| 色婷婷综合久久久久中文| 狠狠色丁香久久综合五月| 久久综合中文字幕|