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 :

Requête de suppression qui reste bloquée


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut Requête de suppression qui reste bloquée
    * Bonjour, *

    je travail sur oracle 10g
    lors de la suppression des lignes (435 lignes) d'une table en exécutant la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete from table1 where table1.cle1 in (select cle1 from table 2)
    sachant que cle1 est la clé primaire de la table 1
    et la table 2 contient la liste des clé à supprimé
    j'ai l'habitude d’exécuté ce type de requête et ça fonctionne mais cette fois ci
    j'ai pas de réponse la requête prend beaucoup de temps plus d' 1h est aucune ligne supprimée.(m'affiche toujours patientez svp)
    dans la console on à le message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang : repeating key value :1
    j'ai vérifier dans mes deux tables j'ai pas de doublons .
    j'ai arrêter les services et relancer mais toujours rien sachant que j'ai essayé de supprimé une ligne de la table 1 en indiquant une valeur mais la même chose "patientez svp"

    * Merci *

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    La table est peut-être verrouillée : http://oracle.developpez.com/faq/?page=3-1#lock

    Sinon, faudrait voir la volumétrie.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    je vais vérifier si la table est verrouillée ou pas
    pour ce qui concerne la volumétrie j'ai exécuter une instruction du même type sur une table de 50 millions de lignes j'ai pas eu de problème
    alors que la table en question est moins volumineuse que celle ci

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    tu peux consulter V$SESSION_LONGOPS where TIMEREMAINING>0 pour voir si un gros table scan est en cours, et sinon effectivement DBA_LOCKS ou ton outil graphique préférer pour voir qui bloque qui.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    j'ai vérifié la table n'est pas verrouille et y'av aucun scan sur cette table
    alors j'ai essayer de supprimer une seule ligne s'à pris plus d'1 minutes mais celle ci à été supprimé
    cependant en exécutant la requête cité auparavant j'attend mais rien plus de 1h de temps d'exécution mais rien est'il possible que le problème est lorsque j'utilise un in

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Utiliser un EXISTS serait mieux pour chopper des indexes.
    Sinon, y aurait-il un trigger ON DELETE sur la table ?

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 383
    Points
    18 383
    Par défaut
    Ou dans le même esprit que le TRIGGER, des tables liées par des clefs étrangères ON DELETE à celle-ci ?

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Ou dans le même esprit que le TRIGGER, des tables liées par des clefs étrangères ON DELETE à celle-ci ?
    Voir aussi des tables filles avec clé étrangères non indexées.

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926

  10. #10
    Membre habitué Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Points : 148
    Points
    148
    Par défaut
    Dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select clef1 from table 2
    il représente quoi le 2 ? je ne connais pas ce type de requête
    table2 je comprendrais mais table 2 je vois pas.

    Cordialement

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    C'est peut-être juste une faute de frappe, enfin, ce que j'en dis moi...

  12. #12
    Membre habitué Avatar de jlm22
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2010
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 203
    Points : 148
    Points
    148
    Par défaut
    mouai j'me disais aussi ... fin si il a fait la même chose dans son script ..

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    alors pour l'instruction c'est juste une erreur de frappe c'est table2
    la suppression de 400 lignes c'est exécuté au bout d'une journée je n'explique pas cette lenteur est du à quoi je cherche mais je trouve pas !!!
    bon j'ai vérifier l'état de la table y'avait pas de problème certes y'a une clé étrangère dedans mais je l'utilise pas dans ma requête je travaille directe sur la clé primaire (la clé étrangère est indexé)
    un exist ou un in n'aurait rien changé s'a aurai pris le mm temps d’exécution

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Si tu supprimes des enregistrements d'une table maitre, Oracle doit vérifier pour chaque PK supprimée s'il n'y a pas des dépendances via la FK, c'est surement ça qui est long... mais sans trace point de salut.

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    possible que ces due à ça comment faire pour avoir des traces pas bien compris.
    la table en question subit des insertions de milliers de lignes durant un intervalle de temps est il possible que c'est un problème d'index mm si son statut est valide et le re-compilé fera il l'affaire

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    On va pas réexpliquer à chaque fois comment faire une trace


  17. #17
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Regardez votre plan d’exécution... ne serait-ce que pour une ligne...

    Vérifiez le nombre d'index présent sur la table... ceux ci sont mis à jour à chaque DELETE/INSERT/UPDATE

    Vérifiez vos triggers...
    La table n'est elle pas massivement accédée en lecture au moment de l'execution...

    etc.

  18. #18
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Ces lenteurs n'interviennent que sur cette table?

  19. #19
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2009
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    je vais re-compilé les indexe car cette table est périodiquement mise à jour (insertion de plus de 1000lignes)
    oui la lenteur intervient juste au niveau de cette table j'ai une autre plus volumineuse qui fait 4fois la taille de celle ci mais la suppression ne prend pas bcp de temps une affaire de secondes

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par lidybekham07 Voir le message
    je vais re-compilé les indexe car cette table est périodiquement mise à jour (insertion de plus de 1000lignes)
    Voila qui est totalement inutile. L'index est mis à jour quand les données sont modifiés et les risques de dégradation de performance des indexes lors de l'insertion de ligne est mineur... si tant est qu'il existe

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [2008R2] Restauration d'un BD qui reste bloquée sur 100%
    Par JauB dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 03/06/2014, 12h42
  2. Balise H1 qui reste bloquée au milieu de page
    Par pixel016 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/03/2014, 19h10
  3. une requête de suppression qui ne fonctionne pas (trop longue)
    Par clavier12AZQSWX dans le forum Requêtes
    Réponses: 9
    Dernier message: 25/07/2011, 16h03
  4. Package qui reste bloqué sur un data conversion
    Par remsrock dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 26/11/2008, 11h27
  5. Requête SQL qui me bloque
    Par David Guillouet dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/04/2004, 14h52

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