首先說明dmp文件:
Oracle備份文件是以dmp結尾,這種文件是oracle的邏輯備份文件,常用於數據庫邏輯備份,數據庫遷移等操作。
一.Oracle導入備份文件步驟:我用的是Oracle 11g版本
1.把數據庫的備份文件:xx.DMP 拷貝到oracle安裝目錄下的dpdump文件夾中,
比如我的路徑是: D:\work\app\admin\orcl\dpdump
在你的PLSQL Developer中 或者直接在cmd下登錄sqlplus, 作如下操作:步驟2-4
2.創建表空間 tablespace_name.dbf
create tablespace tablespace_name datafile 'D:\work\app\admin\orcl\dpdump\tablespace_name.dbf' size 500m
reuse autoextend on next 10m maxsize unlimited extent management local autoallocate permanent online;
-- 指定表空間初始大小為500M,並且指定表空間滿后每次增加的大小為10M。
3.創建用戶
create user +用戶名+ identified by +密碼+ default tablespace +表空間名;
--用戶、密碼指定表空間
4.給用戶授權
grant connect,resource,dba to user_name;
-- 給用戶user_name 授權。
connect和resource是兩個系統內置的角色,和dba是並列的關系。
DBA:擁有全部特權,是系統最高權限,只有DBA才可以創建數據庫結構。
RESOURCE:擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。
CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創建實體,不可以創建數據庫結構。
5.cmd運行以下導入語句
--導入數據庫文件
impdp user_name/pwd@orcl dumpfile=xx.DMP log=xx.log
-- 將備份文件xx.DMP還原到user_name用戶下,並創建名為xx的日志文件xx.log
二.Oracle導出備份文件:
expdp user_name/pwd@orcl dumpfile =xx.dmp ;
-- 導出用戶user_name下的所有對象,指定導出的備份文件名稱為xx.dmp。導出的備份文件默認的存放位置為oracle安裝目錄下的dpdump文件夾中。


3:導入與導出,如下:
數據導出:
1 將數據庫TEST完全導出,用戶名system 密碼manager, 實例名TEST 導出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 將數據庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 將數據庫中的表table1 、table2導出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的導出,對於壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
不過在上面命令后面 加上 compress=y 就可以了
導入:
1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。
在后面加上 ignore=y 就可以了。
2 將d:\daochu.dmp中的表table1 導入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
注意事項:導出dmp數據時需要有導出表的權限的用戶,否則不能導出。