把每天當成最后一天來釋放自己

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            2 隨筆 :: 4 文章 :: 1 評論 :: 0 Trackbacks

          2012年5月9日 #

          1.為什么出現這樣的需求?

          無論什么情況,現在我們一個用戶的數據存在于多個表空間里,現在想把數據統一放在一個表空間里

          2.如何統一數據表同一個表空間,并保證以后同一個用戶的數據保存在一個表空間?

              2.1索引遷移

                  命令:ALTER INDEX BMI_ACCOUNTS REBUILD TABLESPACE DEMO;

                  生成用戶中對所有索引遷移的命令:

                  SELECT 'ALTER INDEX '||INDEX_NAME||' REBUILD TABLESPACE DEMO;' FROM USER_INDEXES WHERE TABLESPACE_NAME='EXAMPLE';

              2.2表遷移

          命令:ALTER TABLE ACCOUNTS MOVE TABLESPACE DEMO

          生成用戶中對所有表遷移的命令:

          SELECT 'ALTER TABLE '||TABLE_NAME||' MOVE TABLESPACE DEMO;' FROM USER_TABLES WHERE TABLESPACE_NAME='EXAMPLE';

          連同LOB字段一起遷移命令:

          ALTER TABLE test MOVE TABLESPACE test LOB (DATAPOLLIOR) STORE AS (TABLESPACE test);

          3.索引移動后可能出現索引無效的情況,這時需要重新建立索引

          -- 請以 DBA 權限登錄,并執行 
          -- 將所有 UNUSABLE 狀態的 index 修復, rebuild 一下即可 
          declare 
            -- 指向所有 UNUSABLE 狀態的 index 的游標 
            cursor c is  
              select index_name, owner  
              from dba_indexes  
              where status='UNUSABLE'; 
             
            owner dba_indexes.owner%type; 
            index_name dba_indexes.index_name%type; 
          begin 
            open c; 
            loop  
                 fetch c into index_name, owner;  
                 exit when c%notfound; 
                  
                 execute immediate 'alter index ' || owner || '.' || index_name || ' rebuild'; 
            end loop; 
            close c; 
          end; 

          posted @ 2012-05-09 23:17 風的方向 閱讀(1264) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 上犹县| 清流县| 台山市| 白银市| 民和| 石门县| 屯留县| 旌德县| 磴口县| 钟祥市| 伽师县| 曲沃县| 永定县| 尤溪县| 高州市| 平江县| 商城县| 江永县| 来安县| 西乌珠穆沁旗| 修水县| 阿荣旗| 墨脱县| 乌兰县| 永登县| 鹤山市| 黄浦区| 阜康市| 韶山市| 鸡西市| 舟曲县| 莱西市| 吐鲁番市| 天全县| 游戏| 铅山县| 台前县| 申扎县| 柯坪县| 长子县| 肥城市|