把普通表改為Partition表

2021-06-02 14:39:56 字數 1334 閱讀 4100

exec dbms_redefinition.can_redef_table('qa2_atgcore_mf', 'ngp_user_site', dbms_redefinition.cons_use_pk);

create table qa2_atgcore_mf.ngp_user_site_new

(user_id  varchar2(40 byte)                    not null,

site_id  varchar2(40 byte)                    not null

)partition by list (site_id)

(partition s1 values('1'),

partition s2 values('2'),

partition s3 values('3'),

partition s4 values('4'),

partition s5 values('5'),

partition s6 values('6'),

partition s7 values('7'),

partition s8 values('8'),

partition rest values (default)

);exec dbms_redefinition.start_redef_table('qa2_atgcore_mf', 'ngp_user_site', 'ngp_user_site_new');

exec dbms_redefinition.sync_interim_table('qa2_atgcore_mf', 'ngp_user_site', 'ngp_user_site_new');

exec dbms_redefinition.finish_redef_table('qa2_atgcore_mf', 'ngp_user_site', 'ngp_user_site_new');

select * from dba_tab_partitions where table_owner='qa2_atgcore_mf' and table_name='ngp_user_site';

select count(*) from qa2_atgcore_mf.ngp_user_site;

select count(*) from qa2_atgcore_mf.ngp_user_site partition (s1);

select count(*) from qa2_atgcore_mf.ngp_user_site partition (s7);

select count(*) from qa2_atgcore_mf.ngp_user_site partition (s8);

將普通表改為分割槽表

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

oracle將普通表改為分割槽表

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

把非分割槽表改為分割槽表

把非分割槽表改為分割槽表 說明 把非分割槽表改為分割槽表適用於歷史表 1 建立分割槽表 結構和非分割槽表tbl stock balance log相同 createtabletbl stock balance log part1 account id varchar2 20 byte occur d...