我有一个现有的数据库,每个表都有4个分区(有使用RANGE和HASH分区的表)。如何将分区表导入具有不同分区数的表中? (Oracle 10g)
我需要使用预先创建的模式将其导入另一个数据库,其中相同的表将具有8个分区。
我该怎么做?如果我进行表级导入,这是否“正常工作”?
我有一个现有的数据库,每个表都有4个分区(有使用RANGE和HASH分区的表)。如何将分区表导入具有不同分区数的表中? (Oracle 10g)
我需要使用预先创建的模式将其导入另一个数据库,其中相同的表将具有8个分区。
我该怎么做?如果我进行表级导入,这是否“正常工作”?
是的。使用IGNORE=Y
设置,并按照您希望物理组织的方式在目标模式/数据库中创建表。如果在目标系统中没有相同的“覆盖范围” - 如果没有可以容纳从源导入的所有数据的分区/子分区,则可能遇到的主要问题是。
这取决于分区值是否相同。如果新表中有4个分区与旧表具有相同的分区值,则可以导入到与旧表相同的表中,然后根据需要拆分分区以获得8个新分区。
如果您不太关心性能,只需将该过程视为将数据从一个表移动到另一个表。该平台将采取其余的。
这就是“它只是有效”的结果?一个表级的导入只会把事情搞清楚?好消息,如果是这样的话(因为我们并不那么担心性能,数据库现在并不是很大,而且是一次性迁移) – 2010-03-05 13:50:49
我已经成功使用INSERT INTO new_table SELECT col1,col2,col3 FROM old_table, old_table和new_table上的分区不一样,所以是的。除非有特定的限制因素,否则它可能会奏效。 – Ryan 2010-03-05 13:55:31