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


說明:本次導入和導出采用expdp和impdp命令進行操作,這2個命令均需要在服務器端進行操作


http://www.cnblogs.com/huacw/p/3888807.html


一、    從Oracle數據庫導出dmp文件

1.以Linux的Oracle用戶登錄主機,然后創建導出文件的存放目錄/home/oracle/dump(可自定義)
mkdir  -p  /home/oracle/dump

2.以Oracle數據庫的sys用戶登錄(登錄命令為sqlplus sys/Xnyqsys167@192.168.100.167:1521/xnsde as sysdba)后執行如下命令

create directory dpdata1 as '/home/oracle/dump';                             #創建導出文件的存放目錄
#create or replace directory dpdata1 as '/home/oracle/dump';        #用於修改已創建的目錄(請根據實際情況選擇性執行)

select * from dba_directories where directory_name='DPDATA1';     #查看導出文件的存儲位置
grant read,write on directory dpdata1 to syssde;                                #對用戶進行授權


3.退出Oracle的sys用戶,以linux的oracle用戶登錄,並執行如下命令
expdp syssde/xnyq34#$@192.168.100.167:1521/xnsde  DIRECTORY=DPDATA1  schemas=syssde   dumpfile=syssde.dmp

 

#排除不需要導出的表

expdp syssde/xnyq34#$@192.168.100.167:1521/xnsde  DIRECTORY=DPDATA1  schemas=syssde  dumpfile=syssde.dmp EXCLUDE=TABLE:\"IN\(\' a4_sys_log\',\' a4_sys_enter\'\)\"




4. 切換到/home/oracle/dump查看已導出的文件

   

二、         將導出的dmp文件導入到另一個Oracle數據庫

 

登錄要導入dmp文件的本地數據庫

 

1.查看當前數據庫中數據文件的存儲位置:select name from v$datafile;

 

2.創建表空間syssde和sde

createtablespace  syssde  DATAFILE  '/u01/app/oradata/a4orcl/syssde.dbf' size 3000m

createtablespace  sde  DATAFILE  '/u01/app/oradata/a4orcl/sde.dbf' size 3000m

 

注意:創建表空間時請使用第1步查詢到的數據文件的地址

 

3.創建用戶syssde和sde

createuser syssde  identifiedby  xnyq34#$  default tablespace syssde;

createuser sde  identifiedby sde  defaulttablespace sde;

 

4.給用戶syssde和sde授權

grantdba, connect to syssde;

grantdba, connect to sde;

 

5.查看本地directory_path的地址,並將要導入的dmp文件放到該目錄下,如果Linux和Windows路徑不兼容,可采用如下命令進行修改

 

select* from dba_directories where directory_name='DPDATA1';       #查看DPDATA1的路徑

#create or replace directory dpdata1 as '/home/oracle/dump';     #用於修改dpdata1的路徑(請根據實際情況選擇性執行)

 

6.導入dmp文件(使用前幾步創建的用戶和密碼)

 

impdp syssde/xnyq34#$@ORCL11G DIRECTORY=dpdata1 DUMPFILE=syssde.dmp SCHEMAS=syssde

 

#使用sys用戶導入時

impdp \"sys/'sys123'@192.168.100.168:1521/a4orcl as sysdba\"   DIRECTORY=dpdata1  DUMPFILE=syssde20170907.dmp  SCHEMAS=syssde


#將192.168.100.167數據庫的syssde用戶的部分數據導入到192.168.100.168數據庫的cqsde用戶下

impdp \"sys/'sys34#$'@192.168.100.168:1521/a4orcl as sysdba\"   DIRECTORY=dpdata1  DUMPFILE=syssde20170906.dmp  remap_schema=syssde:cqsde remap_tablespace=syssde:cqsde

 

PS:在使用expdp和impdp命令時,注意不要把DIRECTORY放到最后,不然會出現導出和導入失敗的情況。


免責聲明!

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



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