Bonjour,
Visiblement il y en a qui aime bien ce compliquer la vie... !?
Ton user à un tablespace par defaut on vas dire DATA pour simplifier les choses... Comme tu es un bon DBA... Tu veux répartir les data dans le tablespace DATA et les index dans le tablespace INDX.
Ben c'est tout simple...
Tu lances ton export :
exp file=./monbordelamoi.dmp log=./monbordelamoi.log owner=monschemabordelique
tu "drop"/"create" ton schéma
Puis tu verifie que ton user a bien comme tablespace par defaut DATA
1 2 3
| alter user monschemabordelique quota unlimited on DATA;
alter user monschemabordelique quota 0K on INDX;
revoke unlimited tablespace from monschemabordelique; |
-- le grant resource donne souvent unlimited tablespace ici on en veut surtout pas...
Tu lances l'import :
imp file=./monbordelamoi.dmp log=./imp_monbordelamoi_data.log fromuser=monschemabordelique touser=monschemabordelique
indexes=n constraints=n
Tu "switch" le user avec comme tablespace par defaut INDX
1 2 3
| alter user monschemabordelique default tablespace INDX;
alter user monschemabordelique quota 0K on DATA;
alter user monschemabordelique quota unlimited on INDX; |
Tu lances l'import (Pour les indexes) :
imp file=./monbordelamoi.dmp log=./imp_monbordelamoi_data.log fromuser=monschemabordelique touser=monschemabordelique
rows=n ignore=y
Voila voili qu'il est beau mon schéma...
Donc en gros ça donne : il te faut un DATA et un INDX comme tablespace...
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 27 28 29
| set linesize 1024
drop user TEST cascade;
create user TEST identified by TEST123;
alter user TEST default tablespace DATA;
grant connect,resource to TEST;
revoke unlimited tablespace from TEST;
alter user TEST quota unlimited on DATA;
alter user TEST quota unlimited on INDX;
connect test/test123
create table t1data (a varchar2(1)) tablespace DATA;
create index t1data_n1 on t1data (a) tablespace DATA;
create table t1index (a varchar2(1)) tablespace INDX;
create index t1index_n1 on t1index (a) tablespace INDX;
select owner,segment_name, tablespace_name from dba_segments where owner = 'TEST';
! exp file=./TEST.dmp log=./TEST.log owner=TEST
connect / as sysdba
drop user TEST cascade;
create user TEST identified by TEST123;
alter user TEST default tablespace DATA;
grant connect,resource to TEST;
alter user TEST quota unlimited on DATA;
revoke unlimited tablespace from TEST;
! imp file=./TEST.dmp log=./imp_TEST.log fromuser=TEST touser=TEST indexes=n constraints=n
select owner,segment_name, tablespace_name from dba_segments where owner = 'TEST';
alter user TEST default tablespace INDX;
alter user TEST quota unlimited on INDX;
alter user TEST quota 0K on DATA;
! imp file=./TEST.dmp log=./imp_TEST.log fromuser=TEST touser=TEST rows=n ignore=y
select owner,segment_name, tablespace_name from dba_segments where owner = 'TEST'; |
Partager