为了对现有的非分区表进行分区,可以使用EXCHANGE分区或DBMS_REDEFINITION。如何决定为表分区选择哪些可能性。这取决于表中驻留了多少数据吗?一次手术比另一次安全吗?
发布于 2011-03-11 12:39:23
在这两种情况下,您最终都将使用exchange分区,并且可能会使用一系列分割分区。如果您的表没有像约束和触发器这样的许多依赖项,那么使用重新定义的路由可能会更容易,因为它会为您节省大量时间。将新表作为副本准备,并在结束阶段交换对象id。如果存在大量依赖项,则必须使用不同的名称重新创建它们。操作将花费一些时间,这取决于大小。如果你是为了安全..。在这两种情况下,操作失败或成功。桌子上的东西怎么样?在迁移过程中,它会收到很多更新/插入/删除吗?你有空闲时间吗?如果可能的话,我会追求简单,使用停机时间,而不使用重新定义。
发布于 2011-03-11 15:05:24
我同意ik_zelf(+1)。您可能想要执行Exchange,因此您应该阅读有关它和SQL语言引用的它必须遵守的规则信息。
DBMS_Redefinition的目的是在线而不是离线进行更改。您应该阅读管理人指南以了解它可以帮助您的情况。
https://dba.stackexchange.com/questions/1692
复制相似问题