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 de Datafiles


Sujet :

Administration Oracle

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut Suppression de Datafiles
    Bonjour,

    Nous utilisons SAP R/3 sur Oracle 10G. Suite à une suppression d'une partie des données dans la base (environ 30%) je me retrouve avec une taille sur le disque qui ne correspond pas à la taille que pourrait occuper les données.
    Mes données sont donc un peu éparpillées entre mes datafile dans ce format : X|0|X|X|0|0|0|X
    J'ai vu dans la FAQ que le Coalesce ne faisait que regrouper les espaces vides ensemble X|0|X|X|000|X mais ne permettait pas un regain d'espace disque.

    Je souhaiterai supprimer les |0|0|0 et suppirmer l'espace disque inutilisé pour le rendre au système afin de gagner du temps de sauvegarde(sur mes sauvegardes à froid par exemple).

    Avez vous une idée sur la manière de procéder, est ce possible ?
    Je vérifierai ensuite mes infos auprès de SAP, mais savoir comment Oracle le fait me permettra d'en savoir un peu plus.

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Ce que tu souhaites faire est une réorganisation de la base de données.
    Le plus simple est de procéder par export/import de la base de données:

    Etape 1 : tu exportes le schéma SAP
    Etape 2 : tu supprimes les tables exporter
    Etape 3 : tu retailles le datafile ou tu supprime et recrée le tablespace à la bonne taille
    Etape 4 : tu importes ton dump

    En plus du gain d'espace, tu vas gagner en performances

  3. #3
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Si vous voulez uniquement réduire la taille des sauvegardes, vous pouvez utiliser RMAN pour faire les sauvegrades car RMAN ne copie que les blocs alloués à des segments et pour libérer des blocs non utilisés dans des tables avec Oracle 10.2, vous pouvez utiliser les commandes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter table <table> enable row movement;
    alter table <table> shrink space;
    Cette façon de faire a l'avantage de pouvoir être exécutée en ligne et sans avoir à reconstruire les index.

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Points : 716
    Points
    716
    Par défaut
    Le temps de maintenance risque d'être un peu long mais les étapes semblent répondre à mes attentes.

    Dommage qu'une suppression en ligne des datafiles ne soit pas possible. La taille des bases allant de 600 Gb à 1,5 Tb l'export import risque de prendre quelques temps.

  5. #5
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Pour pouvoir supprimer un datafile en 10g, il faut qu'il soit absolument vide.
    Pour pouvoir diminuer la taille d'un datafile, il faut que l'espace dans le datafile situé au delà de la nouvelle taille du datafile soit inutilisé.

    Si vous tenez absolument à réduire la taille des datafiles, le plus simple est sans doute recréer un nouveau tablespace et de déplacer les tables et les index dans le nouveau tablespace avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    alter table <table> move <nouveau tablespace>;
    alter index <index> rebuild tablespace <nouveau tablespace>;
    Ceci nécessite d'abord compatibilité avec SAP au niveau du nom du tablespace et ensuite indisponibilité des données durant le transfert.

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Points : 193
    Points
    193
    Par défaut
    Pour réduire l'export/import, tu peux paralléliser.

    Pour l'étape d'export, tu lances plusieurs export en parallèle, sachant qu'un export occupe en général 20% de CPU et qu'il faut laisser 20% de CPU libre pour la gestion du système.
    Dans ton système SAP, il doit y avoir quelques tables uniquement qui doivent utiliser 50% de l'espace (ce qui est el cas dans mes environnements SAP). Dans ce cas, 1 export par grosse table + 1 export avec le restant des tables.

    Pour l'étape d'import, tu importes en parallèle tes différents dump.

    Cette parallélisation a permis de gagner 50% du temps, et l'opération a permis de gagner 30% d'espace disque et 5% de perf...

    Pour gagner encore plus de temps:
    Etape 1 : tu exportes le schéma SAP en parallélisant
    Etape 2 : tu supprimes les tables exportées
    Etape 3 : tu retailles le datafile ou tu supprime et recrée le tablespace à la bonne taille
    Etape 4 : tu recréer les tables en mode nologging
    Etape 5 : tu importes tes dumps sans les index en parallèle
    Etape 6 : tu repasses les tables en mode logging
    Etape 7 : tu importes les indexes

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

Discussions similaires

  1. Suppression datafile dans tablespace DRSYS
    Par Djemens dans le forum Oracle
    Réponses: 3
    Dernier message: 16/12/2010, 11h43
  2. Suppression Datafile Recover
    Par petitfrere dans le forum Administration
    Réponses: 1
    Dernier message: 19/08/2009, 14h59
  3. Suppression du table space avec datafile
    Par magboom dans le forum Oracle
    Réponses: 5
    Dernier message: 16/08/2007, 10h01
  4. Réponses: 3
    Dernier message: 23/09/2006, 13h05
  5. Suppression de datafile
    Par marcool18_fr dans le forum Oracle
    Réponses: 2
    Dernier message: 27/04/2006, 15h07

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