java ORCLPDB1和ORCLCDB有什么区别?

goucqfw6  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(230)

我正在尝试测试与数据库的连接
jdbc:oracle:thin:@//xxx:1521/ORCLPDB 1-它通过端口转发连接到云数据库
jdbc:oracle:thin:@//xxx:1521/ORCLCDB -无法通过端口转发连接到云数据库
然而,我读到ORCLCDB(SID)应该在flyway配置和spring中指定。数据源URL
谁能解释一下这两者之间的区别以及在 Spring 应用中应该使用哪种属性
spring:datasource:url:jdbc:oracle:thin:@//xxx:1521/ORCLPDB1
飞行路线:位置:classpath:/db/migration/oracle url:jdbc:oracle:thin:@//xxx:1521/ORCLPDB1

k5ifujac

k5ifujac1#

您提到的两个数据库连接URL jdbc:oracle:thin:@//xxx:1521/ORCLPDB1jdbc:oracle:thin:@//xxx:1521/ORCLCDB对应于不同的Oracle数据库示例。让我们来分解它们的差异并澄清它们的用法:

  1. jdbc:oracle:thin:@//xxx:1521/ORCLPDB1:此URL连接到名为“ORCLPDB1.在Oracle多租户体系结构中,容器数据库(CDB)可以托管多个PDB。PDB充当CDB内的单独数据库。当您想要直接连接到特定PDB时,将使用此URL。
  2. jdbc:oracle:thin:@//xxx:1521/ORCLCDB:此URL连接到容器数据库(CDB)本身,而不是特定的PDB。CDB是包含多个PDB的主数据库。当连接到CDB时,您可以访问和管理其中的所有PDB。此URL通常在需要执行管理任务或访问CDB级别的功能时使用。
    现在,关于Spring应用程序属性和Flyway配置,选择使用哪个URL取决于应用程序的要求:
  • 如果您的应用程序需要与特定的PDB进行交互,例如执行SQL语句或在该PDB中执行数据访问操作,则应在Spring应用程序属性文件中使用jdbc:oracle:thin:@//xxx:1521/ORCLPDB1作为spring.datasource.url属性。同样,在Flyway配置中,您应该在url属性中使用相同的URL。
  • 另一方面,如果您的应用程序需要管理访问权限或需要在CDB级别执行任务,则可以使用jdbc:oracle:thin:@//xxx:1521/ORCLCDB作为spring.datasource.url属性。但是,请注意,此URL可能需要其他特权或权限才能执行某些操作。

请记住将xxx替换为Oracle数据库服务器的相应主机或IP地址。
总之,根据您是否需要与特定PDB(ORCLPDB1)或整体CDB(ORCLCDB)交互来选择URL,并相应地在Spring应用程序属性和Flyway配置中使用相应的URL。

相关问题