如何使用不基于数据库差异功能连接的架构?

时间:2019-06-07 15:35:30

标签: database oracle schema oracle-sqldeveloper diff

我想在与与SQL Developer连接(我的用户ID)关联的架构不同的架构上运行SQL Developer数据库差异功能。

我使用我的用户名登录,但想要使用生产模式之一进行比较。 DBA控制生产模式的凭据。我的用户ID可以看到生产模式对象。我们有多个生产数据库,并希望检查各种生产模式中对象的DDL是否存在差异。

我尝试了 @Bean public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() { return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id) .circuitBreakerConfig(ofDefaults()) .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(3)).build()).build()); } @Bean @LoadBalanced public WebClient.Builder webClient() { return WebClient.builder(); } 。 这不起作用,差异报告基于用户标识下的对象(生产中的用户标识下没有对象)。

我在SQL Developer中将GUI用于“差异向导”。没有代码。

所需结果将列出生产模式的差异。 实际结果为0个结果,因为生产数据库中的用户ID没有任何对象。

2 个答案:

答案 0 :(得分:0)

以SYSTEM(或其他用户)身份登录源

在“对象类型”屏幕上,选择“表”

在“选择对象”对话框中,导航到要进行比较的模式

enter image description here

将所有表移至架构HR

因此,与其将SYSTEM模式与目标进行比较,不如将HR中的7个左右的表与目标中的模式连接进行比较。

enter image description here

如果您不想使用附加到目标连接的架构,则可以使用此选项

enter image description here

如果您说“维护”,那么附加到源中对象的模式将用于标识要比较目标中对象的模式。

I talk about this more here.

答案 1 :(得分:0)

有了Jeff的答复,我看到对于SQL Developer Database Diff,在第4步的第3步屏幕对话框中,需要选择“更多...”选项以启用模式选择器列表框。 我正在Oracle 11r2上使用SQL Developer v 18.3.0.277。