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

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

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

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

相关推荐
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1775 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest5 天前
数据库SQL学习
数据库·sql