从一个非常大的生产数据库(400 GB)创建测试数据库(包含所有数据)的最快方法是什么?

Which is the fastest way to create a test database(with all data) from a production database which is quite big in size (400 GB)?

我是 java 人,不太熟悉 Oracle 的可用功能。请帮我。 要求是,我们正在寻找一些要从生产数据库创建的虚拟(replica/mirror/view)数据库,仅用于测试目的。完成所有自动化测试用例的执行后,删除创建的虚拟数据库。那么Oracle中有没有这样的概念呢?

我们使用的是 Oracle 12c。 许多应用程序使用相同的数据库(它很大)

PS:我们还使用 docker 进行部署以及 AWS。

您可以要求您的数据库管理员将 table space 导出到安装了相同 oracle 版本的新测试机器。可能需要 如果只有很少的 tables,那么你可以假脱机你的 tables 并使用 sqlloader 将它们加载到测试数据库(你将需要手动创建 tables 之前在测试环境中。

在这两种情况下,您可能都希望根据您的要求和标准清除敏感信息。

使用 Rman duplicate 从生产中复制测试数据库。 https://oracle-base.com/articles/11g/duplicate-database-using-rman-11gr2 您可以从备份中复制或从活动数据库中复制