一、添加分區(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ū)。以下代碼實現(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;
八、相關(guān)查詢
跨分區(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;
@import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);