在线重定义/*+ BYPASS_RECURSIVE_CHECK APPEND SKIP_UNQ_UNUSABLE_IDX */
原来是通过insert /*+ BYPASS_RECURSIVE_CHECK APPEND SKIP_UNQ_UNUSABLE_IDX */ into user.table 这种不会产生undo(如果有对数据导入用这个hit会方便很多)。
在重定义之前需要准备充足重定义需要的 数据表空间、TEMP表空间、归档空间。
正确的重定义顺序为:
1.创建中间表,不要建索引
2.执行start_redef_table
3.执行dmbs_stat.gather分析表
4.创建索引(此步一定要执行,不然sync会超慢,全表扫描)
create /*+parallel(16)*/ unique index PK_T_REDEFINE_TMP_812 on test_REDEFINE(DCOPER_ID, BEGIN_DATE) tablespace IDX_MEPF_B;
create index local parallel 12 nologging
5.执行sync
6.执行finish
7.清楚不需要的表
8.检查核对
原来是通过insert /*+ BYPASS_RECURSIVE_CHECK APPEND SKIP_UNQ_UNUSABLE_IDX */ into user.table 这种不会产生undo(如果有对数据导入用这个hit会方便很多)。
在重定义之前需要准备充足重定义需要的 数据表空间、TEMP表空间、归档空间。
正确的重定义顺序为:
1.创建中间表,不要建索引
2.执行start_redef_table
3.执行dmbs_stat.gather分析表
4.创建索引(此步一定要执行,不然sync会超慢,全表扫描)
create /*+parallel(16)*/ unique index PK_T_REDEFINE_TMP_812 on test_REDEFINE(DCOPER_ID, BEGIN_DATE) tablespace IDX_MEPF_B;
create index local parallel 12 nologging
5.执行sync
6.执行finish
7.清楚不需要的表
8.检查核对