基于Oracle ADG通过dblink创建物化视图同步数据到目标库

基于Oracle ADG通过dblink创建物化视图同步数据到目标库

环境说明:源端环境Oracle ADG一主一备,版本11.2.0.4,目标端版本11.2.0.4,测试通过dblink方式在目标库创建物化视图同步ADG备库的数据。

PROD --> STANDBY -- > TARGET

第一步:在目标端创建dblink访问standby

复制代码
create database link dblink_scims
 connect to scims identified by  "scims" 
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10..0.0.0)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
 
SELECT * FROM USER_DB_LINKS ;

SELECT * FROM tscim@dblink_scims

第二步:在目标端创建物化视图,失败了,提示tscim表不带实体日志表,即物化视图日志表

第三步:尝试给tscim添加物化视图日志表

复制代码
SQL> CREATE MATERIALIZED VIEW LOG ON scims.TSCIM  WITH ROWID;

实体化视图日志已创建。

SQL>

第四步:再次在目标库创建物化视图,任然失败了,大概意思是不能从ADG备库创建

第五步:创建到ADG主库的dblink

复制代码
create database link dblink_scims_prod    
 connect to scims identified by  "scims" 
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.0)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
  
SELECT * FROM USER_DB_LINKS ;

SELECT * FROM tscim@dblink_scims_prod;

第六步:再次在目标端创建物化视图,成功创建。

第七步:目标端查询验证数据

附:可能存在的风险,物化视图会占用实际的物理空间,如果是比较大的表需要留意存储空间以及对性能的影响。

相关推荐
.Shu.30 分钟前
Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【四、事务引擎核心 - MVCC与锁机制】
数据库·mysql
多工坊36 分钟前
【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar
java·数据库·jar
何中应1 小时前
如何用Redis作为消息队列
数据库·redis·缓存
liulilittle2 小时前
.NET反射与IL反编译核心技术
开发语言·数据库·c#·.net·反射·反编译·il
老纪的技术唠嗑局2 小时前
向量数据库在 UGC 社区个性化推荐的落地指南
数据库
张鱼小丸子2 小时前
MySQL企业级部署与高可用实战
运维·数据库·mysql·云原生·高可用·mha·组从复制
GalaxyPokemon2 小时前
MYSQL的默认隔离级别都有什么
数据库·mysql
DONG9132 小时前
《三驾马车:MySQL、MongoDB、Redis对比与融合实战》
数据库·redis·sql·mysql·mongodb·database
程序边界3 小时前
从 Oracle 到 KingbaseES:企业信创改造的“抄作业”模板,直接套用!
数据库·oracle
funfan05173 小时前
奇怪的“bug”--数据库的“隐式转换”行为
数据库·bug