Exemple ici pour une table MATABLE, identique sur les 2 bases. On peut bien-sûr faire la même chose au niveau d'un schéma (dbms_stats.export_schema_stats).
Sur la base de données source
- calcul des stats
> analyze table matable compute statistics;
- création de la table de statistiques
> exec dbms_stats.create_stat_table('MONUSER','MATABLEDESTATS','USERS_TBS');
- sauvegarde des stats dans la table MATABLEDESTATS
> exec dbms_stats.EXPORT_TABLE_STATS(ownname=>'MONUSER',tabname=>'MATABLE',stattab=>'MATABLEDESTATS');
- export de la table de sauvegarde des statistiques
$ exp protect/protect file=exp_matabledestats log=exp_matabledestats tables=matabledestats
Sur la base de données cible
- import de la table de sauvegarde des statistiques
$ imp protect/protect file=exp_matabledestats log=exp_matabledestats tables=matabledestats
- restauration des statistiques
> exec dbms_stats.import_table_stats(ownname=>'MONUSER',tabname=>'MATABLE',stattab=>'MATABLEDESTATS');
Trucs & astuces
- suppression d'une table de statistiques
> exec dbms_stats.drop_stat_table('MONUSER','MATABLEDESTATS);
- suppression du contenu d'une table de statistiques
> exec dbms_stats.delete_table_stats(ownname=>'MONUSER',tabname=>'MATABLE',stattab=>'MATABLEDESTATS');