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