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

SQL Oracle Discussion :

Suppression à problème de tablespaces


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bruce-willis
    Invité(e)
    Par défaut Suppression à problème de tablespaces
    Bonjour,

    J'utilise l'OEM pour vérifier les manipulations que j'ai faites à partir d'un programme que j'ai créé.
    Je supprime alors sous OEM le schéma (drop user sous sql+) ainsi que les tablespaces correspondants afin de recommencer à exécuter mon programme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    CREATE TABLESPACE TS_MYDATA
        LOGGING 
        DATAFILE 'D:\ORACLE\ORADATA\TEST\TS_MYDATA.DBF'
        SIZE 100M
     
    CREATE TABLESPACE TS_MYBLOB 
        LOGGING 
        DATAFILE 'D:\ORACLE\ORADATA\TEST\TS_MYBLOB.DBF'
        SIZE 50M
     
    CREATE  TABLESPACE TS_MYINDEXES 
        LOGGING 
        DATAFILE 'D:\ORACLE\ORADATA\TEST\TS_MYINDEXES.DBF'
        SIZE 50M
     
    CREATE TEMPORARY TABLESPACE TS_MYTMP
        TEMPFILE 'D:\ORACLE\ORADATA\TEST\TS_MYTMP.DBF'
        SIZE 50M
     
     
    CREATE USER BRUCEWILLIS
       PROFILE "DEFAULT"
       IDENTIFIED BY "MYPWD"
       DEFAULT TABLESPACE "TS_DATA"
       TEMPORARY TABLESPACE "TS_TEMP"
       ACCOUNT UNLOCK
    Le problème c'est que les exceptions retournées sont :
    - TS_MYBLOB.DBF, TS_MYINDEXES.DBF et TS_MYTMP.DBF existent
    - TS_MYDATA.DBF n'existe pas et ne peut pas être créé causant des erreurs dans les instructions plsql qui suivent et qui l'utilisent !!

    Donc, pour y remédier, je dois toujours aller au serveur D:\ORACLE\ORADATA\TEST\ pour supprimer manuellement ces DBF et le programme marche après mais c'est pas très pratique !!

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    La commande à lancer pour supprimer physiquement les datafiles du disque lorsque tu supprimes un tablespace est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DROP TABLESAPCE ton_tbs INCLUDING CONTENTS AND DATAFILES
    Si tu supprimes le tablespace depuis OEM, il y a une option à cocher si tu veux supprimer aussi les datafiles du disque
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    bruce-willis
    Invité(e)
    Par défaut
    Cette instruction n'est-elle pas la même que les supprimer sous l'OEM en cochant le truc mais la plupart du temps dans mon cas, les fichiers DBF demeurent causant des erreurs à la re-création des tablespaces. Est-ce un problème du serveur (9i)

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Tu parles bien de OEM la console d'admin java en standalone (et non pas le grid control) ?
    Pour OEM java standalone quand tu cliques droit sur un tablespace pour l'enlever, il faut cocher l'option "supprimer du système d'exploitation les fichiers associés" (si ça ne marche pas ce n'est pas normal c'est peut-être un bug)
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    bruce-willis
    Invité(e)
    Par défaut
    En effet, j'utilise cet OEM !!!
    Bon, merci, ça marche avec ton instruction

  6. #6
    bruce-willis
    Invité(e)
    Par défaut
    O la la ! J'ai encore du problème avec mes tablespaces, surtout le tablespace temporaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TEMPORARY TABLESPACE MYTSTEMP 
        TEMPFILE 'D:\ORACLE\ORADATA\TEST\MYTSTEMP.DBF'
        SIZE 50M
    #
    L'erreur c'est lorsque je réexecute le code:
    ORA-01119: Echec de création du fichier de base de données 'D:\ORACLE\ORADATA\TEST1\TSSEE_EEDTEMP7.dbf'
    ORA-27038: skgfrcre : le fichier existe déjà
    OSD-04010: option <create> indiquée ; le fichier existe déjà

    Puis s'en suive:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER USER MYTSTEMP QUOTA UNLIMITED ON MYTSTEMP
    ORA-00959: le tablespace 'MYTSTEMP' n'existe pas

    Bizarre !!

  7. #7
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    Moi, je ne suis pas un expert en oracle mais je te conseille lorsque tu créeras tes tablespaces d'ajouter cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLESPACE MYTABLESPACE 
        LOGGING 
        DATAFILE 'D:\ORACLE\ORADATA\TEST\MYTABLESPACE.DBF'
        SIZE 5M
        REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO
    Concernant ton temporary tablespace, je passe !!!
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  8. #8
    bruce-willis
    Invité(e)
    Par défaut
    Pourquoi on ne peut pas utiliser
    REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
    pour les tablespaces temporaires (CREATE TEMPORARY TABLESPACE)

  9. #9
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    tu droppes ton tablespace TEMP, puis tu supprimes manuellement les datafiles correspondants sur le disque, et ensuite tu recrées ton tablespace TEMP avec tes datafiles et c'est bon, pas besoin de chercher des complications
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  10. #10
    bruce-willis
    Invité(e)
    Par défaut
    Le fait de le faire MANUELLEMENT me parait inapproprié !!!
    Ou est-ce qu'on ne peut pas dropper parfaitement un temporary tablespace ?

  11. #11
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Pas besoin de t'embêter avec des REUSE, pour le tablespace TEMP la commande suivante marche aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
    Mais si TEMP est le tablespace temporaire par défaut de ta base, pour le dropper il faut auparavant avoir créé un autre tablespace de type temporaire l'avoir déclaré en tant que nouveau tablespace temporaire par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TEMPORARY TABLESPACE TEMP_BIS TEMPFILE '/chemin/.../' blabla ...
    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_BIS;
    DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
    Et les datafiles de TEMP auront disparu
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  12. #12
    bruce-willis
    Invité(e)
    Par défaut
    Rebonjour à tous,
    Ca ne marche toujours pas !!! le tablespace est supprimé mais pas le .dbf
    Je comprends pas le truc du TEMP et TEMP_BIS ???

  13. #13
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    le tablespace TEMP n'a pas de DATAFILE mais un TEMPFILE

    c'est la raison pour laquelle le TEMPFILE n'est pas supprimé.

    Ne confondez pas TABLESPACE TEMPORARY ( Oracle 7 )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Create tablespace TEMP
    datafile '...'
    temporary
    avec TEMPORARY TABLESPACE ( Oracle > 8i )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create temporary tablespace temp
    tempfile '...'
    http://download-west.oracle.com/docs...paces.htm#9566

  14. #14
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    J'ai aussi essayé de dropper un temporary tablespace mais sans réussite: le dbf reste !
    Sur dvp, il y a des tutos sur la création des temporary ts mais pas des tutos sur leurs drop:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TEMPORARY TABLESPACE temp 
       TEMPFILE 'g:\oracle\oradata\orafrance\temp01.dbf' 
       SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  15. #15
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    l'option REUSE permet d'écraser le fichier s'il existe

  16. #16
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    orafrance a raison, ajouter la ligne suivante à ta create temporary tablespace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 30M
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

Discussions similaires

  1. Problème lors de la suppression d'un tablespace
    Par Arcocide dans le forum Administration
    Réponses: 3
    Dernier message: 05/04/2011, 11h13
  2. Problème avec tablespace d'annulation
    Par ambre dans le forum Oracle
    Réponses: 10
    Dernier message: 17/02/2009, 20h02
  3. Problème avec tablespace temporaire
    Par nounou21 dans le forum Administration
    Réponses: 3
    Dernier message: 26/06/2008, 13h14
  4. Erreur de suppression d'un Tablespace
    Par Cairn dans le forum Import/Export
    Réponses: 3
    Dernier message: 04/09/2007, 22h05
  5. problème avec tablespaces
    Par ulysse031 dans le forum Administration
    Réponses: 13
    Dernier message: 24/02/2007, 15h49

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