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 :

Plan d’exécution : colonne TIME


Sujet :

Administration Oracle

  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut Plan d’exécution : colonne TIME
    Bonjour,

    J'essai d'optimiser une requête en travaillant depuis son plan d'execution
    je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    EXPLAIN PLAN FOR 
        Marequete
    Pour obtenir le plan

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from table(dbms_xplan.display);
    J'obtient un tableau
    | Id | Operation | Name | Rows | Bytes | Cost |
    Je ne vois pas le temps d’exécution comme le mentionne le tuto que j'ai sous les yeux.

    Est il possible de m 'expliquer comment obtenir cette information ?

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Tu peux nous donner le lien de ton tuto?

    Sinon le sujet du plan d'exécution est très complexe : tu peux faire EXPLAIN PLAN FOR ordre_sql, AUTOTRACE, tu peux utiliser dbms_xplan.display ou bien dbms_xplan.display_cursor (pour un ordre SQL vraiment exécuté) etc etc et je passe sur tous les paramètres des fonctions du package dbms_xplan.


    Pour avoir plus de colonnes, tu peux utiliser le hint GATHER_PLAN_STATISTICS.
    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
    18
    19
    20
    21
    22
    23
    24
    SQL> SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM BIC_CODE WHERE BIC_BANK_CODE < 'AA';
    
    SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));
    BIC_BANK BIC BIC_NAME                            	IC_ IC_ BIC_END_	
    -------- --- ----------------------------------- --- --- -------------------------------------
    111WWW11 111                                         		002         
    1 row selected.
    
    PLAN_TABLE_OUTPUT                                                               
    --------------------------------------------------------------------------------
    SQL_ID  2m6g4535ydw1w, child number 0                                           
    -------------------------------------                                           
    SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM BIC_CODE WHERE BIC_BANK_CODE < 'AA'                                                            
    Plan hash value: 3931528884                                                     
    --------------------------------------------------------------------------------
    | Id  | Operation                   | Name          | Starts | E-Rows | A-Rows | A-Time  | Buffers | Reads  |                                                
    --------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |               |      1 |        |      1 |	00:00:00.08 |       5 |      4 |                                                
    |   1 |  TABLE ACCESS BY INDEX ROWID| BIC_CODE      |      1 |      3 |      1 |	00:00:00.08 |       5 |      4 |                                                                                                                              
    |*  2 |   INDEX RANGE SCAN          | IDX1_BIC_CODE |      1 |      3 |      1 |	00:00:00.07 |       4 |      3 |                                                
    --------------------------------------------------------------------------------
    Predicate Information (identified by operation id):                             
    ---------------------------------------------------                             
       2 - access("BIC_BANK_CODE"<'AA')
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    Merci de prendre du tps pour m'aider.

    J'ai changé de tuto pour celui de developpez. com
    qui donne cette commande à passer
    et j'arrive à la meme erreur qu'avec ta méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    User has no SELECT privilege on V$SESSION
    j'ai fait en DBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT SELECT ON V_$SESSION TO xxxxxxx;
    et cela ne change rien j'ai toujours pas les privilèges

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Si c'est une histoire de droits qui bloque, ne te prends pas la tête, donne le rôle DBA à ce user et enlève le lui une fois tes tests OK.

    SI avec AUTOTRACE la colonne TIME n’apparaît pas, utilise DBMS_XPLAN.DISPLAY_CURSOR.
    Exemple en ayant le sql_id de mon ordre SQL :
    Exécuter le SELECT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(‘gw339my4rd6aq’,NULL, 'ALL'));
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    je vais suivre ton idée mais je vais faire autrement , je vais faire le plan en Sysdba (c'est une base de travail)
    le role dba a acces à mes tables utilisateurs.

  6. #6
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    J'ai pas régle le soucis de droit mais j'ai réglé les soucis de colonnes manquantes
    Ma table de plan d'execution n'est pas à jour j'avais une vielle verson
    A présent j'ai la colonne Time

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 993
    Points : 2 499
    Points
    2 499
    Par défaut
    OK, cool
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

Discussions similaires

  1. SUM d’une colonne TIME
    Par Tigrounet dans le forum Langage SQL
    Réponses: 27
    Dernier message: 07/01/2016, 14h31
  2. [2012] Afficher le plan d’exécution d'un package ssis
    Par Boubou2020 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/12/2015, 21h33
  3. affichage plan d’exécution du requête
    Par joujousagem2006 dans le forum Administration
    Réponses: 2
    Dernier message: 23/09/2014, 10h59
  4. [XL-2010] aide planning (renommer colonne)
    Par cooks dans le forum Excel
    Réponses: 1
    Dernier message: 11/11/2013, 08h41
  5. Réponses: 9
    Dernier message: 12/07/2012, 09h06

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