IMP資料到指定的表空間

2021-04-25 07:28:19 字數 1618 閱讀 9853

一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從

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表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 create user myhuang ide...

imp匯入到指定表空間

sql create user myhuang identified by myhuang default tablespace myhuang 先建立乙個使用者 sql grant resource,connect to myhuang sql grant dba to myhuang 賦 dba...

資料庫基礎系列之七 IMP資料到指定的表空間

一直以來,我都認為只要指定使用者的預設表空間,向該使用者匯入資料時,會自動進入到預設表空間。後來發現從 system 匯出的dmp 檔案在匯入時,即使指定新使用者的預設表空間,還是要往 system 表空間中導資料。上網搜了一下,還是有解決方法的,常見的方法如下 sql create user my...