-
Déplacement d'un schema
Bonjour, voici rapidement mon probleme.
Une base A a été créée avec un utilisateur et un schema associé a cet utilisateur. Le schema de l'utilistateur a été créé dans le tablespace USERS en lieu et place de la répartition des tables dans différents tablespaces.
On a laisser courrir et les gens ont travailler sur cette base.
Aujourd'hui je dois creer une base B contenant les donénes de la base A mais avec le meme schema réparti sur plusieurs tablespaces.
J'ai fais un export full de l'utilisateur de la base A mais si j'importe il réimporte dans le tablespace USERS.
Je ne peux pas modifier le fichier d'export sinon j'ai une erreur de CRC sur le fichier.
Voila mon probleme, j'espere avoir été assez clair.
Merci de votre aide, vos idées.
Je suis en Oracle 9.2.0
-
Une fois les données importées, tu peux déplacer tes tables et reconstruire tes index dans le bon tablespace :
alter table xxxx move tablespace yyyyy;
alter index zzzzz rebuild tablespace qqqq;
à scripter bien sur, selon le nombre d'objets :)
-
tu peux créer le user avant l'import, et faire un import du schéma uniquement avec l'option "fromuser= touser="
une autre méthode aussi que j'avais utilisé était de recréer les tables avant l'import, et activer l'option "ignore=y" lors de l'import : si la table n'a pas être créé là où il voulait, les données seront quand même insérés
ca te permettra de mettre les données sur plusieurs tablespaces, à condition de créer les objets avant import
-
Tu peux aussi faire
$ imp system/passwd file=dump.dmp indexfile=dump.rem fromuser= touser=
Tu trifouille le dump.rem en dump.sql en enlevant les commentaires, en remplaçant le TBS_USER, ensuite tu exécute sous SQL> :king: