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 :

[Oracle 8.1.5] Base devenant très lente après DELETE


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Oracle 8.1.5] Base devenant très lente après DELETE
    Bonjour,

    Je travaille sur une base de donnée oracle v8.1.5. Chaque année nous effectuons nous supprimons un certains nombre d'enregistrements dans un table CRONO suivant un critere precis (toutes les fiches ne sont pas supprimées).

    Or cette année (5eme année d'utilisation) la base de donnée est devenue très lente malgrès le peu de fiches restants dans la table de travail.

    Nb de fiches avant la purge : 66 000 fiches (environ)
    Nb de fiches après la purge : 5 000 fiches (environ)

    Le seul tablespace ayant grossi d'année en année est mon tablespace RBS.

    Les temps de réponse semble ne pas tenir compte de cette purge...

    Y a-t-il un moyen de purger le tablespace RBS (si le probleme vient de lui), ou un moyen de revenir aux temps de reponse qu'on avait il y a 4 ans ?

    Je reste à votre disposition pour de plus amples renseignements

    Merci d'avance

    Julien

  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 : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Attention, le DELETE ne redescend pas la HWM, lors de FULL SCAN ça peut poser de gros problème.

    Pour plus d'info : http://oracle.developpez.com/guide/a...lespaces/#L1.4

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Gloupsss,

    Merci pour cette réponse, cela me conforte dans mon idée que pour recuperer mes temps de reponse il faut effectivement détruire et reconstruire la table (voir la base)..

    N'y-a-t'il pas moyen de faire redescendre cette HWM par l'utilisation d'un script ou d'une commande SQL ?

    Merci d'avance

    Julien

  4. #4
    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
    malheureusement non, il faut déplacer la table, la tronquer ou encore la recréer

  5. #5
    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
    Eventuellement, il faudrait revoir la suppression ainsi :

    1- CREATE TABLE matable_a_garder AS SELECT <les lignes à garder>
    2- DROP TABLE matable
    3- RENAME matable_a_garder TO matable

    OU (si il y a des contraintes, triggers, etc...)

    2- TRUNCATE TABLE matable
    3- INSERT INTO matable SELECT * FROM matable_a_garder
    4- DROP TABLE matable_a_garder

    Je vois pas comment faire mieux

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour tout,

    Je vais essayer de faire ça sur mes bases pour voir si je gagne de la vitesse sinon je supprime la base et je réimporte les données dans une nouvelle base..

    A bientôt

    Julien

  7. #7
    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
    Citation Envoyé par Fred_D
    Eventuellement, il faudrait revoir la suppression ainsi :

    1- CREATE TABLE matable_a_garder AS SELECT <les lignes à garder>
    2- DROP TABLE matable
    3- RENAME matable_a_garder TO matable

    OU (si il y a des contraintes, triggers, etc...)

    2- TRUNCATE TABLE matable
    3- INSERT INTO matable SELECT * FROM matable_a_garder
    4- DROP TABLE matable_a_garder

    Je vois pas comment faire mieux
    Bonjour,

    Je ne suis pas d'accord,
    s'il existe des contraintes, un truncate ne marchera pas.
    il faux rajouter
    1 bis. disable mes contraintes
    5 enable mes contraintees

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,
    Il existe une derniére solution :
    1) move de la table d'un tbs à un autre
    2) même opération dans l'autre sens
    3) rebuild des index


    Jaouad

  9. #9
    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
    Citation Envoyé par aline
    s'il existe des contraintes, un truncate ne marchera pas.
    il faux rajouter
    1 bis. disable mes contraintes
    5 enable mes contraintees
    en effet, c'est un oubli mais Oracle l'aurait vite rappelé à l'ordre

    Jouad en effet, j'avais précisé que le MOVE était une solution sans faire la démonstration

    Heureusement que vous êtes là

Discussions similaires

  1. Démarrage très lent après optimisation services.msc
    Par Nono Sto dans le forum Windows XP
    Réponses: 2
    Dernier message: 03/06/2013, 05h23
  2. Formulaires très lents après compactage Dorsale
    Par 120 dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/04/2008, 14h36
  3. Réponses: 12
    Dernier message: 24/07/2007, 11h09
  4. Ouverture et fermeture de base très lent...
    Par Tofdelille dans le forum Installation
    Réponses: 6
    Dernier message: 19/09/2006, 18h51
  5. Réponses: 2
    Dernier message: 04/03/2006, 10h47

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