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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    Oracle的分區② - 分區表舉例
    ?
    ??? 好,接著學習分區表。為了將來可以很熟練得應用分區表,所以專門花一篇的篇幅,來進行分區表的實例模擬。其實操作的難度不大,主要還是關于表的設計和性能問題的分析,這個才是需要經驗和技術的東西。
    ?
    ?
    一、分區表的維護
    ?
    ??? 分區表的維護操作比較復雜,具體可參見《Oracle 9i DBA指南》 P272-P293.
    ?
    ?
    二、實際舉例
    ?
    ??? 1、移動歷史表中的時間窗口
    ?
    ??? 案例如下:有一個表order,包含13個月的事務:1年的歷史數據和本月的訂單。每個月一個分區,這個按月的分區被命名為order_yymm,也是他們所在的表空間。 另外order表包含兩個局部索引:order_ix_onum是一個訂單號碼上的局部的、前綴的、唯一索引;order_ix_supp是一個供應商號碼上的局部的、非前綴索引。局部索引分區用匹配基礎表的后綴命名。 還有一個用于客戶姓名的全局唯一索引order_ix_cust,并包含3個分區,每個分區用戶1/3的字母。
    ?
    ??? 則,1944年10月31日,修改時間窗的步驟如下:
    ?
    ??? ①備份最早的時間間隔數據
    ??? ALTER TABLESPACE order_9310 BEGIN BACKUP;
    ??? ...
    ??? ALTER TABLESPACE order_9310 END BACKUP;
    ?
    ??? ②刪除最早的時間間隔分區
    ??? ALTER TABLE order DROP PARTITION order_9310;
    ?
    ??? ③增加最近的時間間隔的分區
    ??? ALTER TABLE order ADD PARTITION order_9411;
    ?
    ??? ④重建全局索引分區
    ??? ALTER INDEX order_ix_cust REBUILD PARTITION order_ix_cust_AH;
    ??? ALTER INDEX order_ix_cust REBUILD PARTITION order_ix_cust_IP;
    ??? ALTER INDEX order_ix_cust REBUILD PARTITION order_ix_cust_QZ;
    ?
    ??? 注意:在更改order表的分區時,需要考慮到用戶的并發控制。需要做的2點是:
    ??? ● 在一個被定義好的批處理窗口期間,關閉所有用戶層次的應用
    ??? ● 通過撤銷所有應用使用的角色的訪問權限,來保證沒有誰可以訪問表order
    ?
    ??? 2、將分區視圖轉換為分區表
    ?
    ??? 案例:分區視圖按如下定義:
    ??? CREATE VIEW accounts AS
    ??? SELECT * FROM accounts_jan98
    ??? UNION ALL
    ??? SELECT * FROM accounts_fab98
    ??? UNION ALL
    ??? ...
    ??? SELECT * FROM accounts_dec98;
    ?
    ??? 修改的步驟如下:
    ?
    ??? ①創建分區表,僅最近兩個分區從該視圖遷移到分區表中,每個分區獲得兩個數據塊的一個段(作為占位器)
    ??? CREATE TABLE accounts_new (...)
    ??? TABLESPACE ts_temp STORAGE (INITIAL 2)
    ??? PARTITION BY RANGE (opening_date)
    ??? (PARTITION jan98 VALUES LESS THEN ('01-FEB-1998'),
    ??? ...
    ??? PARTITION dec98 VALUES LESS THEN ('01-JAN-1999'));
    ?
    ? ? ②用EXCHANGE PARTITION語句,將該表遷移到對應分區
    ??? ALTER TABLE accounts_new
    ??? EXCHANGE PARTITION nov98 WITH TABLE
    ??? accounts_nov98 WITH VALIDATION;
    ??? ALTER TABLE accounts_new
    ??? EXCHANGE PARTITION dec98 WITH TABLE
    ??? accounts_dec98 WITH VALIDATION;
    ??? 這樣,與nov98和dec98分區相關的占位器數據段就同accounts_nov98和accounts_dec98表相關的數據段作了交換。
    ?
    ? ? ③重新定義accounts視圖
    ??? CREATE OR REPLACE VIEW accounts AS
    ??? SELECT * FROM accounts_jan98
    ??? UNION ALL
    ??? SELECT * FROM accounts_fab98
    ??? UNION ALL
    ??? ...
    ??? UNION ALL
    ??? SELECT * FROM accounts_new PARTITION (nov98)
    ??? UNION ALL
    ??? SELECT * FROM accounts_new PARTITION (dec98);
    ?
    ??? ④刪除accounts_nov98和accounts_dec98表
    ?
    ??? ⑤重復以上操作,直至所有表都轉換到分區中,刪除該視圖,并將分區表改為視圖名。
    ??? DROP VIEW accounts;
    ??? RENAME accounts_new to accounts;
    ?
    ?
    三、分區表/索引的相關信息
    ?
    ??? DBA|ALL|USER_PART_TABLES:顯示所有分區表的分區信息
    ??? DBA|ALL|USER_TAB_PARTITIONS:顯示分區層次的分區信息、分區存儲參數、由ANALYZE決定的的統計數據
    ??? DBA|ALL|USER_TAB_SUBPARTITIONS:顯示子分區層次的分區信息、分區存儲參數、由ANALYZE決定的統計數據
    ??? DBA|ALL|USER_PART_KEY_COLUMNS:先是分區表的分區鍵值
    ??? DBA|ALL|USER_SUBPART_KEY_COLUMNS:顯示組合分區表(和組合分區表上的局部索引)的子分區鍵列
    ??? DBA|ALL|USER_PART_COL_STATISTICS:顯示表分區的列統計數據和直方圖信息
    ??? DBA|ALL|USER_SUBPART_COL_STATISTICS:顯示表子分區的列統計數據和直方圖信息
    ??? DBA|ALL|USER_PART_HISTOGRAMS:顯示表的分區上的直方圖和直方圖數據
    ??? DBA|ALL|USER_SUBPART_HISTOGRAMS:顯示表的子分區上的直方圖和直方圖數據
    ??? DBA|ALL|USER_PART_INDEXES:顯示分區索引的分區信息
    ??? DBA|ALL|USER_IND_PARTITIONS:顯示索引分區的:分區層次信息、分區存儲參數、ANALYZE采集的統計數據
    ??? DBA|ALL|USER_IND_SUBPARTITONS:顯示索引子分區的:分區層次信息、分區存儲參數、ANALYZE采集的統計數據
    ?
    ?
    ?
    ?
    posted on 2009-03-08 21:56 decode360 閱讀(284) 評論(0)  編輯  收藏 所屬分類: 08.DBA
    主站蜘蛛池模板: 中中文字幕亚洲无线码| 免费一级毛suv好看的国产网站| 一本到卡二卡三卡免费高 | 亚洲国产精品自在线一区二区| 亚洲永久永久永久永久永久精品| 国产又黄又爽胸又大免费视频| 亚洲综合精品网站| xxxx日本在线播放免费不卡| 久久亚洲AV永久无码精品| 一级看片免费视频囗交| 永久亚洲成a人片777777| 亚洲欧美中文日韩视频| 日本免费网站观看| 亚洲天堂视频在线观看| 国产精品免费网站| 国产成A人亚洲精V品无码性色| 在线播放免费人成毛片乱码| 免费观看午夜在线欧差毛片| 日韩a毛片免费观看| 亚洲熟女少妇一区二区| 2021精品国产品免费观看| 亚洲日产乱码一二三区别| 亚洲AV无码不卡在线观看下载| 亚洲免费无码在线| 国产精品免费一级在线观看| 四虎影视久久久免费观看| 亚洲AV永久无码精品| 波多野结衣免费在线| 国产AV日韩A∨亚洲AV电影| 免费av欧美国产在钱| 理论片在线观看免费| 又色又污又黄无遮挡的免费视| 亚洲一区二区三区不卡在线播放| 日本特黄特色免费大片| 精品熟女少妇aⅴ免费久久| 亚洲精品在线播放视频| h在线观看视频免费网站| 亚洲高清国产拍精品熟女| 午夜色a大片在线观看免费| 亚洲无码一区二区三区| 最近免费中文字幕视频高清在线看|