ilo*_*arn 5 replication oracle
我正在执行并行测试。我们已将旧的批处理作业升级到新框架,我们需要针对现有的批处理作业进行测试。
在现有设置中,我有基于用户输入创建或更新记录的 Web 应用程序,这些批处理作业将处理记录。
计划是拥有 2 个数据库,主数据库和辅助数据库,现有的批处理作业连接到主数据库服务器,新的批处理作业连接到辅助数据库服务器。
Web 应用程序会将数据填充到主数据库和辅助数据库。
我想对数据库中的所有表执行复制。但是,我只想复制 Web 应用程序使用的特定数据库帐户所做的任何 DML 更改。
那可能吗?
我同意 Phil +1 的观点,即这并不容易实现。此外,目前还不清楚这是如何运作的。想象一下正在复制下面的简单表。
C1 C2
1 'Apple'
2 'Orange'
3 'Pear'
Run Code Online (Sandbox Code Playgroud)
场景1
batchjobaccount : INSERT INTO T1 VALUES (4,'Peach');
appserveraccount: UPDATE T1 SET C2='Grape' WHERE C1=4;
Run Code Online (Sandbox Code Playgroud)
复制中应该发生什么?是否应该创建记录以便可以执行 appserveraccount 操作,还是应该忽略更新?
场景2
batchjobaccount : UPDATE T1 SET C1=5 WHERE C1=2;
appserveraccount: DELETE FROM T1 WHERE C1=5;
Run Code Online (Sandbox Code Playgroud)
复制中应该发生什么?该记录该删除还是不删除?
场景3
batchjobaccount : DELETE FROM T1 WHERE C1=3;
appserveraccount: UPDATE T1 SET C2='Strawberry' WHERE C1=3;
Run Code Online (Sandbox Code Playgroud)
应该发生什么?更新是否应该在本地数据库上失败但在复制数据库上成功,或者由于在本地数据库上失败而不应在远程数据库上运行?
如果您不希望通过批量作业帐户复制更改,那么为什么要授予他们在本地数据库上进行更改的权限呢?如果他们需要本地游乐场,那么您可以只制作表的本地副本并只授予batchjobaccount 访问这些表的权限吗?