繁体   English   中英

用于在开发数据库上创建类似环境的“测试”的工具

[英]Tools for creating a “test” like environment on a development database

我们在生产中有一个Oracle Enterprise数据库,另一个实例用作QA和Development数据库。 QA已要求在数据库中为它们提供单独的模式,以便它们可以测试与开发人员所做更改隔离的应用程序。 例如,假设开发中使用的模式和将在生产中使用的模式称为APP_OWNER,APP_OWNER可以包含对其他模式中的表具有FK引用的表,例如BASE_OWNER。 我们的想法是创建一个QA_APP_OWNER模式,并将生产数据转移到该模式中,同时拉出引用到QA_APP_OWNER模式中的任何BASE_OWNER表。 简化的说明是:

Prod Setup:
----------------
BASE_OWNER.users
APP_OWNER.users (synonym to BASE_OWNER.users)
APP_OWNER.audit_users with FK to BASE_OWNER.users

QA Setup:
----------------
QA_APP_OWNER.users  (copied data from prod)
QA_APP_OWNER.audit_users (FK to APP_OWNER.users)

这应该是可能的,因为我们不编写包含模式的代码/ SQL。 (即我们为运行应用程序的模式之外的表创建基于模式的同义词)

我的问题是,是否有很好的工具可以轻松创建这样的QA_APP_OWNER模式? 我知道导出的FROMUSER TOUSER选项,但如果我没记错的话,这会将整个架构移动到另一个架构,但它不会让我一直到我想要的地方b / c我需要更改关于FK的参考资料。 我没有意识到导出DDL,手动更改它,然后手动导入数据的方法。 这不是一个有吸引力的选项,因为许多引用都是指引用其他表的表,而APP_OWNER模式本身也有很多表。 我担心的是手动越多,错误的可能性就越大,这种错误会使被测试的东西在移动到生产环境时中断。 一个很好的解决方案是获得Oracle的开发和qa实例的许可,但我被告知“这不在预算中”这样做。

不要这样做..设置单独的QA和开发数据库。 你想要的只是不值得的麻烦。

有点远,但是impdp REMAP_SCHEMA选项会处理其他模式中的外键吗? 我知道有一些事情并没有尝试处理,但不记得提到这种情况 - 可能只是因为它不寻常。

您可以对所有模式执行单个expdp ,并将impdp QA_APP_OWNER重新映射到QA_APP_OWNER 显然这不是我曾经尝试过的......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM