介紹
EXP、IMP是Oracle數據庫邏輯備份與恢復的工具,它可以在服務器端與客戶端運行,EXP可以導出整個數據庫,一個用戶的所有對象,指定的表空間、表以及索引,使用IMP恢復EXP備份出來的數據。
一、EXP命令
1.1、常用參數介紹
FULL:導出整個數據庫(N)
BUFFER:數據緩沖區的大小
OWNER:所有者用戶名列表,你希望導出哪個用戶的對象,就用owner=username
FILE:輸出文件(EXPDAT.DMP)
TABLES:表名列表,指定導出的table名稱,如:TABLES=table1,table2
INDEXES:導出索引(Y)
RECORD:跟蹤增量導出 (Y)
ROWS:導出數據行(Y),否則是空表和表結構
PARFILE:參數文件名,如果你exp的參數很多,可以存成參數文件.
CONSTRAINTS:導出約束(Y)
CONSISTENT:交叉表一致性
LOG:屏幕輸出的日志文件 (輸出日志到文件)
FEEDBACK:顯示每 x 行 (0) 的進度
FILESIZE:各轉儲文件的最大尺寸
QUERY:選定導出表子集的子句
TRANSPORT_TABLESPACE:導出可傳輸的表空間元數據 (N)
TABLESPACES:將傳輸的表空間列表
1.2、EXP導出整個數據庫
exp \'/ as sysdba\' file=/home/oracle/backup/full.dmp log=/home/oracle/backup/full.log full=y buffer=1024000 feedback=5000
1.3、EXP導出指定表
exp \'/ as sysdba\' file=/home/oracle/backup/emp.dmp log=/home/oracle/backup/emp.log tables=scott.emp
只導出表結構:
exp \'/ as sysdba\' file=/home/oracle/backup/emp.dmp log=/home/oracle/backup/emp.log tables=scott.emp rows=n
1.4、EXP導出指定用戶的所有對象
exp \'/ as sysdba\' file=/home/oracle/backup/scott.dmp log=/home/oracle/backup/scott.log owner=scott
1.5、EXP導出指定表空間
exp \'/ as sysdba\' file=/home/oracle/backup/users.dmp log=/home/oracle/backup/users.log tablespaces=users
1.6、使用PARFILE參數文件導出數據
[oracle@shao ~]$exp parfile=backup.par
[oracle@shao ~]$cat backup.par userid=username/password file=/home/oracle/backup/users.dmp log=/home/oracle/backup/users.log tablespaces=users
二、IMP命令
USERID:用戶名/口令
FULL:導入整個文件(N)
BUFFER:數據緩沖區大小
FROMUSER:所有人用戶名列表
FILE:輸入文件(EXPDAT.DMP)
TOUSER:用戶名列表
TABLES:表名列表
IGNORE 忽略創建錯誤(N)
INDEXES:導入索引(Y)
ROWS:導入數據行(Y)
PARFILE:參數文件名
LOG:屏幕輸出的日志文件
FEEDBACK:顯示每 x 行 (0) 的進度
FILESIZE:各轉儲文件的最大尺寸
TRANSPORT_TABLESPACE:導入可傳輸的表空間元數據 (N)
TABLESPACES:將要傳輸到數據庫的表空間
DATAFILES:將要傳輸到數據庫的數據文件
TTS_OWNERS:擁有可傳輸表空間集中數據的用戶
2.1、IMP導入整個數據庫
imp \'/ as sysdba\' file=/home/oracle/backup/full.dmp log=/home/oracle/backup/full.log full=y ignore=y buffer=1240000 feedback=5000
2.2、IMP導入指定表
imp \'/ as sysdba\' file=/home/oracle/backup/emp.dmp log=/home/oracle/backup/emp.log tables=scott.emp
2.3、IMP導入指定用戶
imp \'/ as sysdba\' file=/home/oracle/backup/scott.dmp log=/home/oracle/backup/scott.log full=y
2.4、IMP導入指定表到指定用戶
imp \'/ as sysdba\' file=/home/oracle/backup/scott.dmp log=/home/oracle/backup/scott.log fromuser=scott touser=hr