【问题标题】:Cloning a Oracle Database Schema克隆 Oracle 数据库模式
【发布时间】:2017-02-24 11:58:38
【问题描述】:

我有一个带有“wadmin”用户的 Oracle 12c 实例,这个实例有表、视图、数据、触发器、序列等。

为了快速旋转 docker 映像,我需要尽快克隆 db 架构,以便创建另一个用户 'wadmin1' 将其链接到新 docker 并开始我的测试。

任何相同的 CLI/工具,oracle 是否提供任何选项?

【问题讨论】:

  • AWS 或 AWS RDS 中的任何工具都可以使用!
  • 如果您使用的是 Docker,为什么不简单地创建一个已经包含您的架构的自定义 Docker 映像呢?这样,一旦您启动容器,您就可以开始使用 - 无需复制任何内容。
  • @FrankSchmitt:Docker for DB 的可靠性如何?我在多个论坛上读到不要将 docker for DB 用作它的临时工具?

标签: oracle docker clone


【解决方案1】:

我不知道这是否正是您要查找的内容,但您可以使用 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,数据量很大(接近10GB),速度有点慢,而且涉及I/O,需要时间
  • 您也可以通过在命令行启动 expdp 时添加 CONTENT=METADATA_ONLY 仅导出数据库的元数据
猜你喜欢
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 2011-07-29
  • 2015-02-21
  • 1970-01-01
  • 2020-02-14
相关资源
最近更新 更多