<a href="http://blog.csdn.net/gaohaiyang/article/details/7067051">原文連結</a>
imp/exp 使用者 表空間 users tablespace
使用exp把使用者pwgh的資料導出後,再使用imp把資料導入另外一個資料庫時。
發現一個問題,由于資料的導出使用者pwgh的一些表建在表空間users裡,
而我想把這些資料全部導入到另外一個資料庫的某個表空間裡,例如表空間pwgh_fs_tablespace。
雖然在建立使用者的時候指定該使用者的預設表空間(pwgh_fs_tablespace),但是還是有些表導入表空間users裡。
查了一下發現使用如下步驟就可以把資料全部導入表空間pwgh_fs_tablespace裡。
1. 使用DBA使用者收回使用者pwgh_fs的unlimited tablespace權限。
——-收回使用者在表空間上配額大小無限制的權限
revoke unlimited tablespace from pwgh_fs;
2. 取消使用者pwgh_fs在表空間users上的配額。
—-給使用者配置設定某個表空間的可用大小限額
alter user pwgh_fs quota 0 on users;
——為了防止使用者在表空間pwgh_fs_tablespace上的配額不足,使用如下sql讓使用者在該表空間上不限配額。
alter user pwgh_fs quota unlimited on PWGH_FS_TABLESPACE;
這樣再導入,就會把資料都導入表空間pwgh_fs_tablespace。
實際上就是讓使用者pwgh_fs可用的表空間隻有pwgh_fs_tablespace這一個表空間就行了。
使用到的exp和imp語句:
exp pwgh/pwgh_test@FSPWGH_CS file=”d:\oracle_temp\pwgh_fs_table20111103.dmp” owner=(pwgh)
imp pwgh_fs/pwgh_fs@pwgh file=”d:\oracle_temp\pwgh_fs_table20111103.dmp” full=y