Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2008, 11h25   #1
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
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 :
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 !!
  Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 11h53   #2
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
La commande à lancer pour supprimer physiquement les datafiles du disque lorsque tu supprimes un tablespace est
Code :
 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
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 06h26   #3
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
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)
  Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h28   #4
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
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)
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 11h43   #5
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
En effet, j'utilise cet OEM !!!
Bon, merci, ça marche avec ton instruction
  Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 10h47   #6
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
O la la ! J'ai encore du problème avec mes tablespaces, surtout le tablespace temporaire
Code :
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 :
ALTER USER MYTSTEMP QUOTA UNLIMITED ON MYTSTEMP
ORA-00959: le tablespace 'MYTSTEMP' n'existe pas

Bizarre !!
  Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 11h02   #7
Membre chevronné
 
Avatar de randriano
 
Homme Rija Randriano
Inscription : janvier 2007
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Rija Randriano
Localisation : Madagascar

Informations forums :
Inscription : janvier 2007
Messages : 984
Points : 729
Points : 729
Moi, je ne suis pas un expert en oracle mais je te conseille lorsque tu créeras tes tablespaces d'ajouter cette ligne
Code :
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
randriano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 11h54   #8
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Pourquoi on ne peut pas utiliser
REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
pour les tablespaces temporaires (CREATE TEMPORARY TABLESPACE)
  Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 12h01   #9
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
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
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 15h08   #10
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Le fait de le faire MANUELLEMENT me parait inapproprié !!!
Ou est-ce qu'on ne peut pas dropper parfaitement un temporary tablespace ?
  Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 15h38   #11
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Pas besoin de t'embêter avec des REUSE, pour le tablespace TEMP la commande suivante marche aussi :
Code :
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 :
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
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 11h42   #12
bruce-willis
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
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 ???
  Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 11h58   #13
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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 :
1
2
3
CREATE tablespace TEMP
datafile '...'
TEMPORARY
avec TEMPORARY TABLESPACE ( Oracle > 8i )
Code :
1
2
3
 
CREATE TEMPORARY tablespace temp
tempfile '...'
http://download-west.oracle.com/docs...paces.htm#9566
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 11h59   #14
Membre chevronné
 
Avatar de randriano
 
Homme Rija Randriano
Inscription : janvier 2007
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Rija Randriano
Localisation : Madagascar

Informations forums :
Inscription : janvier 2007
Messages : 984
Points : 729
Points : 729
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 :
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
randriano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 12h04   #15
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
l'option REUSE permet d'écraser le fichier s'il existe
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 06h23   #16
Membre chevronné
 
Avatar de randriano
 
Homme Rija Randriano
Inscription : janvier 2007
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Rija Randriano
Localisation : Madagascar

Informations forums :
Inscription : janvier 2007
Messages : 984
Points : 729
Points : 729
orafrance a raison, ajouter la ligne suivante à ta create temporary tablespace
Code :
REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 30M
__________________
randriano.dvp.com
randriano est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web