Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1126037
  • 博文数量: 276
  • 博客积分: 10077
  • 博客等级: 上将
  • 技术积分: 2513
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-24 20:31
文章分类

全部博文(276)

文章存档

2020年(1)

2015年(5)

2012年(2)

2011年(6)

2010年(7)

2009年(224)

2008年(31)

我的朋友

分类: Oracle

2009-06-19 17:37:08

百度了关于在线重定义表的一些限制,都是别人的经验总结.
虽然目前应用上还不需要用到,但从别人的经验总结上来看应该不会在生产库做这种动作.
++++++++++++++++++++++++++++++++++++++++++++
 
 
在线表格重定义
前提:然而,在线表格重定义也不是完美无缺的。下面列出了Oracle9i重定义过程的部分限制。
·你必须有足以维护两份表格拷贝的空间。
·你不能更改主键栏。
·表格必须有主键。
·必须在同一个大纲中进行表格重定义。
·在重定义操作完成之前,你不能对新加栏加以NOT NULL约束。
·表格不能包含LONG、BFILE以及用户类型(UDT)。
·不能重定义链表(clustered tables)。
·不能在SYS和SYSTEM大纲中重定义表格。
·不能用具体化视图日志(materialized view logs)来重定义表格;不能重定义含有具体化视图的表格。
·不能在重定义过程中进行横向分集(horizontal subsetting)。
 
一般会有这个需求,需要将在线大表(5G以上)更改为分区表,Dbms_Redefinition在线重定义非常慢,
可能需要好几个小时,大表又是实时的业务操作,这就存在很大的失败风险。有朋友曾经在线重定义过
程中失败导致业务瘫痪,建议还是少用,或是不用,知道有这么回事就可以了。
阅读(690) | 评论(0) | 转发(0) |
0

上一篇:Exchange Partition

下一篇:父亲节

给主人留下些什么吧!~~