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. 准备对把该表联机修改为分区表.