设为首页 加入收藏

TOP

使用导出导入(datapump)方式将普通表切换为分区表(二)
2015-07-24 11:57:06 来源: 作者: 【 】 浏览:16
Tags:使用 导出 导入 datapump 方式 普通 切换 分区表
e big_table to big_table_old; Table renamed. SQL> rename big_table2 to big_table; Table renamed. $ impdp leshami/xxx directory=db_dump_dir dumpfile=big_table.dmp logfile=imp__big_tb.log tables=big_table EXEC DBMS_STATS.gather_table_stats('LESHAMI', 'BIG_TABLE', cascade => TRUE); --下面是导入数据之后的结果 SQL> select table_name, partition_name,high_value,num_rows 2 from user_tab_partitions where table_name='BIG_TABLE'; TABLE_NAME PARTITION_NAME HIGH_VALUE NUM_ROWS ------------------------------ ------------------------------ --------------------- ---------- BIG_TABLE2 BIG_TABLE_2012 TO_DATE(' 2013-01-01 3333 BIG_TABLE2 BIG_TABLE_2013 TO_DATE(' 2014-01-01 3334 BIG_TABLE2 BIG_TABLE_2014 MAXVALUE 3333 --如果数据无异常可以删除源表以便为分区表添加相应索引及约束,如果未删除源表,需要使用单独的索引,约束名等 SQL> drop table big_table; Table dropped. ALTER TABLE big_table ADD ( CONSTRAINT big_table_pk PRIMARY KEY (id) ); CREATE INDEX bita_created_date_i ON big_table(created_date) LOCAL; CREATE INDEX bita_look_fk_i ON big_table(lookup_id) LOCAL; ALTER TABLE big_table ADD ( CONSTRAINT bita_look_fk FOREIGN KEY (lookup_id) REFERENCES lookup(id) ); --触发器也需要单独添加到分区表 CREATE OR REPLACE TRIGGER tr_bf_big_table BEFORE UPDATE OF created_date ON big_table FOR EACH ROW BEGIN :new.created_date := TO_CHAR (SYSDATE, 'yyyymmdd hh24:mi:ss'); END tr_bf_big_table2; / 5、后记

Oracle 牛鹏社

更多参考

有关Oracle RAC请参考

有关Oracle 网络配置相关基础以及概念性的问题请参考:

有关基于用户管理的备份和备份恢复的概念请参考

有关RMAN的备份恢复与管理请参考

有关ORACLE体系结构请参考

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇软考之---数据库 下一篇Redis的持久化--RDB

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解智能指针? (2025-12-24 12:48:26)
·c++是否应避免使用普 (2025-12-24 12:48:23)
·如何通俗易懂学会 C+ (2025-12-24 12:48:21)
·在 C 语言函数中,如 (2025-12-24 12:19:41)
·C盘里面的AppData文 (2025-12-24 12:19:38)