Bonjour,
Je travaille sur oracle 10g sous redhat.
J'ai un tablespace DATA avec 10 datafiles.
Je souhaiterai repartir les données des 2 derniers datafile sur les 8 premiers afin de supprimer les 2 derniers.
Comment dois je proceder???
Merci d'avance
Version imprimable
Bonjour,
Je travaille sur oracle 10g sous redhat.
J'ai un tablespace DATA avec 10 datafiles.
Je souhaiterai repartir les données des 2 derniers datafile sur les 8 premiers afin de supprimer les 2 derniers.
Comment dois je proceder???
Merci d'avance
Je ne vois pas d'autre moyen que déplacer tous les objets contenus dans ces datafiles dans un tablespace de travail, supprimer les datafiles et déplacer les objets dans le tablespace d'origine :?
Je viens de deplacer tt mes tables vers un autre tablespace B, j'ai supprimer mes 2 derniers datafiles A9 et A10 et j'ai remis tt en place dans A1 jusqu'a A8.
Seulement l'espace des 2 datafiles supprimé n'est pas récuperé.
Je dois donc supprimer le tablespace parait il... et le reconstruire comme je veux, c'est fou mais c'est comme ca.
Ma question est : y a t'il une commande qui migre tt les objet d'un tablespace vers un autre.
Car ds ma premiere manoeuvre, il restait des données ds le datafile A1. ce qui ne me derangeait pas puisque je ne comptais pas le supprimer mais mnt bien :)
remerci d'avance
non non... attends, vérifies que les fichiers sont supprimés sur le disque et si c'est le cas, il faut attendre un peu que la baie libère l'espace si baie il y a :)
Non les datafiles sont tjs sur disque et occupe tjs la taille de 4096Mo chacun.
Je pensais les supprimer avec cette commande :
Mais ca ne fais que les mettre a 0Mo avec AUTOEXTEND OFF dans oracle.Code:
1
2 ALTER DATABASE DATAFILE '/u02/oradata/WATCHER/WATCHER_data10.dbf' OFFLINE DROP;
Sur disque ca prend tjs 4096Mo.
Ha oui... désolé j'étais parti ailleurs.... en effet, pour supprimer les fichiers tu dois droper le tablespace avec la clause INCLUDING CONTENTS après avoir déplacé les objets dans un autre tablespace. Sinon, tu peux aussi réduire la taille des fichiers à 5 blocks et les mettre OFFLINE.
http://download-west.oracle.com/docs...5a.htm#2093949
Citation:
If the database is in NOARCHIVELOG mode, you must specify the DROP clause to take a datafile offline. However, the DROP clause does not remove the datafile from the database. To do that, you must drop the tablespace in which the datafile resides. Until you do so, the datafile remains in the data dictionary with the status RECOVER or OFFLINE.
dans 10gR2, il est possible d'effacer des datafiles, s'il sont vides, sans dropper la tablespace.
Code:
1
2
3
4
5
6
7
8 SQL> alter tablespace users add datafile '/tmp/user888.dbf' size 4m; Tablespace altered. SQL> alter tablespace users drop datafile '/tmp/user888.dbf'; Tablespace altered.
merci infiniment ;)