我想在同一數據庫上創建模式的完整副本。什麼是最好的技術來做到這一點?如何在oracle的同一數據庫上創建完整模式副本
我心裏有一些想法:在網絡鏈接
- 數據泵在數據庫配置
- IMPDP。
每種技術的優點和/或缺點是什麼?
我想在同一數據庫上創建模式的完整副本。什麼是最好的技術來做到這一點?如何在oracle的同一數據庫上創建完整模式副本
我心裏有一些想法:在網絡鏈接
每種技術的優點和/或缺點是什麼?
你不需要一個花哨的網絡鏈接或任何只是expdp/impdp命令。 首先導出您想要的模式:
expdp fromUser/fromPword schemas=sourceSchema directory=DUMPDIR dumpfile=dump.dmp logfile=explog.txt
提示:請確保用戶有寫DUMPDIR的能力,或者不管它是你叫它
使用remap_schema
參數然後重新導入架構:
impdp toUser/toPword directory=DUMPDIR dumpfile=dump.dmp logfile=implog.txt remap_schema=fromUser:toUser
如果你真的想使用NETWORK_LINK參數(這樣你就不會創建某些原因轉儲文件),那麼我建議你閱讀this或this。
關於你的問題的更多消息也發現here也。
試試這個:
Copy schema into same database
我測試和它的工作。但你必須創建一個像評論中提到的公共鏈接。
如果您創建了重新映射表空間的.par文件,您可以重新使用它。隨着一些搜索取代當然。
O和別忘了把transaform在.PAR文件:
TRANSFORM=oid:n
否則可能會出錯。
這對我很有效,儘管我最終通過使用sysdba登錄運行命令解決了一些權限問題 - schemas/remap_schema參數仍然會告訴導出/導入的內容。默認情況下可以省略目錄參數,請參閱http://www.orafaq.com/wiki/Datapump#Create_database_directories。 – Matthias 2016-09-16 20:56:19
@Matthias不要將EXP/IMP作爲SYS。 :) – mmmmmpie 2016-09-17 12:26:41