1. 程式人生 > >oracle 備份與還原 exp/imp

oracle 備份與還原 exp/imp

獲取幫助

===================================================================

imp help=y

準備工作

=====================================================================

在命令列中執行下面的命令設定環境變數

c:>set ORACLE_SID=orcl

沒有設定這個環境變數有可能會導致:ORA-12560 錯誤

exp.exe 備份資料庫

=====================================================================

1、完全備份資料庫

EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y

如果要執行完全匯出,必須具有特殊的許可權

2、使用者模式(一個):

EXP <user>/<pwd> BUFFER=64000 FILE=C:\back.DMP OWNER=<user>

這樣使用者<user>的所有物件被輸出到檔案中。

3、表模式:

EXP <user>/<pwd> BUFFER=64000 FILE=C:\back.DMP OWNER=<user> TABLES=(t1,t2)

這樣使用者<user>的表t1, t2就被匯出

imp 匯入備份

=====================================================================

1. 匯入一個完整資料庫

imp system/manager file=full.dmp log=full.log full=y ignore=y

如果要執行完全匯出,必須具有特殊的許可權

2. 匯入一個或一組指定使用者所屬的全部表、索引和其他物件

imp <user>/<pwd> file=back.dmp [log=back.log] fromuser=seapark

imp system/manager file=back.dmp [log=back.log] fromuser=(seapark,amy,amyc,harold)

3. 將一個使用者所屬的資料匯入另一個使用者

imp system/manager file=back.dmp [log=back.log] fromuser=seapark touser=seapark_copy

imp system/manager file=back.dmp [log=back.log] fromuser=(seapark,amy) touser=(seapark1, amy1)

4. 匯入一個表

imp <user>/<pwd> file=back.dmp [log=back.log] fromuser=<user> TABLES=(a,b)

引數說明

=====================================================================

imp.exe <user>/<pwd> <key>=<val>

USERID: 使用者名稱/口令

FILE 輸入/輸出檔名 (EXPDAT.DMP)

OWNER: 所有者使用者名稱列表

FULL: Y/N,匯出整個檔案 (N)

BUFFER: 資料緩衝區大小

TABLES: 表名稱列表

DIRECT: 直接路徑 (N)

GRANTS:匯出許可權 (Y)

INCTYPE:增量匯出型別

ROWS: 匯出資料行 (Y)

PARFILE:引數檔名

優化exp和imp的效能

================================================================

exp /imp 可配置一些引數,以改進Export和Import的效能。至於效能具體能提升多高,則取決於要匯出或匯入的資料,以及資料量的大小。

用以下通用引數改進Export的效能:

DIRECT:對一個Export,將DIRECT引數設為DIRECT=Y,將資料直接轉移

到Export客戶端。這樣的轉移繞過SQL命令處理層(估值緩衝區),從而避免了

無謂的資料轉換。

RECORDLENGTH:增大RECORDLENGTH引數值,來改進效能。為該引數

推薦的值是DB_BLOCK_SIZE的一個整數倍,或者是檔案系統I/O塊大小的一個

整數倍。更改這個引數的值會影響寫入磁碟前積累的資料量。該引數的最大值為

64千位元組(64 KB)。

用以下通用引數改進Import的效能:

BUFFER:BUFFER引數指定了緩衝區的大小,資料行將通過這個緩衝區進行轉

移,由此便決定了由Import匯入的每個陣列插入中的行數。如配合COMMIT=Y

引數指定BUFFER引數,則Import會在每一個陣列插入之後進行提交,而不是在

載入完整的表之後再預設地提交。一個較大的BUFFER引數值有助於改善效能。

但假如BUFFER值過高,會造成OS分頁和換行,反而影響效能。

INDEXES。INDEXES引數指定是否匯入使用者生成的索引。如指定

INDEXES=N,則將提高Import的效能,因為在一個無索引的表中匯入資料要快得

多。注意,如果首先用INDEXFILE=返回Import,來在請求的Import模式下提取

索引建立命令,再將其寫入指定的檔案,那麼以後仍可重建索引。

使用INDEXFILE選項時,不會匯入資料物件。可對輸出檔案()進行編輯,

並將其作為一個SQL指令碼使用,以便在Import之後建立索引。