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

Import/Export Oracle Discussion :

[9i] tablespace offline


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut [9i] tablespace offline
    Bonjour,

    je dois faire des grosses modifications (delete from tb where ...)sur une tables (plusieurs Go de donée à supprimer).

    Je suis sûr de mes modifications, je voudrais savoir si je mets le tablespace undo offline cela gargnera du temps lors de modification ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select 'ALTER TABLESPACE '||tablespace_name || ' OFFLINE;' 
    from dba_tablespaces
    where contents = 'UNDO'

  2. #2
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Ca ne marchera pas.
    La suppression de plusieurs millions de lignes doit avoir une autre issue (par ex. create table as select..., drop la table source, rename de la nouvelle table).

    Nicolas.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut
    Ou alors passe par une petite procédure stockée crée pour l'occasion qui va te permettre de faire un loop dans lequel tu vas deleter tes lignes par paquets (mettons par paquets de 3000) enchaîné avec un commit, une vérification du fait qu'il reste des lignes à supprimer (sinon exit) et le tour est joué. La

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut
    Ou alors passe par une petite procédure stockée crée pour l'occasion qui va te permettre de faire un loop dans lequel tu vas deleter tes lignes par paquets (mettons par paquets de 3000) enchaîné avec un commit, une vérification du fait qu'il reste des lignes à supprimer (sinon exit) et le tour est joué.

    La seule chose délicate est de choisir le bon tempo de commit

  5. #5
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Citation Envoyé par Harry Potter
    Ou alors passe par une petite procédure stockée crée pour l'occasion ...
    Il y a de forte chance qu'une procédure stockée ne soit pas plus rapide qu'un simple sql d'update.

    Nicolas.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    De plus, augmenter le nombre de COMMIT tend en général à dégrader les performances.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut
    NGasparotto a écrit :
    Il y a de forte chance qu'une procédure stockée ne soit pas plus rapide qu'un simple sql d'update.
    Je ne vois pas bien le rapport avec le problème, un simple sql d'update sur des millions de lignes va exploser le undo, alors qu'une procédure stockée qui va faire la même chose chose mais disons par paquets de 2000 lignes va permettre de faire l'opération.

  8. #8
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par pifor
    De plus, augmenter le nombre de COMMIT tend en général à dégrader les performances.
    Je suis d'accord, comme je souhaite supprimer 70 % de la table, je vais donc
    - créer une table de 30% des données à garder
    - truncate de la table
    - insert des 30 %

    je pense que cela sera la solution la moins couteuse

    Merci en tout cas pour vos aides

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

Discussions similaires

  1. export of offline tablespace
    Par assimadi dans le forum Administration
    Réponses: 1
    Dernier message: 13/11/2007, 15h47
  2. Dropper des partitions sur des tablespaces OFFLINED
    Par elhamidi dans le forum Administration
    Réponses: 3
    Dernier message: 25/07/2007, 17h23
  3. tablespace UNDO offline
    Par olivanto dans le forum Administration
    Réponses: 2
    Dernier message: 16/05/2007, 09h37
  4. [eBs 11.5.9] Undo tablespace offline
    Par guigui_cwoco dans le forum Oracle
    Réponses: 7
    Dernier message: 14/12/2006, 10h23
  5. [Offline]Ouverture d'un doc html sous flash
    Par Hermant dans le forum Flash
    Réponses: 2
    Dernier message: 09/12/2002, 10h14

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