//首先在oracle中創建一個虛擬目錄用來做為導出的dump文件輸出並賦予讀寫權限
create directory dmpdir as '/home/oracle/dmp';
grant read,write on directory dmpdir to public;
//驗證
select * from dba_directories;
可以看到虛擬目錄已經創建成功了
物理目錄需不需要手動創建我沒驗證,我在做的時候事先創建好了物理目錄
為了避免莫名奇妙的問題我們還是手動創建一下物理目錄吧O(∩_∩)O
mkdir /home/oracle/dmp
//導出全庫表結構無數據
expdp 用戶名/密碼@地址/表空間 directory=虛擬目錄的名稱(dmpdir) dumpfile=RCCADB.dmp cluster=no schemas=fraudzd content=metadata_only
dumpfile : 導出的dump文件名稱
cluster : 是否集群
content=metadata_only 只要表結構
schemas : 你的用戶名
完整例子
expdp root/root@localhost/myDataBase directory=dmpdir dumpfile=RCCADB.dmp cluster=no schemas=root content=metadata_only
//導入表結構
impdp root1/root1@localhost/myDataBase directory=dmpdir dumpfile=RCCADB.dmp cluster=no remap_schema=root:root1
remap_schema = 原始用戶:目標用戶
//導出指定表結構和數據
//導出指定表包括數據
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參數不能同時出現
//導入剛才導出的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
table_exists_action 如果目標用戶表已存在則覆蓋