說明:本次導入和導出采用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放到最后,不然會出現導出和導入失敗的情況。