基于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;

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

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

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

相关推荐
转身後 默落37 分钟前
01.Redis 概述
数据库·redis·缓存
你的人类朋友2 小时前
❤️‍🔥为了省内存选择sqlite,代价是什么
数据库·后端·sqlite
飞翔的佩奇3 小时前
基于SpringBoot+MyBatis+MySQL+VUE实现的名城小区物业管理系统(附源码+数据库+毕业论文+开题报告+部署教程+配套软件)
数据库·vue.js·spring boot·mysql·毕业设计·mybatis·小区物业管理系统
小白不想白a3 小时前
【MySQL】MySQL的安全风险与安装安全风险
linux·数据库·mysql·安全
折翼的恶魔3 小时前
SQL148 返回产品名称和每一项产品的总订单数
数据库
技术不支持3 小时前
Qt Creator 11.0.3 语法高亮bug问题
java·服务器·数据库·qt·bug
止水编程 water_proof4 小时前
MySQL——增删改查操作
数据库·mysql
葵野寺6 小时前
【MySQL】MySQL索引—B树/B+树
数据库·b树·mysql·b+树
隔壁老登6 小时前
解决dbeaver连接不上oceanbase数据库的问题
数据库·oceanbase
····懂···7 小时前
抢占先机,PostgreSQL 中级专家认证的职业跃迁
数据库·postgresql