天天看點

exp/imp與expdp/impdp

A: exp/imp的使用 (伺服器端和用戶端都可以執行。 并且備份檔案可以在用戶端産生。)

exp user/[email protected] file=dump.dmp

imp user/[email protected] fromuser=fuser touser=tuser file=dump.dmp

2: expdp/impdp的使用 (伺服器端和用戶端都可以執行。 備份檔案隻能存在伺服器裡面。)

I:在使用expdp導出時在Oracle需要定義目錄變量,在導出的時候需要制定這個變量。如果可以,你可以為每個使用者都建立一個單獨的備份目錄。

SQL>create directory dmpdir_user1 as '/home/oracle/backup';

SQL>grant read,write on directory dmpdir_user1 to user1;

對了,作業系統内必須建立這個目錄。在SQL指令行下,并不會産生這個目錄的。

[[email protected] ~]$ mkdir backup

如果你沒有制定這個目錄的話,預設exp導出存放的目錄是$HOME/rdbms/log裡面。至少我的是這樣。很奇怪,為什麼在這裡。

II:執行導出導入指令

expdp user1/[email protected] schemas=user1 directory=dmpdir_user1 dumpfile=user1.dmp

impdp user2/[email protected] directory=dmpdir_user1 dumpfile=user1.dmp remap_schema=user1:user2 remap_tablespace=user1ts:user2ts

使用expdp/impdp最大的好處可以讓我轉換表空間。而exp/imp這個是不支援的。處理起來非常麻煩