Oracle

如何在同一數據庫中複製數據庫模式以進行測試?

  • February 11, 2019

我需要以任何方式複制…在同一個數據庫中的我的數據庫模式,假設我有 SC1,我必須將它複製為 SC2,而不包含 SC1 中包含的數據(在同一個數據庫中)。

這個過程如何進行?

我正在使用 Oracle 數據庫 11gR2。

程式碼庫

您應該將所有CREATE腳本都放在程式碼儲存庫中。如果沒有,您應該嘗試解決該問題。

數據泵

expdp沒有數據的表格有很多方法。

SQL開發者

使用購物車功能,您可以獲得程式碼儲存庫的 DDL。

https://www.thatjeffsmith.com/archive/2011/11/introducing-the-sql-developer-shopping-cart/

如果使用 Toad:數據庫 -> 導出 -> 生成模式腳本

您可以選擇複製整個架構(在您的情況下為 SC1),然後確保它具有

然後以 SC2 模式使用者(或 DBA/SYS)身份登錄並使用導出附帶的“全部部署”腳本部署 SC2 模式對象。如果任何對象使用來自其他模式的函式/過程,則需要確保設置了正確的權限,或者以 DBA/SYS 身份執行它。

如果使用 SQL Developer:工具 -> 數據庫導出

選擇源數據庫並確保選中“導出 DDL”(如果您還想複製對象)。

然後,選擇要複製的對象。

在“指定對象”區域中,點擊“更多”並選擇源架構。然後選擇對象並點擊右箭頭,或點擊雙右箭頭以選擇所有對象。

繼續通過嚮導,它應該導出多個腳本來執行。全部執行它們,你就得到了一份副本。

筆記!我強烈建議您不要在生產中這樣做。我希望您不要嘗試在生產數據庫中創建 SC2。

引用自:https://dba.stackexchange.com/questions/229323