【问题标题】:oracle schema sharing , is it possible?oracle模式共享,有可能吗?
【发布时间】:2022-10-06 12:12:07
【问题描述】:

试图了解Oracle数据库中是否有这样的概念.. 假设我有两个数据库,Database_A 和 Database_B Database_A 有 schema_A ,有没有办法可以将此模式附加到 Database_B ?

我的意思是,如果在 schema_A 中有填充 TABLE_A 的作业,我可以在 Database_B 中看到只读视图。我们正在尝试将一个大型 Oracle 数据库拆分为两个较小的数据库并拥有一个庞大的 PL/SQL 代码,并尝试将这里的重构最小化。

  • 使用数据库链接。 DB 链接是在 2 个数据库之间共享任何内容的概念。
  • 您只能将选择权限授予您希望查看数据的用户
  • 你所说的“分裂”是什么意思?数据库链接将允许两个数据库相互查看,但您的大部分处理仍将发生在数据实际存在的任何数据库中,并且您将为您的架构增加网络延迟。您是否正在尝试分配资源消耗?
  • DB 链接很慢,并且不允许并行。因此我们排除了这一点。并寻找替代品
  • @YatinMehta DB 链接不必很慢,但您不想在它们上推送任何不必要的数据。这就是为什么您将使用快速刷新物化视图在 Database_B 中保留数据的只读副本,而不必通过网络运行实际的用户查询。物化视图也将支持并行性。没有其他的便宜比数据库链接将两个数据库连接在一起的方式。

标签: oracle database-administration oracle19c


【解决方案1】:

Sharding 可能就是您要找的。模式和表在逻辑上仍然存在于所有数据库中,但您可以将数据安排为物理存储在特定数据库中。可能有一种方法可以设置分片空间、表空间和用户默认表空间,其中每个模式的数据都会自动存储在特定的数据库中。

但我实际上并没有使用分片。从我读过的内容来看,它似乎是为大量的分布式 OLTP 系统,管理起来可能很复杂。我猜这个功能不值得麻烦,除非你有 PB 的数据。

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多