Bonjour,
Mon client me sollicite suite au fait qu'un programme développé en PL/SQL de génération des stats système dure plusieurs heures (près de 20 heures) alors qu'un mois avant on était à 30 minutes.
Parmi les ordres SQL durant le plus longtemps dans mon rapport AWR, j'ai l'ordre suivant qui vient en position 2 (le 1 étant une fonction PL/SQL récupérant les stats système que je n'ai pas encore lue mais qui, je pense, déclenche l'ordre SQL ci-dessous). Cet ordre a duré 4h30. Visiblement c'est un ordre SQL interne d'Oracle lié à la génération des stats (je ne mets pas toutes les colonnes car il y en a trop). Cet ordre est connu sur le net si on fait une recherche avec use_weak_name_resl c'est pourquoi je pense qu'il est généré directement par Oracle..
Avez-vous une idée de ce qui peut demander autant de temps pour générer des stats?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 /* SQL Analyze(0) */ select /*+ full(t) no_parallel(t) no_parallel_index(t) dbms_stats cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring no_substrb_pad */to_char(count("ADDR")),to_char(substrb(dump(min("ADDR"),16,0,32),1,120)) -- plus d'autres colonnes de x$ from "SYS"."X$KTPRHIST" t /* NDV,NIL,NIL,ACL etc etc */
Partager