一、導出表結構無數據
1.1 創建導出文件夾
首先在導出oracle數據庫中創建一個虛擬目錄用來做為導出的dump文件輸出,並賦予讀寫權限,導入導出權限
create directory dUmpdir as '/oracle/dump';
grant read,write on directory dmpdir to srcusername;
grant IMP_FULL_DATABASE to srcusername;
驗證
select * from dba_directories;
創建物理目錄
mkdir -p /oracle/dump
1.2 導出全庫表結構無數據
expdp 用戶名/密碼@地址/表空間 directory=虛擬目錄的名稱(dmpdir) dumpfile=RCCADB.dmp cluster=no schemas=fraudzd content=metadata_only
- dumpfile : 導出的dump文件名稱
- cluster : 是否集群
- content=metadata_only 只要表結構
- schemas : 導出數據庫的用戶名
導出實例
expdp srcusername/srcuserpasswd@mysrcDataBase directory=DUMPDIR dumpfile=orafile.dmp logfile=orafile.log cluster=no schemas=srcusername content=metadata_only
1.3 導入數據庫表結構
將導入文件上傳導入數據庫
在導入oracle數據庫中創建一個虛擬目錄用來做為導入的dump文件輸出,並賦予讀寫權限,導入導出權限
create directory dmpdir as '/home/oracle/dmp';
grant read,write on directory dmpdir to destusername;
grant IMP_FULL_DATABASE to destusername;
驗證
select * from dba_directories;
創建物理目錄
mkdir -p /home/oracle/dmp
實例
impdp destusername/destusername@mydestDataBase directory=dmpdir dumpfile=orafile.dmp logfile=orafile.log cluster=yes remap_schema=srcusername:destusername
remap_schema = 原始用戶:目標用戶
二、導出指定表結構和數據
2.1 導出指定表包括數據
expdp root/root@localhost/myDataBase directory=dmpdir logfile=M_RULE_EXPORT.LOG dumpfile=M_RULE.dmp TABLES=root.m_met_rules,root.m_ruleset,root.m_ruleset_org cluster=no
注意 這里不要寫schema參數 tables 和 schema參數不能同時出現
2.2 導入剛才導出的dump文件
impdp root1/root1@localhost/myDataBase directory=dmpdir logfile=M_RULE_IMPORT.LOG dumpfile=M_RULE.dmp TABLES=root.m_met_rules,root.m_ruleset,root.m_ruleset_org remap_schema=root:root1 cluster=no
table_exists_action=REPLACE 表示如果目標用戶表已存在則覆蓋