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

Oracle Discussion :

[DBA] Version count de V$sqlarea


Sujet :

Oracle

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut [DBA] Version count de V$sqlarea
    Bonjour,

    Je n'arrive pas à comprendre à quoi sert la colonne VERSION_COUNT dans la vue v$sqlarea.
    Et j'ai des problèmes de requêtes identiques arrivant plusieurs fois dans ma zone sql. A mon avis, les deux sont liées, mais un truc m'echappe...
    si quelqu'un peux m'expliquer et aussi me dire ce que je dois faire pour diminuer toutes ces requetes....

    exemple1: requete bindée:

    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
    25
    26
    27
    28
     
    select  v.SQL_TEXT, v.VERSION_COUNT, v.OPEN_VERSIONS, v.FETCHES, v.EXECUTIONS,  v.PARSE_CALLS, v.LOADS
    from v$sqlarea v  
    where sql_text='call tec.log.send_message()'
     
     
    	SQL_TEXT			       VERSION_COUNT	OPEN_VERSIONS	FETCHES	EXECUTIONS	PARSE_CALLS	LOADS
    1	call tec.log.send_message()	425		1		0	371939		185970		429
     
     
    select v.SQL_TEXT, v.PERSISTENT_MEM,v.RUNTIME_MEM,v.LOADED_VERSIONS,v.OPEN_VERSIONS,v.USERS_OPENING,v.EXECUTIONS,v.USERS_EXECUTING,v.LOADS,v.PARSE_CALLS,v.OPTIMIZER_MODE,v.CHILD_NUMBER
    from v$sql v  
    where sql_text='call tec.log.send_message()'
    order by 1,LAST_LOAD_TIME
     
    SQL_TEXT			PERSISTENT_MEM	RUNTIME_MEM	LOADED_VERSIONS	OPEN_VERSIONS	USERS_OPENING	EXECUTIONS	USERS_EXECUTING	LOADS	PARSE_CALLS	OPTIMIZER_MODE	CHILD_NUMBER
    call tec.log.send_message()	828		4280		1		1		1		371995		1		5	185998		CHOOSE		0
    call tec.log.send_message()	0		  0		   0		0		0		0		     0		1	0		     NONE		  1
    call tec.log.send_message()	0		  0		   0		0		0		0		     0		1	0		     NONE		  2
    call tec.log.send_message()	0		  0		   0		0		0		0		     0		1	0		     NONE		  3
    call tec.log.send_message()	0		  0		   0		0		0		0		     0		1	0		     NONE		  4
    .
    .
    .
    .
    .
    .
    425 lignes
    deuwieme exemple; requete non bindée:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    select  v.SQL_TEXT, v.VERSION_COUNT, v.OPEN_VERSIONS, v.FETCHES, v.EXECUTIONS,  v.PARSE_CALLS, v.LOADS
    from v$sqlarea v  
    where sql_text='UPDATE message_log@prod t SET t.confirmed = :"SYS_B_0", t.order_id = :"SYS_B_1" Where t.order_id = :"SYS_B_2" and t.exec_id = :"SYS_B_3"'
     
     
     
     
    	SQL_TEXT			VERSION_COUNT	OPEN_VERSIONS	FETCHES	EXECUTIONS	PARSE_CALLS	LOADS
    1	UPDATE message_log@prod t..	349		0		0	0		0		349
    2	UPDATE message_log@prod t..	669		0		0	669		669		669
     
     
     
    select v.SQL_TEXT, v.PERSISTENT_MEM,v.RUNTIME_MEM,v.LOADED_VERSIONS,v.OPEN_VERSIONS,v.USERS_OPENING,v.EXECUTIONS,v.USERS_EXECUTING,v.LOADS,v.PARSE_CALLS,v.OPTIMIZER_MODE,v.CHILD_NUMBER
    from v$sql v  
    where sql_text='UPDATE message_log@prod t SET t.confirmed = :"SYS_B_0", t.order_id = :"SYS_B_1" Where t.order_id = :"SYS_B_2" and t.exec_id = :"SYS_B_3"'
    order by 1,LAST_LOAD_TIME
     
     
     
    UPDATE message_log@prod t..	0	  0	0	0	0	0	0	1	0	NONE	0
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	0
    UPDATE message_log@prod t..	0	  0	0	0	0	0	0	1	0	NONE	1
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1
    .
    .
    .
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	590
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	590
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	591
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	591
    .
    .
    .
    .
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1012
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1013
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1014
    UPDATE message_log@prod t..   580   0   1   0   0   1   0   1   1   CHOOSE  1015
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1016
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1017
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1018
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1019
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1020
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1021
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1022
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1023
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1024
    UPDATE message_log@prod t..	580	0	1	0	0	1	0	1	1	CHOOSE	1025
    2205 lignes

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    La doc Aline, la doc !
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch3204.htm#1126299

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Evidement la doc!

    Et évidement que je l'ai lue la doc!


    Mais je n'ai pas compris le sens.
    Pourquoi une requete aurait 425 curseurs d'ouverts(cas 1)
    Et pourquoi une autre 349 et 669???

    quelque chose m'echappe

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Ce n'est pas le nombre de curseurs, mais le nombre de versions de ce query.

  5. #5
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Dans votre cas, cela pourrait montrer un problème de variables non bindées.

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Peux être, mais un truc m'échappe alors.

    On voit bien dans mes deux exemples(un bindé, un non bindé) que nous avons exactement la même requete.
    elle est à chaque fois présente deux fois dans v$sqlarea et n fois dans v$sql.

    Un requete non bindée devrait se retrouver un fois dans chacune de ces tables.
    Les colonnes execute et parse nous disent justement quand une requete est bindée ou non.
    donc je pense que ce n'est pas un problème de bind.

  7. #7
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Ce thread vous aidera peut-être
    http://asktom.oracle.com/pls/ask/f?p=4950:8:7548251090941003066::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:1493469019975

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    ou celui_la
    http://asktom.oracle.com/pls/ask/f?p=4950:8:7548251090941003066::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:9497064796920

Discussions similaires

  1. [DBA] Signification de v$sqlarea.Version_Count ?
    Par aline dans le forum Oracle
    Réponses: 11
    Dernier message: 14/09/2005, 18h44
  2. [Kylix] cours & version utilisable de Kylix
    Par Suricate dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 18h22
  3. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41
  4. Version étudiant de Delphi 6
    Par Smortex dans le forum EDI
    Réponses: 2
    Dernier message: 20/07/2002, 11h13

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