Oracle分区表之MODIFY 使用在线重定义对集合表进行分区

您可以使用联机重新定义将未分区的集合表复制到已分区的集合表格,Oracle数据库将行插入集合表格中的相应分区。示例4-41说明了如何对Objects列中的嵌套表执行此操作;类似的例子适用于XMLType表或列中的有序集合类型表。在copy_table_dependents操作期间,您指定0或false用于复制索引和约束,因为您希望保留新定义的集合表的索引和约束。但是,集合表及其分区的名称与临时表的名称相同(示例4-41中的print_media2)。必须采取明确的步骤来保留集合表名称。

通过在ALTER table SQL语句中添加MODIFY子句,可以将非分区表转换为分区表。

此外,可以指定关键字ONLINE,从而在转换过程中启用并发DML操作。

以下是ALTER TABLE语句的示例,该语句使用ONLINE关键字在线转换为分区表。

ALTER TABLE employees_convert MODIFY
  PARTITION BY RANGE (employee_id) INTERVAL (100)
  ( PARTITION P1 VALUES LESS THAN (100),
    PARTITION P2 VALUES LESS THAN (500)
   ) ONLINE
  UPDATE INDEXES
 ( IDX1_SALARY LOCAL,
   IDX2_EMP_ID GLOBAL PARTITION BY RANGE (employee_id)
  ( PARTITION IP1 VALUES LESS THAN (MAXVALUE))
 );

你可能感兴趣的:(oracle,数据库)