一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從
system
匯出的dmp
檔案在匯入時,即使指定新使用者的預設表空間,還是要往
system
表空間中導資料。
上網搜了一下,還是有解決方法的,常見的方法如下:
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
表空間:
c:\documents and settings\myhuang>imp system/123456@vdb fromuser=lnxh tous
er=myhuang file=g:\myhuang\lnxh.dmp ignore=y grants=n
順便說兩個小問題: (
1)imp-00003:
遇到oracle
錯誤1658
ora-01658:
無法為表空間
myhuang
中的段建立
initial 區
通常這個問題可以通過
resize
增加表空間資料檔案大小來解決。
(2)刪除表空間
sql> drop tablespace myhuang including contents and datafiles; 在
10g中實驗,
drop
表空間之後,仍然需要手動去刪除資料檔案。
//2008-08-24補充————————————————————————
另一種比較好的方法:
create tablespace datafile 『』 size 500m autoextend on next 10m;
create user identified by default tablespace quota unlimited on ;
grant connect,imp_full_database to ;
imp /@ fromuser= touser= file= ignore=y tablespaces=;
此方法不需要授予新使用者dba許可權。
此方法的存在的問題是:可能導致包含blob、clob欄位的表匯入失敗,這種情況下可以先用sql指令碼將表結構建立起來,再匯入相應的資料。
資料庫基礎系列之七 IMP資料到指定的表空間
一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從 system 匯出的dmp 檔案在匯入時,即使指定新使用者的預設表空間,還是要往 system 表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 sql create user my...
資料庫重建imp技巧
在利用import進行資料庫重建過程中,有些檢視可能會帶來問題,因為結構輸入的順序可能造成檢視的輸入先於它低層次表的輸入,這樣建立檢視就會失敗.要解決這一問題,可採取分兩步走的方法 首先輸入結構,然後輸入資料.命令舉例如下 uesrname jfcl,password hfjf,host sting...
oracle 還原資料庫 imp
imp c nvs 111111 file e 專案 ishow web buckup database oracle初始資料庫匯入 20170714 expdata 20170714.dump log e 專案 ishow web buckup database oracle初始資料庫匯入 201...