19c_ogg搭建
1.环境介绍
源端:192.168.56.101 目标端:192.168.56.100
背景:数据从主库cdb主机定位,同步到从库
2.配置ogg
2.1 开启归档、强制日志、补充日志
--ogg 主备都需要配置
SQL> alter database archivelog;
SQL> alter database force logging;
SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data(primary key,unique,foreign key) columns;
SQL> alter system archive log current; SQL> select log_mode,force_logging,supplemental_log_data_min from v$database;
LOG_MODE FORCE_LOGGING SUPPLEME
------------ --------------------------------------- --------
ARCHIVELOG YES YES--ogg 启用(所有节点)
SQL> alter system set enable_goldengate_replication = true;
2.2 创建角色
--192.168.56.101 (cdb)
grant dba to c##oggadmin container = all;
create tablespace ts_ogg datafile '/u01/app/oracle/oradata/ORCL/ts_global_ogg01.dbf' size 10g autoextend off;
create user c##oggadmin identified by "oggadmin" default tablespace ts_ogg;--192.168.56.100 (pdb)
create tablespace ts_ogg datafile '/u01/app/oracle/oradata/ORCL/pdb/ts_ogg01.dbf' 10g autoextend off;
create user oggadmin identified by "oggadmin" default tablespace ts_ogg;
grant dba to oggadmin;
2.3 源端ogg进程配置
[oracle@pg1 ogg]$ ./ggsci
GGSCI (pg1) 2> edit params mgr
ps:mgr主从都配
PORT 7809
autostart extract *
autorestart extract *,retries 3,waitminutes 3--保存后启动mgr
GGSCI (pg1) 4> start mgr
MGR is already running.--manager进程参数配置说明:
port:指定服务监听端口dynamicportlist:动态端口,可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中
选择一个可用的端口,源端和目标段的collector、replicat、ggsci进程通信也会使用这些端口;比如:dynamicportlist
7501-7601 comment:注释行,也可以用–来代替;autostart:指定在管理进程启动时自动启动哪些进程;比如:autostart extract * 启动所有的抽取进程
autorestart:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有extract进程,共尝试3次;purgeoldextracts:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。purgeoldextracts./dirdat/*,usecheckpoints,minkeepdayslagreport、laginfo、lagcritical:
定义数据延迟的预警机制:设置表示mgr进程每隔1小时检查extract的延迟情况,如果超过了30分钟就把延迟作为信息
记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。 lagreporthours 1 laginfominutes 30 lagcriticalminutes 45
2.4 用户ogg登录到数据库
[oracle@pg1 admin]$ cat tnsnames.ora
19c = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)))pdb =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = pdb)))--192.168.56.101
GGSCI (pg1) 5> dblogin userid c##oggadmin,password oggadmin
Successfully logged into database CDB$ROOT.GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 6> edit params ./GLOBALS
GGSCHEMA C##OGGADMIN
保存退出-- 对抽取的表添加trandata
SQL> exec dbms_goldengate_auth.grant_admin_privilege('c##oggadmin');
SQL> exec dbms_goldengate_auth.grant_admin_privilege('c##oggadmin',container=>'all');
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 7> add trandata pdb.scott.emp1
or
SQL> alter table schema.table_name add supplemental log data(all) columns;--pdb 级别对trandata进行添加操作
2.5 配置ogg进程
ps:抽取进程和传输进程其实都是extract进程,也可以配置在一个进程完成这两个功能,但是当网络传输有问题时,这样抽取
也就不能继续运行了,所以推荐分开配置为两个进程.
-- 添加抽取进程ext1(自定义名称)
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 8> add extract ext1,integrated tranlog,begin now
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 9> add exttrail /u01/app/oracle/ogg/dirdat/et,extract ext1 megabytes 200
ps:其中et(exttrail的缩写)是不需要自己手动创建的并且要严格控制在两个字符或者两个字符以内,OGG会自动创建。--注册抽取进程ext1到pdb
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 10> register extract ext1 database container(pdb)--添加投递进程pump1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 11> add extract pump1,exttrailsource /u01/ogg/dirdat/et -- 给投递进程添加远程trail文件
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 12> add rmttrail /u01/ogg/dirdat/rt,extract pump1,megabytes 200 --配置抽取进程ext1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 13> edit params ext1
extract ext1
userid c##oggadmin,password oggadmin
exttrail /u01/ogg/dirdat/et --抽取进程的跟踪文件
table pdb.scott.emp1;
table pdb.scott.dept1;
保存退出--配置投递进程pump1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 13> edit params pump1
extract pump1
userid c##oggadmin,password oggadmin
rmthost 192.168.56.100,mgrport 7809
rmttrail /u01/ogg/dirdat/rt --rmttrail用来指定投递到目标端的trail文件。
table pdb.scott.emp1; --table参数后面就是你要复制投递的表,注意结束了一定要用 ';'结尾
table pdb.scott.dept1;
保存退出
3. 目标端ogg进程配置
3.1 配置mgr进程
-- mgr配置
GGSCI (test) 1> edit params mgr
PORT 7809
autostart extract *
autorestart extract *,retries 3,waitminutes 3
保存退出--启动mgr
GGSCI (test) 2> start mgr--用ogg用户oggadmin登录pdb
GGSCI (test) 3> dblogin userid oggadmin@pdb,password oggadmin;
Successfully logged into database PDB.--编辑GLOBALS
GGSCI (test as oggadmin@orcl/PDB) 4> edit params ./GLOBALS
GGSCHEMA oggadmin
CHECKPOINTTABLE oggadmin.checkpointtable
保存退出--添加检查点表(checkpointtable)
GGSCI (test as oggadmin@orcl/PDB) 5> add checkpointtable oggadmin.checkpointtable-- 添加数据复制进程rep1并配置
GGSCI (test as oggadmin@orcl/PDB) 6> add replicat rep1 exttrail /u01/ogg/dirdat/rt,checkpointtable oggadmin.checkpointtableGGSCI (test as oggadmin@orcl/PDB) 7> edit params rep1
replicat rep1
userid oggadmin@pdb,password oggadmin
ASSUMETARGETDEFS
DBOPTIONS ENABLE_INSTANTIATION_FILTERING
DISCARDFILE /u01/ogg/rep1_discard.txt,append,megabytes 10
DISCARDROLLOVER AT 02:00
DDLERROR DEFAULT IGNORE RETRYOP
map pdb.scott.emp1,target scott.emp1;
map pdb.scott.dept1,target scott.dept1;
保存退出
ASSUMETARGETDEFS
--使用ASSUMETARGETDEFS参数时,用MAP语句中指定的生产库源表和灾备端目标表具有相同的列结构。它指示的Oracle GoldenGate不在生产端查找源表的结构定义。
HANDLECOLLISIONS --不要用!存在操作不一致性(详情https://blog.csdn.net/zhuxiaoliao/article/details/42234661)
DBOPTIONS ENABLE_INSTANTIATION_FILTERING --当DDL复制报错时,则需要用到此处的ddlerror参数预处理一些常见的报错信息。Ddlerror对于抽取、复制进程均有效,默认为abend。
DISCARDFILE /u01/app/oracle/ogg/rep1_discard.txt,append,megabytes 10
--将执行失败的记录保存在discard file中,文件中已经包含记录的话,再后面继续追加,不删除之前的记录。
--如当DDL复制报ORA-1430错误,传递了重复的alter语句导致,则可以用ddlerror (1430, discard)将错误信息扔到discard文件里。
DISCARDROLLOVER AT 02:00
--为了防止discard file被写满,每天2:00做一次文件过期设定
DDLERROR DEFAULT IGNORE RETRYOP --DDL语句出错默认--启动源端OGG抽取和投递进程
start pump1
start ext1--导入数据
可以用数据泵把要同步的表导入从库,or 使用dblink也行--OGG进程检查与日志查看
[root@test ogg]# tail -200f ggserr.log
-- 相关文章:
19c_ogg搭建
1.环境介绍 源端:192.168.56.101 目标端:192.168.56.100 背景:数据从主库cdb主机定位,同步到从库 2.配置ogg 2.1 开启归档、强制日志、补充日志 --ogg 主备都需要配置 SQL> alter database archivelog; SQL> alter databa…...
网络通信原理网络层TCP/IP协议(第四十三课)
1.什么是TCP/IP 目前应用广泛的网络通信协议集 国际互联网上电脑相互通信的规则、约定。 2.主机通信的三要素 IP地址:用来标识一个节点的网络地址(区分网络中电脑身份的地址,如人有名字) 子网掩码:配合IP地址确定网络号 IP路由:网关的地址,网络的出口 3.IP地址 …...
yolov5封装进ros系统
一,要具备ROS环境 ROS环境搭建可以参考我之前的文章 ROS参考文章1 ROS参考文章2 建立ROS工作空间 ROS系统由自己的编译空间规则。 cd 你自己想要的文件夹(我一般是home目录) mkdir -p (你自己的文件夹名字,比如我是yolov5…...
Flowable 源码目录结构
title: Flowable 源码目录结构 date: 2023-8-17 23:47:20 tags: - Flowable 下载源码 下载地址:flowable/flowable-engine at flowable-6.7.2 (github.com) Git 下载方式:git clone gitgithub.com:flowable/flowable-engine.git 切换分支 git checkout -…...
科大讯飞星火模型申请与chatgpt 3.5模型以及new bing的对比
科大讯飞星火模型 申请科大讯飞星火认知大模型账号科大讯飞星火认知大模型使用1.界面介绍2. 在编程能力上与chatgpt 3.5对比科大讯飞星火模型chatgpt 3.5模型 3. 在图片生成能力上与new bing对比 总结 申请科大讯飞星火认知大模型账号 注册网址: 科大讯飞星火认知大…...
无涯教程-TensorFlow - 分布式计算
本章将重点介绍如何开始使用分布式TensorFlow,目的是帮助开发人员了解重复出现的基本分布式TF概念,如TF服务器。无涯教程将使用Jupyter Notebook分布式TensorFlow。 第1步 - 导入分布式计算必需的必要模块- import tensorflow as tf 第2步 - …...
python+django+mysql项目实践五(信息搜索)
python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 信息搜素 输入内容进行搜索,内容有文本类和时间类 文本类需要模糊搜索,包含即检索 时间类需要选取时间范围内的内容 views 利用Q完成对指定内容的检索 检索后按检索内容更新…...
Python Opencv实践 - 图像透射变换
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) rows,cols img.shape[:2] print(rows,cols)#opencv中的透射变换,需要一个3x3透射变换矩阵 #这个矩阵可以通过…...
SpringBoot + Vue 微人事项目(第二天)
昨天做了微人事登录的前端页面和后端接口,实现了前后端接口的对接,输入正确的用户名和密码之后,成功的跳转到home页。现在要做的就是Home页的Title制作 Home页的title制作 使用Element UI中的Container布局容器 复制的代码如下,…...
【AIGC】 快速体验Stable Diffusion
快速体验Stable Diffusion 引言一、安装二、简单使用2.1 一句话文生图2.2 详细文生图 三、进阶使用 引言 stable Diffusion是一款高性能的AI绘画生成工具,相比之前的AI绘画工具,它生成的图像质量更高、运行速度更快,是AI图像生成领域的里程碑…...
Python入门【动态添加属性和方法、正则表达式概述、match函数的使用、常用匹配符、限定符 、限定符使用示例】(二十九)
👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…...
《Go 语言第一课》课程学习笔记(四)
构建模式:Go Module 的 6 类常规操作 为当前 module 添加一个依赖 我们如何为一个 Go Module 添加一个新的依赖包呢? 如果我们要为项目增加一个新依赖:github.com/google/uuid,我们首先会更新源码:package mainimpor…...
制定建立商务模式财务及企业管理信息系统的解决方案
1、调查企业对 Internet 的需求,并制定全面规划。由于电子商务的范围相当 广泛,企业在实施电子商务模式财务及企业管理信息系统时,应先调查哪些对于企 业的收益较大,然后进行全面规划,即规划信息化基本平台、后台企业…...
UE Json Operate 解析嵌套数组
演示如何使用 DTJsonOperate 插件,在蓝图中解析嵌套数组。 比如这个Json {"name": [[[1, 2]],[3, 4],[5, 6]] } 操作演示 最后打印 本功能需要插件支持,插件下载地址。...
sd-webui安装comfyui扩展
文章目录 导读ComfyUI 环境安装1. 安装相关组件2. 启动sd-webui3. 访问sd-webui 错误信息以及解决办法 导读 这篇文章主要给大家介绍如何在sd-webui中来安装ComfyUI插件 ComfyUI ComfyUI是一个基于节点流程式的stable diffusion的绘图工具,它集成了stable diffus…...
Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验
亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于 2023 年 8 月 11 日正式发布,有超过 275 位贡献者为 Apache Doris 提交了超过 4100 个优化与修复。 在 2.0.0 版本中,Apache Doris 在标准 Benchmark 数…...
LeetCode235. 二叉搜索树的最近公共祖先
235. 二叉搜索树的最近公共祖先 文章目录 [235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/)一、题目二、题解方法一:递归方法二:迭代 一、题目 给定一个二叉搜索树, 找到该树中两个指定…...
设计模式——建造者(Builder)模式
建造者模式(Builder Pattern),又叫生成器模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。建造者模式是一步一步创建一个复杂的对象,…...
Java课题笔记~ SpringBoot概述
问题导入 学习了SpringBoot入门案例之后,感觉对比SpringMVC哪一个更加方便简洁? SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程 Spring程序缺点 配置繁琐 依赖设置繁琐 SpringBoot程序…...
python优雅地爬虫!
背景 我需要获得新闻,然后tts,在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路:获得html内容-> python的工具库解析,获得元素中的内容,完成。 好家伙,我知道我爬…...
开源智能体技术解析:从LangChain到自主抓取,构建自动化工作流
1. 项目概述:从“Awesome”列表看开源智能体生态的演进 最近在梳理一些前沿的自动化工具链时,又翻到了 mergisi/awesome-openclaw-agents 这个仓库。对于长期关注AI Agent(智能体)和自动化工作流开发的同行来说,这类…...
单元体幕墙计算方法研究
单元体幕墙计算方法研究 一、单元板块计算 选择隔离的单个单元进行计算,不需要考虑周边单元的影响。 单元之间的相互影响,来自于左右立柱的变形不一致,在截面选择上反应的就是左右立柱的截面参数的不同。 所以,单元间的相互影响,可以通过控制左右立柱截面参数的相近而进…...
ncmdumpGUI:3分钟掌握网易云音乐ncm格式转换的终极方案
ncmdumpGUI:3分钟掌握网易云音乐ncm格式转换的终极方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐下载了心爱的歌曲&a…...
5分钟快速上手:使用res-downloader实现视频号批量下载的终极指南
5分钟快速上手:使用res-downloader实现视频号批量下载的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...
别再只盯着CSI-2了!用示波器实测MIPI D-PHY波形,手把手教你排查Camera不通的硬件问题
别再只盯着CSI-2了!用示波器实测MIPI D-PHY波形,手把手教你排查Camera不通的硬件问题 调试Camera模块时,MIPI信号问题往往是硬件工程师最头疼的挑战之一。当系统出现图像异常、花屏或无法识别时,大多数工程师的第一反应是检查CSI-…...
Apache Burr:用状态机模式构建Python流式应用
1. 项目概述:一个用于构建流式应用的Python框架最近在折腾一些实时数据处理和模型推理的项目,从简单的日志分析到复杂的在线推荐,总感觉现有的工具链要么太重,要么太散。想要一个既能处理流式数据,又能轻松集成机器学习…...
基于PyPortal与CircuitPython的物联网游戏数据显示器开发实战
1. 项目概述 如果你和我一样,既是《英雄联盟》的忠实玩家,又对嵌入式硬件开发充满热情,那么把这两者结合起来,做一个能实时展示自己召唤师等级的“实体奖杯”,绝对是一件既酷又有成就感的事情。这个项目就是基于Adafr…...
基于LLM与视觉模型融合的智能体框架:从原理到工业质检实践
1. 项目概述:当AI学会“看”与“想”最近在探索AI与视觉结合的落地场景时,我深度体验了landing-ai/vision-agent这个项目。它不是一个简单的图像识别工具,而是一个试图让AI具备“视觉推理”能力的智能体框架。简单来说,它让AI不仅…...
Windows鼠标指针主题定制:从.cur/.ani文件到个性化交互体验
1. 项目概述:一个为Windows终端注入灵魂的鼠标指针主题如果你和我一样,每天有超过8小时的时间是与Windows操作系统相伴的,那么你对那个千篇一律的白色箭头鼠标指针,恐怕早已感到审美疲劳。它就像一个沉默的、功能性的背景板&#…...
天学网口碑好不好?2026年最新用户实测反馈给你答案
作为深耕教育数字化落地领域5年的从业者,最近后台收到不少公立校电教组老师、学生家长的提问:主打AI英语教学的天学网口碑到底怎么样?刚好我们团队刚做完2026年第一季度的英语教育数字化工具落地效果调研,结合一手实测数据给大家客…...
