ORACLE將已有表分割槽

2022-06-15 13:18:08 字數 2338 閱讀 7963

--以table_name內容建立分割槽表table_name1並將資料寫入

create

table table_name1 partition by

range(createdate)

(partition table_name_p1

values less than (to_date('

2018-1-1 00:00:00

', '

yyyy-mm-dd hh24:mi:ss

')),

partition table_name_p2

values less than (to_date('

2019-1-1 00:00:00

', '

yyyy-mm-dd hh24:mi:ss

')),

partition table_name_p3

values less than (to_date('

2020-1-1 00:00:00

', '

yyyy-mm-dd hh24:mi:ss

')),

partition table_name_p4

values less than (to_date('

2021-1-1 00:00:00

', '

yyyy-mm-dd hh24:mi:ss

')),

partition table_name_p5

values

less than(maxvalue))

asselect

*from table_name;

--將原表名備份

alter

table table_name rename to table_name_old;

--將分割槽表名改為原表名

alter

table table_name1 rename to table_name;

--檢視兩表資料是否一致

(select

count(*) num,'

table_name

' tablename from table_name t) union

all(

select

count(*) num,'

table_name_old

' tablename from table_name_old t);

--刪除備份表中索引(避免新建衝突)

select

*from user_indexes where table_name=

'table_name_old';

drop

index index_name;

--以plsql檢視並新增注釋及索引(選擇table,右鍵view,右下角view sql)

comment on

table table_name is

'部門資訊表';

comment

oncolumn table_name.stitic_month is

'統計月份';

comment

oncolumn table_name.cus_no is

'部門**

';

--新增索引

create

index index_name on table_name (column_name);

--刪除備份表

drop

table table_name_old;

--檢視表的分割槽

select table_name,partition_name from user_tab_partitions where table_name=

'table_name

';

--檢視某一分割槽的全部記錄

select

*from table_name partition(partition_name);

alter

table table_name truncate partition partition_name update global indexes; --

truncate某一分割槽

alter

table table_name drop partition partition_name update global indexes;    --

刪除表中某一分割槽(會同時刪除分割槽裡的資料)

oracle對已有表建立分割槽

oracle根據已有表及資料建立表分割槽並匯入資料 假設情景 現有system.test表,資料量過千萬,處於ts test表空間中。表中有列a,將a 6與a小於6的資料進行分割槽 www.2cto.com 確保不會有外部程式修改需要建表分割槽的表 1.對需要重建表分割槽的表進行備份,匯出dmp,防...

oracle根據已有表及資料建立表分割槽並匯入資料

假設情景 現有system.test表,資料量過千萬,處於ts test表空間中。表中有列a,將a 6與a小於6的資料進行分割槽 確保不會有外部程式修改需要建表分割槽的表 1.對需要重建表分割槽的表進行備份,匯出dmp,防止資料丟失 exp 使用者名稱 密碼 tns名 file c test.dmp...

oracle將普通表改為分割槽表

oracle的普通表沒有辦法通過修改屬性的方式直接轉化為分割槽表,必須通過重建的方式進行轉變,下面介紹三種效率比較高的方法,並說明它們各自的特點。方法一 利用原表重建分割槽表。步驟 sql create table t id number primary key,time date 表已建立。sql...