--查看分區記錄
select * from dba_tab_partitions where table_name='TB_LOAN_ACCOUNT_CON';
--查看分區表下有多少個分區
select table_name,count(*) from dba_tab_partitions group by table_name order by 2 desc;
--我的業務創建分區表 -- 在線重定義
--查看該表是否可以進行在線重定義
execute dbms_redefinition.can_redef_table('SCMS_CON','TB_LOAN_ACCOUNT_CON');
--grant all on SYS.DBMS_REDEFINITION to SCMS_CON;
--grant create any table,alter any table,drop any table,lock any table,select any table to scms_con;
-- Create table
create table TB_LOAN_ACCOUNT_CON_BAK
(
uuid VARCHAR2(32) not null,
party_id VARCHAR2(32),
contract_no VARCHAR2(30),
paper_contract_no VARCHAR2(150),
contract_amt NUMBER(26,8),
currency_cd VARCHAR2(6),
banlence_amt NUMBER(20,2),
con_used_amt NUMBER(20,2),
product_type VARCHAR2(30),
mk_product_type VARCHAR2(30),
cycle_flag VARCHAR2(1),
guaranty_type VARCHAR2(20),
main_guaranty_type VARCHAR2(6),
start_date CHAR(8),
end_date CHAR(8),
sign_term VARCHAR2(10),
term_unit VARCHAR2(3),
sign_date CHAR(8),
sign_address VARCHAR2(200),
sign_way VARCHAR2(3),
print_count VARCHAR2(3),
loan_con_status VARCHAR2(6),
user_num VARCHAR2(20) not null,
org_num VARCHAR2(10),
create_time VARCHAR2(50),
update_time VARCHAR2(50),
del_flag VARCHAR2(1),
trunc_no NUMBER,
data_chan VARCHAR2(3),
bank_code VARCHAR2(16),
conid VARCHAR2(32),
acc_id VARCHAR2(32),
move_flag VARCHAR2(1),
recerve_user VARCHAR2(10),
recerve_org VARCHAR2(10),
fina_support_type VARCHAR2(2),
cus_no VARCHAR2(50),
cus_name VARCHAR2(200),
nft_no VARCHAR2(32),
cont_level_type CHAR(2)
) partition by hash(bank_code) partitions 6 ;
-- Create/Recreate indexes
create index IDX_N_ACCOUNT_CON_CONID on TB_LOAN_ACCOUNT_CON_BAK (CONID);
create index IDX_N_ACCOUNT_CON_PARTY_ID on TB_LOAN_ACCOUNT_CON_BAK (PARTY_ID);
create index IDX_N_ACCOUNT_CON_USER_ORG on TB_LOAN_ACCOUNT_CON_BAK (ORG_NUM, USER_NUM);
create index IND_TB_LOAN_ACCOUNT_CON_ACC_ID on TB_LOAN_ACCOUNT_CON_BAK (ACC_ID);
-- Create/Recreate primary, unique and foreign key constraints
alter table TB_LOAN_ACCOUNT_CON add constraint TB_LOAN_ACCOUNT_CON_BAK primary key (UUID);
--在見表後緊接着應該是建立需要的索引? 暫不確定 建立完成之後也可進行建立索引的操作吧?!
--執行表的在線重定義
execute dbms_redefinition.start_redef_table('SCMS_CON','TB_LOAN_ACCOUNT_CON','TB_LOAN_ACCOUNT_CON_BAK');
--執行中間表和數據源表的數據同步TB_LOAN_ACCOUNT_CON_BAK
execute dbms_redefinition.sync_interim_table('SCMS_CON','TB_LOAN_ACCOUNT_CON','TB_LOAN_ACCOUNT_CON_BAK');
--結束
execute dbms_redefinition.finish_redef_table('SCMS_CON','TB_LOAN_ACCOUNT_CON','TB_LOAN_ACCOUNT_CON_BAK');
記一次Oracle的分區表建立
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.