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

2021-09-05 17:44:46 字數 1624 閱讀 2913

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

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...