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

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

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

    隨筆-314  評論-209  文章-0  trackbacks-0

    有關(guān)表分區(qū)的一些維護性操作:
    一、添加分區(qū)
    以下代碼給SALES表添加了一個P3分區(qū)
    ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
    注意:以上添加的分區(qū)界限應該高于最后一個分區(qū)界限。

    以下代碼給SALES表的P3分區(qū)添加了一個P3SUB1子分區(qū)
    ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE');

    二、刪除分區(qū)
    以下代碼刪除了P3表分區(qū):
    ALTER TABLE SALES DROP PARTITION P3;

    在以下代碼刪除了P4SUB1子分區(qū):
    ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
    注意:如果刪除的分區(qū)是表中唯一的分區(qū),那么此分區(qū)將不能被刪除,要想刪除此分區(qū),必須刪除表。

    三、截斷分區(qū)
    截斷某個分區(qū)是指刪除某個分區(qū)中的數(shù)據(jù),并不會刪除分區(qū),也不會刪除其它分區(qū)中的數(shù)據(jù)。當表中即使只有一個分區(qū)時,也可以截斷該分區(qū)。通過以下代碼截斷分區(qū):
    ALTER TABLE SALES TRUNCATE PARTITION P2;
    通過以下代碼截斷子分區(qū):
    ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;

    四、合并分區(qū)
    合并分區(qū)是將相鄰的分區(qū)合并成一個分區(qū),結(jié)果分區(qū)將采用較高分區(qū)的界限,值得注意的是,不能將分區(qū)合并到界限較低的分區(qū)。以下代碼實現(xiàn)了P1 P2分區(qū)的合并:
    ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;

    五、拆分分區(qū)
    拆分分區(qū)將一個分區(qū)拆分兩個新分區(qū),拆分后原來分區(qū)不再存在。注意不能對HASH類型的分區(qū)進行拆分。
    ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE('2003-02-01','YYYY-MM-DD'))
    INTO (PARTITION P21,PARTITION P22);

    六、接合分區(qū)(coalesca)
    結(jié)合分區(qū)是將散列分區(qū)中的數(shù)據(jù)接合到其它分區(qū)中,當散列分區(qū)中的數(shù)據(jù)比較大時,可以增加散列分區(qū),然后進行接合,值得注意的是,接合分區(qū)只能用于散列分區(qū)中。通過以下代碼進行接合分區(qū):
    ALTER TABLE SALES COALESCA PARTITION;

    七、重命名表分區(qū)
    以下代碼將P21更改為P2
    ALTER TABLE SALES RENAME PARTITION P21 TO P2;

    九、跨分區(qū)查詢
    select sum( *) from (
    (select count(*) cn from t_table_SS PARTITION (P200709_1)
    union all
    select count(*) cn from t_table_SS PARTITION (P200709_2));

    十、查詢表上有多少分區(qū)
    SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='tableName'

    十一、查詢索引信息
    select object_name,object_type,tablespace_name,sum(value)
    from v$segment_statistics
    where statistic_name IN ('physical reads','physical write','logical reads')and object_type='INDEX'
    group by object_name,object_type,tablespace_name
    order by 4 desc


    --顯示數(shù)據(jù)庫所有分區(qū)表的信息:
    select * from DBA_PART_TABLES

    --顯示當前用戶可訪問的所有分區(qū)表信息:
    select * from ALL_PART_TABLES

    --顯示當前用戶所有分區(qū)表的信息:
    select * from USER_PART_TABLES

    --顯示表分區(qū)信息 顯示數(shù)據(jù)庫所有分區(qū)表的詳細分區(qū)信息:
    select * from DBA_TAB_PARTITIONS

    --顯示當前用戶可訪問的所有分區(qū)表的詳細分區(qū)信息:
    select * from ALL_TAB_PARTITIONS

    --顯示當前用戶所有分區(qū)表的詳細分區(qū)信息:
    select * from USER_TAB_PARTITIONS

    --顯示子分區(qū)信息 顯示數(shù)據(jù)庫所有組合分區(qū)表的子分區(qū)信息:
    select * from DBA_TAB_SUBPARTITIONS

    --顯示當前用戶可訪問的所有組合分區(qū)表的子分區(qū)信息:
    select * from ALL_TAB_SUBPARTITIONS

    --顯示當前用戶所有組合分區(qū)表的子分區(qū)信息:
    select * from USER_TAB_SUBPARTITIONS

    --顯示分區(qū)列 顯示數(shù)據(jù)庫所有分區(qū)表的分區(qū)列信息:
    select * from DBA_PART_KEY_COLUMNS

    --顯示當前用戶可訪問的所有分區(qū)表的分區(qū)列信息:
    select * from ALL_PART_KEY_COLUMNS

    --顯示當前用戶所有分區(qū)表的分區(qū)列信息:
    select * from USER_PART_KEY_COLUMNS

    --顯示子分區(qū)列 顯示數(shù)據(jù)庫所有分區(qū)表的子分區(qū)列信息:
    select * from DBA_SUBPART_KEY_COLUMNS

    --顯示當前用戶可訪問的所有分區(qū)表的子分區(qū)列信息:
    select * from ALL_SUBPART_KEY_COLUMNS

    --顯示當前用戶所有分區(qū)表的子分區(qū)列信息:
    select * from USER_SUBPART_KEY_COLUMNS

    --怎樣查詢出oracle數(shù)據(jù)庫中所有的的分區(qū)表
    select * from user_tables a where a.partitioned='YES'

    --刪除一個表的數(shù)據(jù)是
    truncate table table_name;

    --刪除分區(qū)表一個分區(qū)的數(shù)據(jù)是
    alter table table_name truncate partition p5;

    注:分區(qū)根據(jù)具體情況選擇。

    表分區(qū)有以下優(yōu)點:
    1、數(shù)據(jù)查詢:數(shù)據(jù)被存儲到多個文件上,減少了I/O負載,查詢速度提高。
    2、數(shù)據(jù)修剪:保存歷史數(shù)據(jù)非常的理想。
    3、備份:將大表的數(shù)據(jù)分成多個文件,方便備份和恢復。
    4、并行性:可以同時向表中進行DML操作,并行性性能提高。
    ================================================

    索引:
    1、一般索引:
    create index index_name on table(col_name);
    2、Oracle 分區(qū)索引詳解
    語法:Table Index
    CREATE [UNIQUE|BITMAP] INDEX [schema.]index_name
    ON [schema.]table_name [tbl_alias]
    (col [ASC | DESC]) index_clause index_attribs

    index_clauses:
    分以下兩種情況

    1. Local Index
    就是索引信息的存放位置依賴于父表的Partition信息,換句話說創(chuàng)建這樣的索引必須保證父表是Partition
    1.1 索引信息存放在父表的分區(qū)所在的表空間。但是僅可以創(chuàng)建在父表為HashTable或者composite分區(qū)表的。
    LOCAL STORE IN (tablespace)
    1.2 僅可以創(chuàng)建在父表為HashTable或者composite分區(qū)表的。并且指定的分區(qū)數(shù)目要與父表的分區(qū)數(shù)目要一致
    LOCAL STORE IN (tablespace) (PARTITION [partition [LOGGING|NOLOGGING] [TABLESPACE {tablespace|DEFAULT}] [PCTFREE int] [PCTUSED int] [INITRANS int] [MAXTRANS int] [STORAGE storage_clause] [STORE IN {tablespace_name|DEFAULT] [SUBPARTITION [subpartition [TABLESPACE tablespace]]]])

    1.3 索引信息存放在父表的分區(qū)所在的表空間,這種語法最簡單,也是最常用的分區(qū)索引創(chuàng)建方式。
    Local
    1.4 并且指定的Partition 數(shù)目要與父表的Partition要一致
    LOCAL (PARTITION [partition
    [LOGGING|NOLOGGING]
    [TABLESPACE {tablespace|DEFAULT}]
    [PCTFREE int]
    [PCTUSED int]
    [INITRANS int]
    [MAXTRANS int]
    [STORAGE storage_clause]
    [STORE IN {tablespace_name|DEFAULT]
    [SUBPARTITION [subpartition [TABLESPACE tablespace]]]])

    Global Index
    索引信息的存放位置與父表的Partition信息完全不相干。甚至父表是不是分區(qū)表都無所謂的。語法如下:
    GLOBAL PARTITION BY RANGE (col_list)
    ( PARTITION partition VALUES LESS THAN (value_list)
    [LOGGING|NOLOGGING]
    [TABLESPACE {tablespace|DEFAULT}]
    [PCTFREE int]
    [PCTUSED int]
    [INITRANS int]
    [MAXTRANS int]
    [STORAGE storage_clause] )
    但是在這種情況下,如果父表是分區(qū)表,要刪除父表的一個分區(qū)都必須要更新Global Index ,否則索引信息不正確
    ALTER TABLE TableName DROP PARTITION PartitionName Update Global Indexes

    --查詢索引
    select object_name,object_type,tablespace_name,sum(value)
    from v$segment_statistics
    where statistic_name IN ('physical reads','physical write','logical reads')and object_type='INDEX'
    group by object_name,object_type,tablespace_name
    order by 4 desc


    本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/thinker28754/archive/2009/03/06/3962309.aspx

    posted on 2009-06-18 11:08 xzc 閱讀(2222) 評論(1)  編輯  收藏 所屬分類: Oracle

    評論:
    # re: oracle的表空間、分區(qū)表、以及索引的總結(jié) 2010-04-02 16:14 | xzc

    --刪除分區(qū)
    ALTER TABLE WID_SETT_TICKET_DAY_1100 DROP PARTITION P20100401;
    --增加分區(qū)
    ALTER TABLE WID_SETT_TICKET_DAY_1100 ADD PARTITION P20100401 VALUES (20100401) TABLESPACE ODSDATA_04 NOLOGGING;
    --查找分區(qū)
    select *
    from USER_TAB_PARTITIONS
    where table_name = 'WID_SETT_TICKET_DAY_1100'
    and partition_name = 'P20100401';  回復  更多評論
      
    主站蜘蛛池模板: 免费高清在线爱做视频| 亚洲剧情在线观看| 中文字幕在线成人免费看| 五月天婷亚洲天综合网精品偷| 亚洲午夜精品久久久久久app | 国产亚洲精品一品区99热| 免费无码AV一区二区| 免费jlzzjlzz在线播放视频| 国产成人亚洲综合在线| 又大又硬又爽免费视频| 香蕉视频免费在线播放| 亚洲国产精品国产自在在线 | 四虎免费影院ww4164h| 亚洲黄色免费网站| 国产精品成人观看视频免费 | 牛牛在线精品观看免费正| 国产亚洲午夜高清国产拍精品 | 亚洲AV无码国产精品色午友在线| 成人无码区免费视频观看| 9久热精品免费观看视频| 亚洲国产精品无码专区| 国产亚洲视频在线观看| 免费国产综合视频在线看| 黄色免费在线观看网址| 亚洲午夜成人精品电影在线观看| 国产免费内射又粗又爽密桃视频| 亚洲人成人77777网站| 久久精品电影免费动漫| 亚洲成综合人影院在院播放| 国产卡一卡二卡三免费入口| 亚洲欧美日韩国产成人| 免费女人18毛片a级毛片视频| 国产成人高清精品免费观看| 亚洲AV无码专区国产乱码电影 | 国产色爽免费视频| 日韩大片免费观看视频播放| 亚洲精品色午夜无码专区日韩| 少妇无码一区二区三区免费| 精品亚洲AV无码一区二区三区 | 国产亚洲一区二区三区在线不卡| 在线涩涩免费观看国产精品|