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 :

Problème performance oracle : Elapsed Time d'un Fetch énorme!


Sujet :

Administration Oracle

  1. #21
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    la requête est dans combien de fichiers ?

  2. #22
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    J'ai un fichier de traces de 800mo dans lequel la requête est appelée de nombreuses fois.


    Le fichier init.ora :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    # ==========
    # Noms Base de donnees, Instance, Service
    # ==========
    db_name = S2008
    instance_name = S2008
    service_names = S2008
     
    # ==========
    # Fichiers de controle
    # ==========
    control_files = ("C:\oradata\S2008\S2008_control01.ctl", "D:\oradata\S2008\S2008_control02.ctl")
     
    # ==========
    # Taille du bloc Oracle
    # ==========
    db_block_size = 8192
     
    # ==========
    # Buffers 
    # ==========
    # db_block_buffers = 8192                 # 64 Mo
    # shared_pool_size = 6291456            	# 6 Mo
    # shared_pool_reserved_size = 1048576     # 1 Mo
    db_cache_size = 274M
    shared_pool_size = 16M           	      
    pga_aggregate_target = 80M
    large_pool_size = 0              	      # 0 Mo
    java_pool_size = 0                      # 0 Mo Pas de Java
     
    log_buffer = 262144
    sort_area_size = 65536
    sort_area_retained_size = 65536
     
    # ==========
    # Divers
    # ==========
    log_checkpoint_interval = 10000
    log_checkpoint_timeout = 1800
    processes = 100
    open_cursors = 100
    session_cached_cursors = 100
    max_enabled_roles = 30
     
    # audit_trail = false  # if you want auditing
    # timed_statistics = true  	# if you want timed statistics
    max_dump_file_size = 10000  	# limit trace file size to 5M each
     
    # ==========
    # Archivage des Redo Logs
    # ==========
    # log_archive_start = true
    # log_archive_dest = "$ORACLE_DPG_BASE/archive"
    # log_archive_format = arc%t_%s.dbf
     
    # ==========
    # Rollback Segments
    # ==========
    # rollback_segments = (RBS1, RBS2, RBS3, RBS4)
     
    # ==========
    # Undo TableSpace
    # ==========
    undo_management = auto
    undo_tablespace = S2008_undo01
     
    # Global Naming -- enforce that a dblink has same name as the db it connects to
    # global_names = false
     
    # Uncomment the following line if you wish to enable the Oracle Trace product
    # to trace server activity.  This enables scheduling of server collections
    # from the Oracle Enterprise Manager Console.
    # Also, if the oracle_trace_collection_name parameter is non-null,
    # every session will write to the named collection, as well as enabling you
    # to schedule future collections from the console.
    # oracle_trace_enable = true
     
    # ==========
    # Repertoire trace
    # ==========
    background_dump_dest = "D:\oracle\ora92\database\S2008\bdump"
    core_dump_dest = "D:\oracle\ora92\database\S2008\cdump"
    user_dump_dest = "D:\oracle\ora92\database\S2008\udump"
     
    #utl_file_dir = /oracle/admin/dpg/udump
     
    #Uncomment this parameter to enable resource management for your database.
    #The SYSTEM_PLAN is provided by default with the database.
    #Change the plan name if you have created your own resource plan.
    # resource_manager_plan = system_plan
     
    #remote_login_passwordfile = none
     
    os_authent_prefix = ""
     
    #mts_dispatchers = "(protocol=TCP)(DISP=1)(mul=OFF)(pool=OFF)"
    #mts_max_dispatchers = 5
    #mts_servers = 1
    #mts_max_servers = 20
     
    compatible = "9.2.0"
     
    # ==========
    # Parametres pour l'utilisation de DBMS_JOB
    # ==========
    # JOB_QUEUE_PROCESSES = 1
    # JOB_QUEUE_INTERVAL = 60
     
    # ==========
    # Parametre pour permettre l'enregistrement des stats
    # ==========
    # utl_file_dir = *
     
    # ==========
    # Parametres pour l'utilisation de UTL_FILE
    # ==========
    UTL_FILE_DIR = 'c:\Saisie des sillons\Requete'

  3. #23
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il me semble me rappeller qu'il y a un but sur le elapsed...

  4. #24
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    j'ai de scripts magique à vous proposer, mais il faut réussier à sortir cette requête de la trace, sans tout synthétiser..

  5. #25
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Compressé, le fichier de traces ne fait plus que 36mo au lieu de 800, mais je ne peux pas l'envoyer par le système d'upload de free par exemple car c'est bloqué par le proxy... et il y a tellement de requêtes éparpillées dans le fichier que cela me semble difficile de faire le tri...

    Je peux toutefois en afficher deux exemples qui sont intéressants, on voit bien un elapsed time énorme!!!
    Dans les traces, a chaque fois , il y a 2 requêtes à la suite qui sont proches (not null pas au même endroit), une qui se passe bien, et l'autre non.

    1er exemple des 2 requêtes dans les traces:
    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
    =====================
    PARSING IN CURSOR #4 len=168 dep=0 uid=23 oct=3 lid=23 tim=1470997201 hv=289369495 ad='111f5ed4'
    select f.regime_circ from rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id and r.heure_local_arr is null and r.he
    ure_local_dep is not null
    END OF STMT
    PARSE #4:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1470997197
    EXEC #4:c=0,e=34,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1470997335
    FETCH #4:c=0,e=4023,p=1,cr=7,cu=0,mis=0,r=1,dep=0,og=4,tim=1471001394
    XCTEND rlbk=0, rd_only=1
    STAT #4 id=1 cnt=1 pid=0 pos=1 obj=0 op='NESTED LOOPS  '
    STAT #4 id=2 cnt=1 pid=1 pos=1 obj=7017 op='TABLE ACCESS BY INDEX ROWID REP_FICHE '
    STAT #4 id=3 cnt=1 pid=2 pos=1 obj=7020 op='INDEX UNIQUE SCAN PK_REP_FICHE '
    STAT #4 id=4 cnt=1 pid=1 pos=2 obj=7021 op='TABLE ACCESS BY INDEX ROWID REP_PR '
    STAT #4 id=5 cnt=1 pid=4 pos=1 obj=7032 op='INDEX RANGE SCAN IX_REP_PR_01 '
    =====================
    PARSING IN CURSOR #4 len=168 dep=0 uid=23 oct=3 lid=23 tim=1471003646 hv=1978721461 ad='111ec248'
    select f.regime_circ from rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id and r.heure_local_arr is not null and
    r.heure_local_dep is null
    END OF STMT
    PARSE #4:c=0,e=15,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471003641
    EXEC #4:c=0,e=34,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471003784
    FETCH #4:c=0,e=54,p=0,cr=7,cu=0,mis=0,r=1,dep=0,og=4,tim=1471003875
    XCTEND rlbk=0, rd_only=1
    STAT #4 id=1 cnt=1 pid=0 pos=1 obj=0 op='NESTED LOOPS  '
    STAT #4 id=2 cnt=1 pid=1 pos=1 obj=7017 op='TABLE ACCESS BY INDEX ROWID REP_FICHE '
    STAT #4 id=3 cnt=1 pid=2 pos=1 obj=7020 op='INDEX UNIQUE SCAN PK_REP_FICHE '
    STAT #4 id=4 cnt=1 pid=1 pos=2 obj=7021 op='TABLE ACCESS BY INDEX ROWID REP_PR '
    STAT #4 id=5 cnt=6 pid=4 pos=1 obj=7032 op='INDEX RANGE SCAN IX_REP_PR_01 '
    =====================
    2eme exemple des 2 requêtes dans les traces:
    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
    =====================
    PARSING IN CURSOR #4 len=168 dep=0 uid=23 oct=3 lid=23 tim=1471141347 hv=289369495 ad='111f5ed4'
    select f.regime_circ from rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id and r.heure_local_arr is null and r.h
    ure_local_dep is not null
    END OF STMT
    PARSE #4:c=0,e=15,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471141342
    EXEC #4:c=0,e=35,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471141484
    FETCH #4:c=0,e=10180,p=2,cr=7,cu=0,mis=0,r=1,dep=0,og=4,tim=1471151701
    XCTEND rlbk=0, rd_only=1
    STAT #4 id=1 cnt=1 pid=0 pos=1 obj=0 op='NESTED LOOPS  '
    STAT #4 id=2 cnt=1 pid=1 pos=1 obj=7017 op='TABLE ACCESS BY INDEX ROWID REP_FICHE '
    STAT #4 id=3 cnt=1 pid=2 pos=1 obj=7020 op='INDEX UNIQUE SCAN PK_REP_FICHE '
    STAT #4 id=4 cnt=1 pid=1 pos=2 obj=7021 op='TABLE ACCESS BY INDEX ROWID REP_PR '
    STAT #4 id=5 cnt=1 pid=4 pos=1 obj=7032 op='INDEX RANGE SCAN IX_REP_PR_01 '
    =====================
    PARSING IN CURSOR #4 len=168 dep=0 uid=23 oct=3 lid=23 tim=1471153960 hv=1978721461 ad='111ec248'
    select f.regime_circ from rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id and r.heure_local_arr is not null and
    r.heure_local_dep is null
    END OF STMT
    PARSE #4:c=0,e=14,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471153955
    EXEC #4:c=0,e=35,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1471154099
    FETCH #4:c=0,e=5129,p=1,cr=8,cu=0,mis=0,r=0,dep=0,og=4,tim=1471159265
    XCTEND rlbk=0, rd_only=1
    STAT #4 id=1 cnt=0 pid=0 pos=1 obj=0 op='NESTED LOOPS  '
    STAT #4 id=2 cnt=1 pid=1 pos=1 obj=7017 op='TABLE ACCESS BY INDEX ROWID REP_FICHE '
    STAT #4 id=3 cnt=1 pid=2 pos=1 obj=7020 op='INDEX UNIQUE SCAN PK_REP_FICHE '
    STAT #4 id=4 cnt=0 pid=1 pos=2 obj=7021 op='TABLE ACCESS BY INDEX ROWID REP_PR '
    STAT #4 id=5 cnt=11 pid=4 pos=1 obj=7032 op='INDEX RANGE SCAN IX_REP_PR_01 '
    On retrouve bien ces résultats dans l'analyse de tkprof ci -dessous.
    Requête tkpof qui se passe bien :
    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
    select f.regime_circ 
    from
     rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id 
      and r.heure_local_arr is not null and r.heure_local_dep is null
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse    39832      0.59       0.59          0          0          0           0
    Execute  39832      1.51       1.24          0          0          0           0
    Fetch    39832      4.14      57.04      13307     303305          0       38027
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total   119496      6.25      58.89      13307     303305          0       38027
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          1  NESTED LOOPS  
          1   TABLE ACCESS BY INDEX ROWID REP_FICHE 
          1    INDEX UNIQUE SCAN PK_REP_FICHE (object id 7020)
          1   TABLE ACCESS BY INDEX ROWID REP_PR 
         16    INDEX RANGE SCAN IX_REP_PR_01 (object id 7032)
    
    ********************************************************************************

    Requête tkprof qui se passe mal :
    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
    ********************************************************************************
    
    select f.regime_circ 
    from
     rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id 
      and r.heure_local_arr is null and r.heure_local_dep is not null
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse    41472      0.84       0.61          0          0          0           0
    Execute  41472      1.25       1.33          0          0          0           0
    Fetch    41472      3.064154498643.93      18673     291584          0       39832
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total   124416      5.154154498645.89      18673     291584          0       39832
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          1  NESTED LOOPS  
          1   TABLE ACCESS BY INDEX ROWID REP_FICHE 
          1    INDEX UNIQUE SCAN PK_REP_FICHE (object id 7020)
          1   TABLE ACCESS BY INDEX ROWID REP_PR 
          1    INDEX RANGE SCAN IX_REP_PR_01 (object id 7032)

    Orafrance, je ne comprends pas ce que tu veux dire par là ? but ?
    il me semble me rappeller qu'il y a un but sur le elapsed...

  6. #26
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Conclusion : tkprof ne bug pas.
    donc l'elapsed est réellement important

    donc là, faut avoir les wait. il n'y a plus le choix !
    Il suffit de lancer 1 requête en trace level 8 et d'uploader la trace

  7. #27
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    y'a peut-être pas de bug mais passé d'un e=10180 à elapsed 4154498643.93 ça me parait pas très catholique

    M'enfin, n'en reste pas moins qu'on a toujours pas le wait

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    En effet, il y a bien quelque chose qui cloche dans mon analyse. Surtout que je n'avais pas bien vu que même pour la requête suivante il y a parfois des temps de fetch importants.

    select f.regime_circ from rep_pr r,rep_fiche f where r.ci_pr= :1 and r.id_fiche=:2 and r.id_fiche=f.id and r.heure_local_arr is not null and
    r.heure_local_dep is null



    Dans les traces oracles brutes, d'après ce que j'ai lu, c'est en centièmes de secondes. Donc quand il y a 10180 cela fait tout de même 101 secondes! Et cette requête est appelée 41472 fois dans les traces qui ne représentent qu'une partie du traitement! Il semble donc bien qu'il y ait un pb ici. (100 seconde par requête * 40000 requêtes = 4 million de secondes tout de même) On n'atteint cependant pas les 4154498645 indiqué par TKPROF.

    M'enfin, n'en reste pas moins qu'on a toujours pas le wait
    Je suis désolé J'aimerais aussi pouvoir les avoir mais je n'ai pas la main sur le serveur... ça va malheureusement devoir attendre 2 semaines ...

  9. #29
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    tu peux pas lancer la requête et regarder v$session_wait ? Statspack ne serait pas installé par hasard ?

  10. #30
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Durant les 24h de traitements, n'y a t-il pas d'autres traitements en cours (calculs d'agrégats, bilan comptable, sauvegarde, refresh de statistiques...) ?
    Le serveur est-il bien dédié à la base Oracle ?
    Comment a été copiée la BD sur ce nouveau serveur (exp/imp, copie datafiles, duplicate rman...) ?
    Même niveau de patch sur les 2 serveurs ?
    Je ne connais pas windows mais sur unix, les file system avec cache sont parfois pénalisant coté perf. Oracle préfère accéder directement au disque. Si c'est idem sur windows, il y a peut être un problème coté cache disque.

  11. #31
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    4 millions de secondes = 1111 heures = 46 jours....

    les chiffres ne sont pas aussi élevés que ça... il y a donc bien un bug quelque part... en plus de la lenteur !

    comment avez-vous activé la trace ?
    quelle est la version exacte ? (OS, level, ...)

  12. #32
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Durant les 24h de traitements, n'y a t-il pas d'autres traitements en cours (calculs d'agrégats, bilan comptable, sauvegarde, refresh de statistiques...) ?
    Le serveur est-il bien dédié à la base Oracle ?
    Comment a été copiée la BD sur ce nouveau serveur (exp/imp, copie datafiles, duplicate rman...) ?
    Même niveau de patch sur les 2 serveurs ?
    Je ne connais pas windows mais sur unix, les file system avec cache sont parfois pénalisant coté perf. Oracle préfère accéder directement au disque. Si c'est idem sur windows, il y a peut être un problème coté cache disque.
    Non, il n'y a pas d'autres traitements.
    Pour la copie de la base sur le serveur, j'avoue que je ne connais pas la façon dont cela a été fait.
    Tout est sur le même serveur : Application en Delphi et serveur oracle.
    Oracle 9.2.0 est installé sur les 2 serveurs.
    Pour le cache disque, je ne vois pas trop comment regarder cela. Les disques sont des SCSI en raid 1. (1 paire de disques 146 go SCSI 10000 tours/min et une paire de disques 36go 15000 tours / min)

    4 millions de secondes = 1111 heures = 46 jours....

    les chiffres ne sont pas aussi élevés que ça... il y a donc bien un bug quelque part... en plus de la lenteur !

    comment avez-vous activé la trace ?
    quelle est la version exacte ? (OS, level, ...)
    L'activation des traces a été faite au niveau par défaut, avec les commandes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Détection de la session oracle correspondant à l'appli:
    select sid,serial#,username,program from v$session;
     
    Démarrage des traces :
    exec dbms_system.set_sql_trace_in_session(<SID>, <SERIAL#>,true) ;
    Traitement
    Arret des traces :
    exec dbms_system.set_sql_trace_in_session(<SID>, <SERIAL#>,false) ;

  13. #33
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Je fais une petite pause sur ce pb... mais je vais m'y remettre dans 2 semaines
    Merci pour l'aide que vous m'avez apporté!

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Je suis de retour sur ce pb.
    Un test avec 2Go de Ram au lieu de 1Go a été fait. Les performances ne sont pas améliorées.

    J'ai demandé à ce qu'un test avec les traces oracle de niveau 8 soit effectué après que des traces classiques aient été faites (pour avoir plus d'infos sur les waits).
    Cependant, cela n'a pas pu être faite car le processus de l'application n'est pas actif d'après oracle . La connexion à sqlplus était bien faite en tant que sysdba. Je ne comprends pas pourquoi l'activation n'a pas fonctionné.

    En particulier la ligne suivante qui aurait dû fonctionner :





    Pendant le traitement, le processeur n'est pas surchargé :



    C'est vraiment frustrant ce problème de perf
    Images attachées Images attachées   

  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 50
    Points : 65
    Points
    65
    Par défaut Version de windows ?
    Peut-on savoir quelle est la version précise de windows ? Est-on en 32 bits ou en 64 bits ? Sur les deux serveurs ?

  16. #36
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    ora-72 : pas le bon spid/pid

    ora-73 : commande pas terminée correctement

    insistez auprès du support oracle pour qu'il vous aide jusqu'au bout !!!

  17. #37
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Concernant la version de windows, dans un premier temps, des tests avaient été fait sous windows 2003 server.

    Etant donné que les perfs n'étaient pas bonnes, Windows 2000 Sp4 (32bits) a été installé à la place .
    Le processeur est un Xeon 3ghz bi-coeur 32 bits.

    A priori, un nouveau test devrait être fait lundi ou mardi, on va réessayer d'activer les traces de niveau 8.

  18. #38
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 50
    Points : 65
    Points
    65
    Par défaut
    Ok, je voulais être sûr

    Extrait de la note Metalink 161546.1 :

    "...
    Microsoft has certified the Windows 2000, Windows XP 32-Bit and Windows 2003
    32-Bit operating systems to run on the AMD 64-Bit Opteron processor and the
    Intel 64-Bit Xeon processor (Xeon processors with Intel EM64T support). From
    version 9.2.x Oracle has certified its 32-Bit database and client software to
    run on these 32-Bit operating systems running on these 64-Bit processors.
    ..."

    Reste maintenant à savoir si la version d'Oracle installée est une version 32-bits ou 64-bits ?

    4 milliards, c'est la limite haute d'un entier non signé sur 32-bits (pour être plus précis : 4294967296 - 1).

    Ah et peut-être qu'en fouillant cela
    tu trouveras des infos.

    Good luck!

  19. #39
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 22
    Points : 31
    Points
    31
    Par défaut
    Merci pour ces infos.

    Après un nouveau test, ce fetch énorme n'est pas réapparu sur la même requête , mais sur une autre requête !
    En fait maintenant je suis à peu près sur que c'est un bug de la génération des traces oracle puisque la nouvelle requête sur laquelle le pb est apparu s'est effectuée correctement dans un temps normal. En plus, j'ai pu retrouver dans les traces oracle brutes les 5 exécutions de la requête avec des valeurs qui sont parfois énormes:

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    =====================
    PARSING IN CURSOR #1 len=896 dep=0 uid=23 oct=3 lid=23 tim=2791630472 hv=276931049 ad='111b3968'
    select d.id_fiche_sncf,r.id as idRep
    from
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr
    where r.Liste_id_fiche_sncf is null
    and r.parite is null
    and d.id = dr.id_fiche
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 )
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    END OF STMT
    PARSE #1:c=0,e=23280,p=6,cr=6,cu=0,mis=1,r=0,dep=0,og=0,tim=2791630466
    =====================
    
    ...
    
    =====================
    PARSING IN CURSOR #1 len=896 dep=0 uid=23 oct=3 lid=23 tim=3039375808 hv=276931049 ad='111b3968'
    select d.id_fiche_sncf,r.id as idRep
    from
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr
    where r.Liste_id_fiche_sncf is null
    and r.parite is null
    and d.id = dr.id_fiche
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 )
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    END OF STMT
    PARSE #1:c=0,e=98,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3039375802
    EXEC #1:c=0,e=54,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=3039376139
    *** 2008-01-31 14:28:47.000
    FETCH #1:c=4578125,e=18446744067633889042,p=24209,cr=89913,cu=0,mis=0,r=1,dep=0,og=4,tim=18446744070673265216
    XCTEND rlbk=0, rd_only=1
    *** 2008-01-31 14:29:15.000
    FETCH #1:c=26765625,e=27835654,p=1797,cr=16043,cu=0,mis=0,r=200,dep=0,og=4,tim=18446744070701101546
    *** 2008-01-31 14:29:40.000
    FETCH #1:c=24593750,e=25302878,p=1541,cr=11759,cu=0,mis=0,r=200,dep=0,og=4,tim=18446744070726405350
    *** 2008-01-31 14:30:26.000
    FETCH #1:c=44359375,e=45590131,p=2280,cr=21264,cu=0,mis=0,r=200,dep=0,og=4,tim=18446744070771996158
    *** 2008-01-31 14:31:11.000
    FETCH #1:c=43562500,e=45087384,p=2171,cr=28645,cu=0,mis=0,r=200,dep=0,og=4,tim=18446744070817084229
    *** 2008-01-31 14:31:33.000
    FETCH #1:c=21078125,e=21799783,p=1549,cr=14161,cu=0,mis=0,r=147,dep=0,og=4,tim=18446744070838884785
    =====================
    
    
    
    ...
    
    =====================
    PARSING IN CURSOR #1 len=896 dep=0 uid=23 oct=3 lid=23 tim=18446744070850669503 hv=276931049 ad='111b3968'
    select d.id_fiche_sncf,r.id as idRep
    from
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr
    where r.Liste_id_fiche_sncf is null
    and r.parite is null
    and d.id = dr.id_fiche
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 )
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    END OF STMT
    PARSE #1:c=0,e=42,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744070850669497
    EXEC #1:c=0,e=53,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744070850669817
    *** 2008-01-31 14:33:00.000
    FETCH #1:c=7343750,e=75612202,p=25219,cr=91451,cu=0,mis=0,r=1,dep=0,og=4,tim=18446744070926282054
    XCTEND rlbk=0, rd_only=1
    *** 2008-01-31 14:35:43.000
    FETCH #1:c=157593750,e=162223085,p=9043,cr=73178,cu=0,mis=0,r=54,dep=0,og=4,tim=18446744071088505831
    =====================
    
    
    
    ...
    
    
    
    =====================
    PARSING IN CURSOR #1 len=896 dep=0 uid=23 oct=3 lid=23 tim=18446744071089301748 hv=276931049 ad='111b3968'
    select d.id_fiche_sncf,r.id as idRep
    from
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr
    where r.Liste_id_fiche_sncf is null
    and r.parite is null
    and d.id = dr.id_fiche
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 )
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    END OF STMT
    PARSE #1:c=0,e=17,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744071089301742
    EXEC #1:c=0,e=52,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744071089302062
    *** 2008-01-31 14:36:58.000
    FETCH #1:c=7437500,e=74924791,p=25788,cr=91495,cu=0,mis=0,r=1,dep=0,og=4,tim=18446744071164226888
    XCTEND rlbk=0, rd_only=1
    *** 2008-01-31 14:39:40.000
    FETCH #1:c=157484375,e=162109754,p=9037,cr=73315,cu=0,mis=0,r=119,dep=0,og=4,tim=18446744071326337316
    =====================
    
    ...
    
    =====================
    PARSING IN CURSOR #1 len=896 dep=0 uid=23 oct=3 lid=23 tim=18446744071328324885 hv=276931049 ad='111b3968'
    select d.id_fiche_sncf,r.id as idRep
    from
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr
    where r.Liste_id_fiche_sncf is null
    and r.parite is null
    and d.id = dr.id_fiche
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 )
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    END OF STMT
    PARSE #1:c=0,e=17,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744071328324879
    EXEC #1:c=0,e=52,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=18446744071328325199
    *** 2008-01-31 14:43:15.000
    FETCH #1:c=140921875,e=212773704,p=33160,cr=150129,cu=0,mis=0,r=1,dep=0,og=4,tim=18446744071541098938
    XCTEND rlbk=0, rd_only=1
    *** 2008-01-31 14:43:40.000
    FETCH #1:c=23921875,e=24742240,p=1842,cr=12751,cu=0,mis=0,r=1,dep=0,og=4,tim=18446744071565841861
    =====================

    Requêtes qui prennent le plus de temps (avec le bug présent sur la première requête):
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    ********************************************************************************
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing 
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    ********************************************************************************
    
    select d.id_fiche_sncf,r.id as idRep
    from 
    dem_fiche d,
    dem_pr dr,
    rep_fiche r,
    rep_pr pr 
    where r.Liste_id_fiche_sncf is null 
    and r.parite is null 
    and d.id = dr.id_fiche 
    and r.id = pr.id_fiche
    and pr.ci_pr=dr.ci_pr
    and pr.ch_pr=dr.ch_pr
    and (( r.num_sillon_reponse = d.num_sillon1 ) 
    or ( r.num_sillon_reponse = d.num_sillon2 ))
    and d.id_fiche_sncf like :1
    and not exists (select id_rep_fiche from correspondance where id_rep_fiche = r.id)
    and ((dr.heure_local_dep is null and pr.heure_local_dep is null 
    and dr.heure_local_arr is not null and pr.heure_local_arr is not null)
    or (dr.heure_local_arr is null and pr.heure_local_arr is null 
    and dr.heure_local_dep is not null and pr.heure_local_dep is not null))
    and ((abs(to_number(dr.heure_local_arr) - to_number(pr.heure_local_arr)) <= :2)
    or (abs(to_number(dr.heure_local_dep) - to_number(pr.heure_local_dep)) <= :3))
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse        5      0.00       0.00          0          0          0           0
    Execute      5      0.00       0.00          0          0          0           0
    Fetch       14    825.934154499735.23     173793     849453          0        1139
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total       24    825.934154499735.24     173793     849453          0        1139
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
         14  FILTER  
       6852   NESTED LOOPS  
      36508    HASH JOIN  
     956626     TABLE ACCESS BY INDEX ROWID REP_PR 
     983686      NESTED LOOPS  
      27059       TABLE ACCESS FULL REP_FICHE 
     956626       INDEX RANGE SCAN IX_REP_PR_01 (object id 7635)
     379408     TABLE ACCESS FULL DEM_PR 
       6852    TABLE ACCESS BY INDEX ROWID DEM_FICHE 
      36508     INDEX UNIQUE SCAN PK_DEM_FICHE (object id 7516)
       6312   INDEX RANGE SCAN IX_CORRESPONDANCE_02 (object id 7631)
    
    ********************************************************************************
    
    INSERT INTO Ecart
      (Id,
       Id_Fiche_Sncf,
       Rang,
       Id_Fiche_Rep,
       Id_Pr_Rep,
       Type_Ecart,
       Description)
    VALUES
      (Sq_Ecart_01.NEXTVAL,
       :1,
       :2,
       :3,
       :4,
       :5,
       :6)
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse   412128      6.60       5.27          0          5          0           0
    Execute 412128    232.15     592.11        109     495156    4997668      400141
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total   824256    238.76     597.39        109     495161    4997668      400141
    
    Misses in library cache during parse: 1
    Misses in library cache during execute: 2
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          1  SEQUENCE  
    
    ********************************************************************************
    
    ANALYZE TABLE REP_PR COMPUTE STATISTICS
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1    123.75     181.05      70675      71570         50           0
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total        2    123.75     181.06      70675      71570         50           0
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    ********************************************************************************
    
    update seq$ set increment$=:2,minvalue=:3,maxvalue=:4,cycle#=:5,order$=:6,
      cache=:7,highwater=:8,audit$=:9,flags=:10 
    where
     obj#=:1
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse   476558     16.78      15.37          0          0          0           0
    Execute 476558     62.89      64.13         15     476595     973509      476558
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total   953116     79.67      79.51         15     476595     973509      476558
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: SYS   (recursive depth: 1)
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          1  UPDATE  
          1   INDEX UNIQUE SCAN I_SEQ1 (object id 107)
    
    ********************************************************************************
    
    update Dem_Fiche set Traite = :1 
    where
     No_Demande_Rff = :2
    
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse    43976      0.78       0.68          0          0          0           0
    Execute  43976     68.25      69.74         88     132108     222611       43976
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total    87952     69.03      70.42         88     132108     222611       43976
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          0  UPDATE  
          1   TABLE ACCESS BY INDEX ROWID DEM_FICHE 
          1    INDEX RANGE SCAN IX_DEM_FICHE_03 (object id 7519)
    
    ********************************************************************************
    
    INSERT INTO Correspondance
      (Id, Id_Dossier, Id_Rep_Fiche,CAS)
    VALUES
      (Sq_Correspondance_01.NEXTVAL, :1, :2,:3)
    
    call     count       cpu    elapsed       disk      query    current        rows
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    Parse    64420      1.00       0.88          0          0          0           0
    Execute  64420     35.98      49.64        807      67061     891846       64420
    Fetch        0      0.00       0.00          0          0          0           0
    ------- ------  -------- ---------- ---------- ---------- ----------  ----------
    total   128840     36.98      50.53        807      67061     891846       64420
    
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 23  
    
    Rows     Row Source Operation
    -------  ---------------------------------------------------
          1  SEQUENCE  
    
    ********************************************************************************

    Bref, maintenant je commence à écarter la piste de problème oracle qui expliquerait les mauvaises perf de l'application.

  20. #40
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    tout ça pour en arriver au résultat du 2° post de cette discussion... Oracle nous réserve parfois de sales coups

Discussions similaires

  1. Problème performance Oracle 10g + OLAP
    Par superfunky dans le forum Oracle
    Réponses: 2
    Dernier message: 15/10/2009, 17h08
  2. Problème performance SELECT avec jointure
    Par Netgamer dans le forum Requêtes
    Réponses: 7
    Dernier message: 05/08/2005, 10h20
  3. Problème sur Oracle Toolbox
    Par Doctor Z dans le forum Oracle
    Réponses: 9
    Dernier message: 09/11/2004, 08h48
  4. Problème Migration Oracle
    Par bob_doulz dans le forum Administration
    Réponses: 4
    Dernier message: 20/04/2004, 09h56
  5. Problème composant Oracle
    Par alexmorel dans le forum Bases de données
    Réponses: 12
    Dernier message: 24/02/2004, 08h53

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