这里是上下文:
我在一台服务器上有数据库 A,用于内部生产。 另一台服务器上的数据库 B 将数据库 A 的一些信息提供给网站。 A在内部更新,B可以由网站客户端更新。
保持两个数据库之间完整性的最佳解决方案是什么?
谢谢
最佳答案
数据库无法做出合并数据的智能决策。分布式数据库将强制执行您需要的固有并发控制机制。您将需要查看有关实现分布式架构的 Oracle 文档,或重新考虑您当前(或提议的)架构。
如果您只想链接数据库,则需要为每个数据库执行此操作:
create database link "LINK_NAME"
connect to USERNAME
identified by "PASS"
using 'OTHER_DB_NAME'
您可以对远程数据库中的表执行 CRUD 操作,就像在本地一样,使用 @ 符号。例如:
INSERT INTO table_name@link_name VALUES('x');
会将一行和一列插入到远程数据库中。在这种情况下,您无需担心并发性。
您可以使用实体化 View ,但您将拥有过时的数据。创建物化 View 的基本语法:
CREATE MATERIALIZED VIEW HR.MY_MATERIALIZED_VIEW
NOCACHE
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE
AS
SELECT * FROM table_name;
/
关于database - 甲骨文数据库同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1697864/