sql> create user myhuang identified by myhuang default tablespace myhuang;//先建立乙個使用者
sql> grant resource,connect to myhuang;
sql> grant dba to myhuang;// 賦 dba 許可權
sql> revoke unlimited tablespace from myhuang;// 撤銷此許可權,這個位置很關鍵
sql> alter user myhuang quota 0 on system;// 將使用者在 system 表空間的配額置為 0
sql> alter user myhuang quota unlimited on myhuang;// 設定在使用者在 myhuang 表空間配額不受限。
經過上述設定後,就可以用 imp 匯入資料,資料將會進入指定的 myhuang 表空間:
window下匯入方法 c:/documents and settings/myhuang>imp system/123456@vdb fromuser=lnxh tous
er=myhuang file=g:/myhuang/lnxh.dmp ignore=y grants=n
linux 下匯入方法:
imp aiocp2/aiocp2 file=aiocp_testfull2010_11_9.dmp fromuser=aiocp_test touser=aiocp2 tables=tb_ucustommenus,thasmrolecurl tablespaces=users
順便說兩個小問題:
( 1 ) imp-00003: 遇到 oracle 錯誤 1658
ora-01658: 無法為表空間 myhuang 中的段建立 initial 區
通常這個問題可以通過 resize 增加表空間資料檔案大小來解決。
( 2 )刪除表空間
sql> drop tablespace myhuang including contents and datafiles;
[個人補充]
如遇imp -00003 : oracle error 1950 encountered.
ora-01950 : no privileges on tablespace 『******x』
說明你的表中有blob之類的字段或有分割槽的表,此類表無法匯入新的表空間
網上說9i中此問題沒有完美的解決方案,估計只能先建乙個同名的表空間,然後把這個表移到新的表空間中。
在10g,11g中可以通過先在目標端建立同名的表 來實現將有blob字段表或分割槽表的資料匯入。
oracle dmp匯入到指定表空間
a,給使用者授權 如果使用者有下列許可權,可省略此步 sql grant connect,resource,dba totestuser 使用者名稱 b,unlimited tablespace許可權 sql revoke unlimited tablespace from testuser 使用者...
IMP資料到指定的表空間
一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從 system 匯出的dmp 檔案在匯入時,即使指定新使用者的預設表空間,還是要往 system 表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 sql create user my...
IMP資料到指定的表空間
一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從system匯出的dmp檔案在匯入時,即使指定新使用者的預設表空間,還是要往system表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 create user myhuang ide...