使用IMP將資料匯入指定的表空間

shorish發表於2010-07-14

資料匯入時可能需要將資料匯入到不同於之前的表空間內,但預設匯入後會發現資料還是匯入了原表空間,需要我們做的是回收使用者unlimited tablespace許可權,下面是我匯入的例子

SQL> drop tablespace inventory_ts including contents;

表空間已刪除。

SQL> conn inventory/inv

已連線。

SQL> select * from tab;

TNAME TABTYPE CLUSTERID

------------------------------ ------- ----------

CHECK_REPORT1_V VIEW

CHECK_REPORT2_V VIEW

EMP_LOC_VIEW VIEW

INOUT_REPORT_V VIEW

....

刪除表空間後只剩下檢視了

下面開始建立表空間和使用者

SQL> conn / as sysdba

已連線。

SQL> drop user inventory cascade;

使用者已刪除。

SQL> create tablespace inventory_ts

2 datafile 'D:appASUSoradataorclinventory_ts01.dbf'

3 size 1g

4 autoextend on

5 next 100m maxsize 2g

6 extent management local;

表空間已建立。

SQL> create user inventory identified by inv default tablespace inventory_ts temporary tablespace temp;

使用者已建立。

SQL> grant dba to inventory;

授權成功。

SQL> revoke unlimited tablespace from inventory;

撤銷成功。

SQL> alter user inventory quota 0 on users;

使用者已更改。

SQL> alter user inventory quota unlimited on inventory_ts;

使用者已更改。

透過執行IMP命令

imp system/manager file=expdata.dmp log= inv.log fromuser=inventory touser=inventory

將資料匯入到新建的inventory_ts表空間內

相關語句

(使用drop tablespace inventory_ts including contents and datafiles;可以把資料檔案也一起刪除,不用到作業系統裡去刪除檔案

查詢表空間及資料檔案資訊

select * from v$datafile;

select * from v$tablespace;

修改資料檔案大小

alter database datafile 'D:appASUSoradataorclinventory_ts01.dbf' resize 500m

)

[@more@]

使用IMP將資料匯入指定的表空間

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/114037/viewspace-1035273/,如需轉載,請註明出處,否則將追究法律責任。

相關文章