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 :

Suppression en masse


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de petitfrere
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 259
    Par défaut Suppression en masse
    Help !

    J'ai un développer qui ma exploser une table + de 30millions de lignes

    Je souhaite faire un delete de masse avec des clauses where, je suis également limité en taille (undo)

    peux t'on m'aider ? peut-on faire un delete sans passer par le undo ?

    dois-je faire plusieur petit delete? puis un shrink space ?

    c'est quoi la meilleur solution? j'accepte tous ...

    sans redémarrer la base...



    Pour info j'ai remarqué que le tablespace UNDO se vider tous seul (je suis en 10g)

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Le delete représenterai quel pourcentage de lignes ?
    A partir d'un certain pourcentage il est peut-être plus rapide de renommer la table actuelle et de la recréer avec un insert en mode append.

    Il faut aussi considérer le surcoût sur toute la gestion autour de cette table (droit, clefs, index...).

  3. #3
    Membre émérite Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Par défaut
    bonjour,

    Pour ne pas avoir de problème de undo tu commit tous les 5000 enregistrements par exemple.

  4. #4
    Membre expérimenté Avatar de petitfrere
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 259
    Par défaut
    cela représente 98 % des lignes intercalé entre les bonnes ligne

    toutes les 5000 lignes !!! ca fait 6000 delete !!!

    le rennomage est peut etre la solution c'est quoi le mode operatoire ?

  5. #5
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour ,

    si tu veux garder que 2%

    dans ce cas

    tu peux utiliser CREATE TABLE AS SELECT ou INSERT APPEND

    1.create table T2 nologging as select * from t1 where ...

    2.create index
    3. Autres objets :
    create trigger
    create materilaized view
    etc

    4.Donner les droits

    grant select,update,delete,insert to user1 ;


    Apres renommage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alter table T1 rename to T1_OLD;
    alter table T2 rename to T1 ;
    alter table T1 logging;

  6. #6
    Membre expérimenté Avatar de petitfrere
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 259
    Par défaut
    Ouf j'ai reussi MERCI

    mais un eu un effet de bord mes tablespaces UNDO et TEMP ont énormément grossi (saloperie d'autoallocate!!)


    Ça je m'en occupe Merci

  7. #7
    Membre confirmé Avatar de voran
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Par défaut
    Citation Envoyé par petitfrere Voir le message
    Ouf j'ai reussi MERCI

    mais un eu un effet de bord mes tablespaces UNDO et TEMP ont énormément grossi (saloperie d'autoallocate!!)


    Ça je m'en occupe Merci
    Bonjour,

    Il y aurait un rapport entre l'autoallocate des extents ( c'est à dire sans uniform size c'est bien ça) et la taille des UNDO et TEMP ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [11gR2] Suppression en masse
    Par LEK dans le forum SQL
    Réponses: 4
    Dernier message: 28/11/2013, 11h34
  2. Suppression de masse sans curseur
    Par calagan99 dans le forum Développement
    Réponses: 2
    Dernier message: 14/06/2011, 11h59
  3. Suppression de masse
    Par Macfurp dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/10/2008, 15h16
  4. Suppression de masse
    Par boutss dans le forum Oracle
    Réponses: 9
    Dernier message: 03/12/2007, 18h54

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