当前位置: 首页 > news >正文

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布局容器 复制的代码如下&#xff0c…...

【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的工具库解析,获得元素中的内容,完成。 好家伙,我知道我爬…...

UVM RAL后门访问配置

先给一下大致的代码结构,根据代码结构来描述。 //dut结构 module my_dut(...);my_reg U_REG(......);endmodulemodule my_reg(...);//reg1和reg2是一个reg的两个field,reg3单独是一个regreg [15:0] reg1_q;reg [15:0] reg2_q;reg [31:0] reg3_q;endmodu…...

数学建模之“灰色预测”模型

灰色系统分析法在建模中的应用 1、CUMCM2003A SARS的传播问题 2、CUMCM2005A长江水质的评价和预测CUMCM2006A出版社的资源配置 3、CUMCM2006B艾滋病疗法的评价及疗效的预测问题 4、CUMCM2007A 中国人口增长预测 灰色系统的应用范畴大致分为以下几方面: (1)灰色关…...

深入探讨 Oxigen:Rust 实现的并行遗传算法框

第一部分:引言及Oxigen框架概览 随着遗传算法在许多领域(如优化、机器学习和人工智能)的应用日益增多,其性能和效率成为了关键焦点。Oxigen 是一个用 Rust 语言实现的并行遗传算法框架,其提供了高效的并行计算机制&am…...

Flink-----Standalone会话模式作业提交流程

1.Flink的Slot特点: 均分隔离内存,不隔离CPU可以共享:同一个job中,不同算子的子任务才可以共享同一个slot,同时在运行的前提是,属于同一个slot共享组,默认都是“default”2.Slot的数量 与 并行度 的关系 slot 是一种静态的概念,表示最大的并发上线并行度是个动态的概念…...

算法与数据结构(七)--堆

一.堆 1.堆的定义 堆是计算机科学中一类特殊的数据结构的通常,堆通常可以被看做是一颗完全二叉树的数组对象。 堆的特性 1.它是完全二叉树,除了树的最后一层结点不需要是满的,其他的每一层从左到右都是满的,如果最后一层结点不…...

软件工程概述-架构师(三)

软件工程概述(老版) 软件开发生命周期: 软件定义时期:包括 可行性研究和详细需求分析过程,任务是软件工程必需完成的目标,具有可行问题分析、可行性研究、需求分析等。软件开发时期:软件的 设…...

华为手机Outlook手机APP无法登录邮箱,提示[2002]错误代码

近期遇到不少华为手机的Outlook APP无法登录邮箱Office365邮箱的案例,并且提示: 错误 出错了。[2002] 经测试,这应该是华为应用市场下载的Outlook版本有问题。 解决方法: 把Outlook卸载之后从微软官网重新下载官网版本去安装&am…...

“深入探究JVM内部结构与工作原理:解析Java虚拟机“

标题:深入探究JVM内部结构与工作原理 摘要:本文将深入探究Java虚拟机(JVM)的内部结构与工作原理。我们将介绍JVM的基本组成部分,包括类加载器、运行时数据区和执行引擎。同时,我们将通过一个示例代码来说明…...

windows下redis服务启动及.bat文件中中redis服务的启动

windows windows下redis服务的启动 1、不配置环境变量 找到redis服务的安装目录进入命令行窗口并输入命令redis-server.exe redis.windows.conf2、配置环境变量 将redis安装目录配置在path环境变量中之后就可以在cmd窗口的任意位置输入redis-server命令就可以启动redis服务…...

【学习笔记之vue】 Cannot find module ‘node-sass‘

Cannot find module node-sass方案一(不通) 下载node-sass组件 >> npm install -g cnpm>>cnpm install node-sass下载时报错 方案二 使用npm下载node-sass组件 >>npm install node-sassok...