1:把使用者usera的物件導到使用者userb,用法區別在於fromuser=usera touser=userb ,remap_schema='usera':'usera' 。例如
imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log;
impdp system/passwd directory=expdp dumpfile=expdp.dmp remap_schema='usera':'userb' logfile=/oracle/exp.log;
2:更換表空間,用exp/imp的時候,要想更改表所在的表空間,需要手工去處理一下,
如alter table *** move tablespace_new之類的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
3:當指定一些表的時候,使用exp/imp 時,tables的用法是 tables=('table1','table2','table3')。
expdp/impdp的用法是tables='table1','table2','table3'
4:是否要匯出資料行
exp (rows=y 匯出資料行,rows=n 不匯出資料行)
expdp content(all:物件+匯出資料行,data_only:只匯出物件,metadata_only:只匯出資料的記錄)
a: exp/imp的使用 (伺服器端和客戶端都可以執行。並且備份檔案可以在客戶端產生。)
exp user/password@servicename file=dump.dmp
imp user/password@servicename 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命令列下,並不會產生這個目錄的。
[oracle@kook ~]$ mkdir backup
如果你沒有制定這個目錄的話,預設exp匯出存放的目錄是$home/rdbms/log裡面。至少我的是這樣。很奇怪,為什麼在這裡。
ii:執行匯出匯入命令
expdp user1/password@servicename schemas=user1 directory=dmpdir_user1 dumpfile=user1.dmp
impdp user2/password@servicename directory=dmpdir_user1 dumpfile=user1.dmp remap_schema=user1:user2 remap_tablespace=user1ts:user2ts
使用expdp/impdp最大的好處可以讓我轉換表空間。而exp/imp這個是不支援的。處理起來非常麻煩。
ORACLE 備份與恢復EXP IMP 命令引數
exp imp 命令引數 一 exp 1 完全 exp system manager buffer 64000 file c full.dmp full y 如果要執行完全匯出,必須具有特殊的許可權 2 使用者模式 exp sonic sonic buffer 64000 file c sonic....
EXP IMP 命令引數
exp imp 命令引數 exp imp 命令引數 exp imp 命令引數 1 exp 1 完全 exp system manager buffer 64000 file c full.dmp full y 如果要執行完全匯出,必須具有特殊的許可權 2 使用者模式 exp sonic sonic ...
EXP IMP 命令引數
1 exp 1 完全 exp system manager buffer 64000 file c full.dmp full y 如果要執行完全匯出,必須具有特殊的許可權 2 使用者模式 exp sonic sonic buffer 64000 file c sonic.dmp owner son...