IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Un snapshot AWR est un .zip de snapshots ASH?


Sujet :

Administration Oracle

  1. #1
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 998
    Points : 2 501
    Points
    2 501
    Par défaut Un snapshot AWR est un .zip de snapshots ASH?
    Bonjour les experts,

    J'avais compris que V$ACTIVE_SESSION_HISTORY comprenait des snapshots de v$session (et de peut-être d'autres vues) pris toutes les secondes.
    Ensuite, selon la configuration, un snapshot AWR est pris toutes les heures en filtrant les données de V$ACTIVE_SESSION_HISTORY.

    Dernièrement, j'ai dû analyser sur une base un pic d'activité de 20 secondes arrivé trois jours plus tôt, le 20/05 par exemple.
    Dans V$ACTIVE_SESSION_HISTORY, le min de SAMPLE_TIME est le 23/05, idem pour le max --> les infos du 20/05 ont été effacées et je ne peux pas lancer mon script comptant, seconde par seconde les occurrences des ordres SQL.
    Il y a bien les tables DBA_HIST_XXX mais celles-ci ont une granularité de l'heure alors que ASH a une granularité de la seconde, mes scripts ne sont donc pas utilisables.

    Je pensais que tout était perdu quand, miracle, dans le Cloud Control, menu Performance/ASH Analytics, j'ai réussi a retrouver ces données à la minute près en choisissant une période Custom (je n'ai pas testé la seconde).


    Ma question est donc : d'où viennent ces données puisqu'il n'y a plus rien de cette date dans V$ACTIVE_SESSION_HISTORY?
    Est-ce que un snapshot AWR peut reconstruire TOUTES les données des snapshots ASH le composant avec la granularité de la seconde (comme un .zip est un fichier compressé mais non destructif du fichier de base) ou bien les données ASH affichées dans cet écran ne sont finalement que les données filtrées du snapshot AWR? Là où j'ai été surpris c'est que la page ne s'est pas affichée de suite et il y avait un message "Data processing", comme ci Oracle recréait ces données et que cela nécessitait un certain travail.

    Dernier point, en triturant les options de cet écran, j'ai eu un message d'erreur avec affiché "Error DBMS_ASH_INTERNAL". C'est un package non documenté, le web est très pauvre dessus, vous savez à quoi il sert précisément?


    Bonne soirée

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Points : 6 446
    Points
    6 446
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Effectivement un sampling toutes les secondes remplit V$ACTIVE_SESSION_HISTORY en mémoire - rétention de quelques heures maxi.
    AWR prend toutes les heures des snapshots de plein de vues V$ et V$ACTIVE_SESSION_HISTORY est inclus. Pour celle-ci il ne prend qu'un sample sur 10 donc dans DBA_HIST_ACTIVE_SESS_HISTORY on trouve le sampling toutes les 10 secondes, et avec la même retention que AWR (8 jours par défaut).
    Tes scripts sur V$ACTIVE_SESSION_HISTORY devraient fonctionner idem sur DBA_HIST_ACTIVE_SESS_HISTORY.
    Cordialement,
    Franck.

  3. #3
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 998
    Points : 2 501
    Points
    2 501
    Par défaut
    Hum, bizarre...
    Il faudra que je vois où trouver cette date permettant de faire un SELECT sur une période de 10 secondes.

    En tout cas merci pour la réponse.

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 998
    Points : 2 501
    Points
    2 501
    Par défaut
    Hello Franck,

    Cela m'a pris plus de temps que prévu mais, une fois de plus tu avais raison

    Je vois qu'effectivement il y a des milliers d'enregistrements dans DBA_HIST_ACTIVE_SESS_HISTORY par jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> select to_char(sample_time, 'DD/MM/YYYY'), count(*) from DBA_HIST_ACTIVE_SESS_HISTORY group by to_char(sample_time, 'DD/MM/YYYY') order by to_date(to_char(sample_time, 'DD/MM/YYYY'));
    TO_CHAR(SA   COUNT(*)
    ---------- ----------
    10/05/2018      19911
    11/05/2018      20572
    12/05/2018      20369
    13/05/2018      20907
    14/05/2018      21485

    Le champ sample_time réponds parfaitement à mon besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT to_char(sample_time, 'DD/MM/YYYY HH24:MI') AS "DATE", count(*) 
    FROM DBA_HIST_ACTIVE_SESS_HISTORY 
    where sql_id = '8nxrrthnywuw0' and 
    to_char(sample_time, 'DD/MM/YYYY') = '30/05/2018' 
    group by to_char(sample_time, 'DD/MM/YYYY HH24:MI') 
    order by "DATE"
     
    DATE               COUNT(*)
    ---------------- ----------
    30/05/2018 09:00         10
    30/05/2018 09:01         11
    30/05/2018 09:02          8
    30/05/2018 09:03          8
    30/05/2018 09:04          9
    30/05/2018 09:05          8
    30/05/2018 09:06         10
    30/05/2018 09:07         10

Discussions similaires

  1. Oracle 10g : anayse de snapshots AWR
    Par fred_04510 dans le forum Administration
    Réponses: 3
    Dernier message: 08/01/2010, 16h50
  2. Niveau de SNApshot dans AWR
    Par yanis97 dans le forum Oracle
    Réponses: 0
    Dernier message: 20/02/2009, 15h56
  3. C'est quoi un Snapshot ?
    Par STELLLA dans le forum Débuter
    Réponses: 4
    Dernier message: 02/12/2008, 15h23
  4. c'est quoi snapshot
    Par big1 dans le forum Oracle
    Réponses: 4
    Dernier message: 09/10/2006, 08h17
  5. [Maven 2] Qu'est ce qu'un snapshot ?
    Par spekal dans le forum Maven
    Réponses: 4
    Dernier message: 30/06/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo