博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Oracle在线重定义Online Redefinition清理历史数据
阅读量:6212 次
发布时间:2019-06-21

本文共 1757 字,大约阅读时间需要 5 分钟。

我在
一文中介绍了Oracle在线重定义的特点及其使用步骤,Online Redefinition的适用场景很多,包括:  
  • Modify the storage parameters of a table or cluster
  • Move a table or cluster to a different tablespace
  • Add, modify, or drop one or more columns in a table or cluster
  • Add or drop partitioning support (non-clustered tables only)
  • Change partition structure
  • Change physical properties of a single table partition, including moving it to a different tablespace in the same schema
  • Change physical properties of a materialized view log or an Oracle Streams Advanced Queueing queue table
  • Add support for parallel queries
  • Re-create a table or cluster to reduce fragmentation
  • Change the organization of a normal table (heap organized) to an index-organized table, or do the reverse.
  • Convert a relational table into a table with object columns, or do the reverse.
  • Convert an object table into a relational table or a table with object columns, or do the reverse.
  但是Online Redefinition恰恰就是不支持对于表上历史数据的清理( 甚至于数据更新update都是支持的), 对于存有海量数据且没有分区的大表而言历史数据的清理是非常头痛的工作,特别是在7*24 应用不能下线的环境当中, 我们往往无法利用CTAS或INSERT APPEND+NOLOGGING的方式重建表以加速清理工作,而仅能使用最为原始的DELETE DML, 而我们知道DELETE操作是很缓慢的(与之前所提及的方法相比,真实世界中DELETE的效率还会受到INDEX clustering_factor聚集因子等因素的影响而显得更慢,见
), 且为了避免ORA-01555快照过久的错误出现,我们不能简单地使用一条DELETE SQL来清理数据,而需要使用PL/SQL匿名块控制并定期commit提交以避免ORA-01555。   实际上我们还是可以通过将非分区表Online Redefinition转换为以删除条件为Range范围分区的Partition-ed Table,再直接Truncate Partiton的方法来加速历史数据的清理, 同时又不影响业务的在线。   例如有如下非分区表一张:  
create table order_history(order_id number primary key,issue_date date ,location varchar2(200),amount number,maclean varchar2(200),QUANTITY_SOLD number,PROMO_ID number,CUST_ID number,CHANNEL_ID number) tablespace users pctfree 0;SQL> select count(*) from ORDER_HISTORY;
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278193

转载地址:http://wwcja.baihongyu.com/

你可能感兴趣的文章
Ubuntu下安装mysql5.5.14
查看>>
也谈ibm aix jfs2
查看>>
扩展ACL(Extended ACL)
查看>>
Java正则系列: (2)量词
查看>>
通过VBS脚本提取IUSR和IWAM帐户的密码
查看>>
Debug add-type 的错误信息
查看>>
Virtual Server 2005 系统文件的安全设置
查看>>
Microsoft Office SharePoint Designer 2007 宣布免费
查看>>
Hyper-V Server V1 vs. R2
查看>>
Linux下多播的配置【十全十美】
查看>>
浅析Windows7的睡眠、休眠、混合睡眠、离开模式
查看>>
ExtJs 实现表单联动
查看>>
当Citrix License服务不可用时
查看>>
Managed anti-debugging – how to prevent users from attaching a debugger
查看>>
局域网互访六大问题综述
查看>>
Windows Server入门系列19 ARP欺骗原理
查看>>
从 if else 到 switch case 再到抽象
查看>>
Linux 服务器故障排除的前五分钟 (First 5 Minutes Troubleshooting A Linux Server)
查看>>
Dynagen最新版本发布
查看>>
远程注入进程
查看>>