ORA-01031 / ORA-06512

Divers, Musée des erreurs pas de Commentaire »

Probleme lors de l’export 10g
sur APEX et les applications utilisant des ‘domain index’ORA-01031: insufficient privileges
ORA-06512: at « SYS.DBMS_EXPORT_EXTENSION », line 257
ORA-06512: at line 1
EXP-00078: Error exporting metadata for index WWV_FLOW_OH_IDX. Index creation wi
ll be skipped
C’est un BUG en plus des droits standards d’export, il faut des GRANT SELECT explicites sur les tables ayant des index de domaine…

On fait un scrit pour trouver les tables à GRANTer :

SQL > select ‘GRANT SELECT ON ‘||OWNER||’.'||TABLE_NAME||’ TO user_qui_fait_lexport;’
from dba_indexes
where index_type=’DOMAIN’

–>

GRANT SELECT ON KF.STATES TO user_qui_fait_lexport;
GRANT SELECT ON KF.INTERSTATES TO user_qui_fait_lexport;
GRANT SELECT ON KF.OCEAN TO ORA_BAT;
GRANT SELECT ON KF.TERRITORIES TO ORA_BAT;

et executer les grant !

Calculer les statistiques pour tous les objets d’un schema

Divers, scripts et trucs pas de Commentaire »

Si l’optimiseur est un peu fatigué et que les requetes sql ne sont pas meix on peut toujours essayer d’aider le dit optimiseur en recalculant les statistiques pours tous les objets du schema.

Il existe un package Oracle pour ca en 9i et 10g, plutot que de faire de fastidieux ANALYZE TABLE…COMPUTE .

C’est DBMS_STATS et la procedure GATHER_SCHEMA_STATS

begin
dbms_stats.gather_schema_stats(‘&OWNER’,DBMS_STATS.AUTO_SAMPLE_SIZE,false,
‘FOR ALL COLUMNS SIZE AUTO’,1,’GLOBAL’,true,null,null,’GATHER AUTO’);
end;
/

ou plus simplement (en utilisant les valeurs par defaut des parametres :

execute dbms_stats.gather_schema_stats(ownname=>’nom_du_proprietaire’);

Pour plus d’infos sur le paramétrage voir la doc officielle PL/SQL supplied packages

et la procedure GATHER_SCHEMA_STATS du package DBMS_STAT

Bonnes stats !