设为首页 收藏本站
查看: 489|回复: 0

[经验分享] ORACLE创建分区表及分区表的数据迁移

[复制链接]
YunVN网友  发表于 2016-8-14 07:22:14 |阅读模式
  对于目前数据量较大的表,REPORT_AP_STAT_HOUR(2个月有1900万),CLIENT_OFFLINE_HISTORY(2个月有4800万),如果保存超过一年数据将达数亿,对这种级别的数据索引优化已经达不到要求的(15秒之内完成查询),因此需要进行按月分表,使用ORACLE11G的新特性interval按月进行自动分表。
分区表建表语句如下:
 
 

CREATE TABLE CLIENT_OFFLINE_HISTORY_IN(
"CLIENT_OFFLINE_ID" NUMBER(20) NOT NULL ,
"AP_ID" NUMBER(20) NULL ,
CONSTRAINT "PK_CLIENT_INTERVAL" PRIMARY KEY ("CLIENT_OFFLINE_ID")
)PARTITION BY RANGE (CREATE_TIME)
INTERVAL ( NUMTOYMINTERVAL (1, 'MONTH') )
(PARTITION part1
VALUES LESS THAN (TO_DATE ('2013-08-01', 'yyyy-MM-dd')))
  
  
  
由于ORACLE不能直接将表修改为分区表,对于已经部署的系统需要先将分区表建立,然后将老表中的数据迁移至分区表。
 
普通表与分区表之间的数据迁移目前有三种方案:
(1)       使用INSERT INTO SELECT 语句,速度较慢
 

INSERT INTO CLIENT_OFFLINE_HISTORY_IN SELECT * FROM CLIENT_OFFLINE_HISTORY
  
  
(2)       使用expdp/impdp工具,速度较快
      查看目录:

SELECT * FROM dba_directories;
  
创建dir dba权限:
 

CREATE DIRECTORY DPDATA AS '/home/oracle/dump';
  执行导出语句
  
 

expdp wlan/wlan1o2o DUMPFILE=history.dmp TABLES=CLIENT_OFFLINE_HISTORY  DIRECTORY=dpdata
  
  
执行导入语句
 

impdp wlan/wlan1o2o DIRECTORY=dpdata DUMPFILE=history.dmp TABLES=CLIENT_OFFLINE_HISTORY REMAP_TABLE=CLIENT_OFFLINE_HISTORY:CLIENT_OFFLINE_HISTORY_IN TABLE_EXISTS_ACTION=APPEND
  
  
(3)       使用交换分区速度最快,原理迁移不做任何的IO操作只是更改数据字典,限制条件是普通表内数据必须符合分区中的一个分区
 

ALTER TABLE TEST_INTERVAL_PAR EXCHANGE PARTITION PART1 WITH TABLE TEST_INTERVAL WITHOUT VALIDATION;
  
具体使用的时候可以根据实际需要进行相应的迁移操作。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257509-1-1.html 上篇帖子: 使用UltraEdit快速分析Oracle表记录条数 下篇帖子: Oracle 11g 新特性:只读表(Read-only)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表