【STATS】Oracle迁移表统计信息

Oracle 如何将 某个环境中 表的统计信息迁移到其他环境中?

参考语句如下:

--1.创建一张表存放导出的统计信息
exec dbms_sats.create_stats.create_stat_table(ownname=>'SCOTT',stattab=>'stat_table',tblspace=>'USERS');
--2.导入emp表的统计信息,默认导入索引和列
exec dbms_stats.export_table_stats(ownname=>'SCOTT',tabname='EMP',stattab='stat_table');
--3.将表stat_table导入到另一个数据库中
--4.导入统计信息
exec dbms_stats.import_table_stats(ownname=>'SCOTT',abname=>'EMP',stattab=>'stat_table',no_invalidate=>true);
--no_invalidate 默认是false,true 确保所有从属游标不会失效

本例展示了表的迁移过程,DBMS_STATS包还包括列级、索引级、架构级和数据库级导出和导入统计信息的过程。此外,还有导出和导入字典统计信息、固定对象统计信息和系统统计信息的过程。

迁移数据库参考

--建表
exec dbms_stats.create_stat_table( ownname => 'system',stattab => 'stat_table' ) ; 
--导入
exec dbms_stats.export_database_stats(stattab=>'stat_table',statown=>'SYSTEM');
--导入
exec dbms_stats.import_databsae_stats(stattab=>'stat_table',statown=>'SYSTEM');

迁移用户参考

--导入
exec dbms_stats.export_schema_stats(ownname=>'SCOTT',stattab=>'stat_table',statown=>'SYSTEM');
--导入
exec dbms_stats.import_schema_stats(ownname=>'SCOTT',stattab=>'stat_table',statown=>'SYSTEM');
请使用浏览器的分享功能分享到微信等