2016-11-10 83 views
0

我们正在开发从Oracle DB(12c)到另一个带有SSIS的系统的大型数据迁移。开发人员正在使用生产副本数据库,但问题在于,由于数据转换的复杂性,我们必须通过将数据预处理为中间辅助表格来分阶段完成工作,然后将这些表格用于下游。问题是所有的开发人员都在使用同一个数据库,并通过同时运行的东西来相互依赖。 Oracle DB是否提供了开发人员沙箱方面的任何内容?我们可以构建一个机制来处理这个问题(例如,在助手表中有开发ID,然后查询映射到开发者的视图),但我更愿意使用内置功能。我可以使用Oracle Multitenant吗?适用于Oracle数据库的开发人员沙箱

+0

[你可以沙盒整个环境](http://stackoverflow.com/a/9289802/266304)但这可能不是你的意思。是否有理由让开发人员无法拥有自己的模式进行实验,而不需要一个完全独立的数据库? –

+0

取决于“实验”中的含义。使用生产副本数据库是有益的,因为它包含真实数据。缺点是它太大了。运行特定的SSIS包可能需要1-2个小时。理想情况下,我们会有开发人员使用的沙盒样本数据库不会包含尽可能多的数据,但仍会包含实际的数据。 – Rubio

回答

0

我们最终通过一些相当复杂的PL/SQL生成了选择模式/表的主子集数据库,然后创建了这个主模式的多个副本,这样每个开发人员都拥有自己的沙箱(建议使用Alex)。我们可以使用Oracle Data Masking and Subsetting,但它太贵了。创建子集数据库的另一种选择是使用Jailer。我应该注意到,我们没有必要掩盖任何敏感数据。

注意。我认为这是一个相当普遍的问题,所以如果出现新的工具和解决方案,请在这里发布它们作为答案。