【 DB_Oracle】impdp/expdp導入導出dmp文件


dmp文件是Oracle數據庫的轉儲文件,用於在不同主機之間進行數據遷移。通常使用expdp和impdp命令進行dmp文件的導出導入,expdp和impdp是服務端工具,只能在Oracle服務端使用。

一、從數據庫導出dmp文件

切換到Oracle安裝目錄的宿主用戶,然后通過expdp進行導出。

導出命令的模板:

expdp exp_user/exp_user_password@ip:1521/sid directory= DATA_PUMP_DIR dumpfile=file_name.dmp logfile=exp_logfile.log content=all SCHEMAS=exp_user

1、exp_user/exp_user_password表示導出用戶的賬號/密碼

2、ip和端口號只有從遠程導出時才需要,若本地導出只需指定實例名sid就好

3、directory指定導出的dmp文件存放的目錄,可以自己新建導出目錄,但一般使用默認的就好。

通過語句select * from dba_directories查詢dmp文件存儲的目錄

 4、dumpfile指定導出的dmp文件的文件名

5、logfile導出時的日志文件,可選

6、SCHEMAS導出用戶的賬號

導出實例:

expdp jslt/passwd@orcl directory= DATA_PUMP_DIR dumpfile=jslt_export_20200831.dmp logfile=jslt_export_20200831.log content=all SCHEMAS=jslt

導出完成后dmp文件就在 directory指定的目錄下

[oracle@centos7 dpdump]$ cd /data/oracle/admin/orcl/dpdump/
[oracle@centos7 dpdump]$ ls
jslt_export_20200831.dmp  jslt_export_20200831.log

二、將dmp文件導入到Oracle數據庫

登錄待導入dmp文件的服務器后切換到Oracle安裝目錄的宿主用戶:su -  oracle(宿主由根據安裝Oracle時指定,我這里時oracle)

1、進入sqlplus命令行

[oracle@centos7 ~]$ sqlplus /nolog

2、以擁有dba身份的用戶登錄數據庫

SQL> conn jslt/passwd@orcl
Connected.

3、創建用戶、表空間、並給用戶賦予權限

create tablespace XDBH_DATA  
logging
#表空間所在的目錄可通過語句select file_name,tablespace_name from dba_data_files查詢得到
datafile '/data/oracle/oradata/orcl/XDBH_DATA.DBF'   
size 512m  
autoextend on  
next 50m  
extent management local;  


create temporary tablespace XDBH_TEMP  
tempfile '/data/oracle/oradata/orcl/XDBH_TEMP.DBF' 
size 112m
autoextend
on next 100m
extent management local;

create user xdbh identified by xdbh
default tablespace XDBH_DATA
temporary tablespace XDBH_TEMP;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

grant connect,resource,dba to xdbh ;

4、通過語句select * from dba_directories查詢dmp文件存儲的目錄,將已導出的dmp文件上傳到該目錄下供導入使用

 5、通過impdp命令進行導入

導入模板

impdp imp_user/imp_user_password@ip:1521/sid directory=DUMP_DIR dumpfile=export.dmp REMAP_SCHEMA=exp_user:imp_user REMAP_TABLESPACE=exp_tablespacename:imp_tablespacename   logfile=implog.log table_exists_action=replace content=all transform=OID:N

 導入實例:

impdp jslt/passwd@orcl directory=DATA_PUMP_DIR dumpfile=jslt_export_20200831.dmp logfile=jslt_import_20200831.log REMAP_SCHEMA=jslt:jslt REMAP_TABLESPACE=LTBH_DATA:JSLT_DATA table_exists_action=replace content=all transform=OID:N

 參考博客:

1、關於Linux下使用expdp和impdp命令對Oracle數據庫進行導入和導出操作

2、Oracle 導出導入數據

3、oracle表空間的創建及dmp 文件的導入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM