<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ū)的一些維護(hù)性操作:
    一、添加分區(qū)
    以下代碼給SALES表添加了一個P3分區(qū)
    ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
    注意:以上添加的分區(qū)界限應(yīng)該高于最后一個分區(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ù)。當(dāng)表中即使只有一個分區(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ū)。以下代碼實(shí)現(xiàn)了P1 P2分區(qū)的合并:
    ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;

    五、拆分分區(qū)
    拆分分區(qū)將一個分區(qū)拆分兩個新分區(qū),拆分后原來分區(qū)不再存在。注意不能對HASH類型的分區(qū)進(jìn)行拆分。
    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ū)中,當(dāng)散列分區(qū)中的數(shù)據(jù)比較大時,可以增加散列分區(qū),然后進(jìn)行接合,值得注意的是,接合分區(qū)只能用于散列分區(qū)中。通過以下代碼進(jìn)行接合分區(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

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

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

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

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

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

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

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

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

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

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

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

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

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

    --顯示當(dāng)前用戶所有分區(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)點(diǎn):
    1、數(shù)據(jù)查詢:數(shù)據(jù)被存儲到多個文件上,減少了I/O負(fù)載,查詢速度提高。
    2、數(shù)據(jù)修剪:保存歷史數(shù)據(jù)非常的理想。
    3、備份:將大表的數(shù)據(jù)分成多個文件,方便備份和恢復(fù)。
    4、并行性:可以同時向表中進(jìn)行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)載請標(biāo)明出處: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';  回復(fù)  更多評論
      
    主站蜘蛛池模板: 特级毛片免费播放| 成人精品一区二区三区不卡免费看| 热99re久久免费视精品频软件| 免费大片av手机看片高清| 亚洲VA中文字幕无码一二三区| 精品久久久久久久久免费影院| 色费女人18女人毛片免费视频| 亚洲AV无码国产精品麻豆天美 | 免费在线观看视频a| 国产成年无码久久久免费| 亚洲另类小说图片| 久久久久无码专区亚洲av| 国产又大又粗又长免费视频| 香蕉视频在线观看免费| 亚洲国产精品成人久久久 | 亚洲乱亚洲乱妇24p| 国产亚洲一区二区三区在线| 成人性生交大片免费看午夜a| A片在线免费观看| 国产精品自拍亚洲| 亚洲欧洲国产精品久久| 亚洲中久无码永久在线观看同| 最近中文字幕无吗免费高清| 国产婷婷成人久久Av免费高清| 亚洲av无码成人精品国产 | 色拍自拍亚洲综合图区| 亚洲国产综合人成综合网站| 免费A级毛片无码免费视| 成人精品视频99在线观看免费| 亚洲国产精品无码第一区二区三区| 亚洲ⅴ国产v天堂a无码二区| 亚洲国产黄在线观看| 成人毛片手机版免费看| 国产成人福利免费视频| 久久久久免费精品国产小说| 成年免费大片黄在线观看com| 中文字幕在线日亚洲9| 亚洲天堂一区二区三区| 亚洲av日韩av激情亚洲| 丝袜熟女国偷自产中文字幕亚洲| 四虎永久免费影院|