Tag Archives: dbms_redefinition

联机重定义表示例

Oracle 9i 之后可以进行联机重定义表(Online Redefine Tables,或”在线重定义表”).该特性从某种程度上提供了一定的高可用性.通过该功能可以做到:

  • 修改表的存储参数
  • 移动该表到相同 Schema 下的 不同表空间内
  • 添加并行查询支持
  • 添加或删除分区
  • 重建表以便减少碎片
  • 在普通表和索引组织(index-organized)表之间互相转换
  • 添加或删除列

做一个从普通表到分区表之间的转换操作.可以用 DBA 用户操作.如果是普通用户需要有DBMS_REDEFINITION 包的可执行权限以及如下权限:

* CREATE ANY TABLE
* ALTER  ANY TABLE
* DROP   ANY TABLE
* LOCK   ANY TABLE
* SELECT ANY TABLE 

下面通过一个例子来简单演练一把.假定目前产品库有一个非分区表 TEST. 准备对把该表联机修改为分区表.

继续阅读