我有一個方案「wadmin」用戶一個Oracle 12c的實例,該實例有表,視圖,數據,觸發器,序列等克隆Oracle數據庫架構
對於搬運工圖像的快速紡絲,我需要儘可能快地克隆數據庫模式,以便我可以創建另一個用戶'wadmin1'將其鏈接到新的docker並開始測試。
任何CLI /工具都一樣,oracle是否提供任何選項?
我有一個方案「wadmin」用戶一個Oracle 12c的實例,該實例有表,視圖,數據,觸發器,序列等克隆Oracle數據庫架構
對於搬運工圖像的快速紡絲,我需要儘可能快地克隆數據庫模式,以便我可以創建另一個用戶'wadmin1'將其鏈接到新的docker並開始測試。
任何CLI /工具都一樣,oracle是否提供任何選項?
我不知道這是否是您要查找的內容,但您可以使用ORACLE DataPump工具導出您的Oracle模式。這涉及將導出的模式存儲在Oracle目錄中。在將模式導出到文件時,可以轉換模式名稱,省略不必要的表或數據等。導出的數據庫模式文件稍後可用於導入到新的數據庫實例。有關Oracle DataPump的更多信息,請點擊這裏。 https://oracle-base.com/articles/10g/oracle-data-pump-10g#SchemaExpImp。
或者,您可以使用腳本創建存儲在Git存儲庫中的數據庫,並將您的構建與可稱爲Flyway https://flywaydb.org/的構建集成,可用於自動化數據庫模式創建。從源代碼控制的角度來看,這也非常方便。架構上的所有更改都是拉請求的。
在我們的團隊中,當我們想要與數據一起重新創建數據庫時,我們使用OracleDataPump,Flyway被用作我們繼續集成的一部分。
我已經使用了Oracle Data Pump,它的數據很慢(接近10 GB),並且它涉及到I/O,它需要時間 – Sandeep540
您也可以通過添加CONTENT = METADATA_ONLY來僅導出數據庫的元數據從命令行啓動expdp –
AWS或AWS RDS中的任何工具也可以使用! – Sandeep540
如果您使用的是Docker,爲什麼不簡單地創建一個已經包含您的模式的自定義Docker鏡像?這樣,只要啓動容器,就可以開始 - 無需複製任何內容。 –
@FrankSchmitt:Docker for DB的可靠性如何?我在多個論壇上讀過,不要使用Docker for DB作爲其短暫的? – Sandeep540