Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 18h57   #1
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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 :
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 :
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 *
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h52   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
La table est peut-être verrouillée : http://oracle.developpez.com/faq/?page=3-1#lock

Sinon, faudrait voir la volumétrie.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 11h16   #3
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 15h41   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
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.
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 11h14   #5
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 20h58   #6
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Utiliser un EXISTS serait mieux pour chopper des indexes.
Sinon, y aurait-il un trigger ON DELETE sur la table ?
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 11h17   #7
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 434
Points : 10 434
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Ou dans le même esprit que le TRIGGER, des tables liées par des clefs étrangères ON DELETE à celle-ci ?
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 13h28   #8
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
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.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 15h02   #9
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
http://oracle.developpez.com/cours/#tuning
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 08h52   #10
Membre habitué
 
Avatar de jlm22
 
Homme Jean-Louis
Etudiant
Inscription : décembre 2010
Messages : 199
Détails du profil
Informations personnelles :
Nom : Homme Jean-Louis
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Etudiant

Informations forums :
Inscription : décembre 2010
Messages : 199
Points : 114
Points : 114
Dans :
Code :
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
__________________
Pourquoi faire simple quand on peut faire .......... compliqué
jlm22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 09h10   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
C'est peut-être juste une faute de frappe, enfin, ce que j'en dis moi...
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 09h37   #12
Membre habitué
 
Avatar de jlm22
 
Homme Jean-Louis
Etudiant
Inscription : décembre 2010
Messages : 199
Détails du profil
Informations personnelles :
Nom : Homme Jean-Louis
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Etudiant

Informations forums :
Inscription : décembre 2010
Messages : 199
Points : 114
Points : 114
mouai j'me disais aussi ... fin si il a fait la même chose dans son script ..
__________________
Pourquoi faire simple quand on peut faire .......... compliqué
jlm22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 10h01   #13
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 10h09   #14
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 11h58   #15
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h08   #16
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
On va pas réexpliquer à chaque fois comment faire une trace

orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 18h54   #17
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
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.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 18h55   #18
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Ces lenteurs n'interviennent que sur cette table?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 19h45   #19
Futur Membre du Club
 
Inscription : mai 2009
Messages : 35
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : mai 2009
Messages : 35
Points : 17
Points : 17
Envoyer un message via MSN à lidybekham07 Envoyer un message via Yahoo à lidybekham07
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
lidybekham07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h59   #20
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h57.


 
 
 
 
Partenaires

Hébergement Web