本篇文章主要介绍了"dbms_redefinition",主要涉及到方面的内容,对于Oracle感兴趣的同学可以参考一下:
首先查看DBMS_REDEFINITION包所带存储过程的功能:1. ABSORT_REDEF_TABLE:清理重定义的错误和中止重定义;2. CAN_REDE...
exec
dbms_redefinition.sync_interim_table('USRBI', 'GE_BI_SCAN_SIGN_RATE_DTL', 'GE_BI_SCAN_SIGN_RATE_DTL_TEMP');
select count(*) from USRBI.GE_BI_SCAN_SIGN_RATE_DTL_TEMP;
第四步:
同步依赖的对象
可能导致bug ,所以我们在创建目标表的时候,将表的依赖对象也创建好。
第五步:
做一次增量数据同步
exec
dbms_redefinition.sync_interim_table('USRBI', 'GE_BI_SCAN_SIGN_RATE_DTL', 'GE_BI_SCAN_SIGN_RATE_DTL_TEMP');
第六步:
完成在线重定义
exec
dbms_redefinition.finish_redef_table('USRBI', 'GE_BI_SCAN_SIGN_RATE_DTL', 'GE_BI_SCAN_SIGN_RATE_DTL_TEMP');
第七步:
清理旧表,释放空间
drop
table USRBI.GE_BI_SCAN_SIGN_RATE_DTL_TEMP purge;
第八步:
收集表的统计信息,检查索引名、并行度等,检查无效对象,最好编译一下