在數據遷移時﹐往往希望把資料導入到用戶的默認表空間中﹐但資料庫設置導時默認使用原資料庫系統該用戶的默認表空間。如何更改?
原因在于﹕原系統用戶默認具有unlimited tablespace 的權限,那么導時就會按照原來的位置導入數據﹐即原表空間.
解決方法﹕
收回 unlimited tablespace權限
sql>revoke unlimited tablespace from user_name;
sql>alter user user_name quota 0 on default_tablespace;
sql>alter user user_name quota unlimited on default_tablespace;
另外﹕
在有些特殊情況下(如創建對象時強制制定非默認表空間)﹐以上的方法可能還是不能湊效﹐那么IMP提供另外的參數indexfile,當指定該參數后﹐系統將創建表和索引等的語句寫到一個文件中﹐通過編輯這個文件可以修改對象的創建語句﹐將表空間改為想要的表空間﹐然后運行該腳本完成對象創建﹐之后導數據時使用ignore=y忽略創建錯誤﹐如果變更用戶要使用fromuser ,touser
語法﹕
imp account/password file=expdp.dmp indexfile=file_name rows=n
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7396235/viewspace-129067/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7396235/viewspace-129067/