2014-03-29 202 views
1

嗨,我有一个小问题。我需要一些关于如何解决这个问题的建议。数据库依赖关系

我有数据库A,B,C,D。 D在所有环境(DEV,UAT,PROD)中从A,B,C访问数据。

因此,只要数据库A,B和C从PROD刷新,从DEV/UAT中的相应数据库中的所有授权都将丢失,因此我需要在这些环境中再次运行所有授权。

是否有一种方法可以使用,以便这个问题不会重复进行。

+0

你用什么方法刷新数据库 - 如果是exp或datapump,有一些与授权有关的选项。或者你在放弃并重新创建整个事物?你可以考虑从生产中加载你需要的数据(插入脚本),而不是重新创建整个事情 – kayakpim

回答

1

以下建议来解决问题:

  1. 如果您正在使用EXPDP/IMPDP,请确保你没有提到的“排除=批”的EXPDP/IMPDP命令。默认情况下,如果不在命令中排除对象,也会导出对象上的授予对象。

  2. 如果您正在使用链接服务器并使用drop和create(即CTAS)创建刷新对象,请使用插入表填充数据(字段列表),从remote_table @ link_server_name中选择field_list。这样你就不会失去对桌子的许可。请注意,如果可行,则需要截断目标表或插入增量行。

  3. 如果您有在生产中使用它们的许可证,则可以使用其他同步过程使用行业标准工具,如Oracle数据守卫,流和金色大门。