单向OGG配置

单向OGG配置

将源端scott用户下的emp表和dept表同步到目标端scott用户的emp表和dept表
目标端需有emp表和dept表的表结构
1. 准备测试环境
  两个系统上需安装oracle软件,需dbca建库
  本次搭建OGG源端数据库ORACLE_SID为cuug,目标端数据库ORACLE_SID为orcl
  源端数据库IP:192.168.10.10
  目标端数据库IP:192.168.10.30
 
1.1修改主机名,添加映射关系
1.1.1源端:[root@localhost~]# vim /etc/sysconfig/network   
           添加:HOSTNAME=bjcuug 
           [root@localhost~]#  vim /etc/hosts
           添加:
             192.168.10.10 bjcuug
             192.168.10.30 bjorcl
1.1.2目标端:[root@localhost~]# vim /etc/sysconfig/network   
            添加:HOSTNAME=bjorcl
            [root@localhost~]#  vim /etc/hosts
            添加:
               192.168.10.30 bjorcl
               192.168.10.10 bjcuug  

1.2修改源端和目标端oracle用户的环境变量(源端和目标端都修改)
    [oracle@bjcuug ~]$ vim .bash_profile
    添加:export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/li
    [oracle@bjcuug ~]$ source .bash_profile

在这里插入图片描述

2. OGG目录创建(源端和目标端都执行)
 [root@bjcuug ~]# su - oracle
 [oracle@bjcuug ~]$ cd /u01/app
 [oracle@bjcuug app]$ mkdir ogg/
 [oracle@bjcuug app]$ chmod 775 ogg -R


3. 安装OGG文件(源端和目标端都执行)
  [oracle@bjcuug ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
 为Goldengate创建子工作目录(源端和目标端都创建)
  [oracle@bjcuug ogg]$ ./ggsci
  GGSCI (bjcuug) 1> create subdirs

在这里插入图片描述

4. 创建goldengate用户
  4.1源端:
     创建表空间:
     SYS@cuug>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/cuug/tbs_ogg01.dbf' size 500m autoextend on;
     创建用户:
     SYS@cuug>create user aa identified by oracle default tablespace tbs_ogg temporary tablespace temp quota unlimited on tbs_ogg;
     授予权限:
     SYS@cuug>grant CONNECT, RESOURCE to aa;
     SYS@cuug>grant CREATE SESSION, ALTER SESSION to aa;
     SYS@cuug>grant SELECT ANY DICTIONARY, SELECT ANY TABLE to aa;
     SYS@cuug>grant ALTER ANY TABLE to aa;
     SYS@cuug>grant FLASHBACK ANY TABLE to aa;
     SYS@cuug>grant EXECUTE on DBMS_FLASHBACK to aa;
     SYS@cuug>grant CREATE TABLE to aa;
     SYS@cuug>grant INSERT, UPDATE, DELETE on scott.emp to aa;
     SYS@cuug>grant INSERT, UPDATE, DELETE on scott.dept to aa;

  4.2目标端:
    创建表空间:
    SYS@orcl>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg01.dbf' size 500m autoextend on;
    创建用户:
    SYS@orcl>create user bb identified by oracle default tablespace tbs_ogg temporary tablespace temp quota unlimited on tbs_ogg;
    授予权限:
    SYS@orcl>grant CONNECT, RESOURCE to bb;
    SYS@orcl>grant CREATE SESSION, ALTER SESSION to bb;
    SYS@orcl>grant SELECT ANY DICTIONARY, SELECT ANY TABLE to bb;
    SYS@orcl>grant ALTER ANY TABLE to bb;
    SYS@orcl>grant FLASHBACK ANY TABLE to bb;
    SYS@orcl>grant EXECUTE on DBMS_FLASHBACK to bb;
    SYS@orcl>grant CREATE TABLE to bb;
    SYS@orcl>grant INSERT, UPDATE, DELETE on scott.emp to bb;
    SYS@orcl>grant INSERT, UPDATE, DELETE on scott.dept to bb;

5. 在源端开启日志
   开启补充日志:
     SYS@cuug>alter database add supplemental log data;
     SYS@cuug>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
   开启归档:
     SYS@cuug>alter system set log_archive_dest_1='location=/arch1' scope=spfile;
     SYS@cuug>alter system set log_archive_format='arch_%t_%r_%s.log' scope=spfile;
     SYS@cuug> shutdown immediate
     SYS@cuug> startup mount
     SYS@cuug> alter database archivelog;
     SYS@cuug> alter database open;
     SYS@cuug> alter system archive log current;
     SYS@cuug>archive log list;
     SYS@cuug>show parameter log_archive_dest_1
   开启强制日志:
     SYS@cuug>alter database force logging;
     SYS@cuug>SELECT force_logging FROM v$database;

   在源端中为这两个表启用事务数据更改捕获
     GGSCI (bjcuug) 3> DBLOGIN USERID aa,PASSWORD oracle
     GGSCI (bjcuug) 4> ADD TRANDATA scott.EMP
     GGSCI (bjcuug) 5> ADD TRANDATA scott.dept
    验证是否为这些表启用了补充日志记录:
     GGSCI (bjcuug) 6> INFO TRANDATA scott.*


6. 配置Goldengate Manager进程
  6.1 源端:
     创建manager参数文件:
     GGSCI (bjcuug) 7> EDIT PARAMS MGR
     添加:
     PORT 7809
     PURGEOLDEXTRACTS /u01/app/ogg/dirdat, USECHECKPOINTS
     启用manager:
     GGSCI (bjcuug) 8> START MGR
     查看manager是否启动:
     GGSCI (bjcuug) 9> INFO MGR

  6.2 目标端:
    GGSCI (bjorcl) 2> EDIT PARAMS MGR
    添加:
    PORT 7809
    PURGEOLDEXTRACTS /u01/app/ogg/dirdat, USECHECKPOINTS
    启用manager:
    GGSCI (bjorcl) 3> START MGR
    查看manager是否启动:
    GGSCI (bjorcl) 5> INFO MGR
    

7. 通过直接加载方式加载原始数据
 7.1 在源端配置提取进程
   添加一个名为EINI_1的提取进程:
   GGSCI (bjcuug) 10> ADD EXTRACT EINI_1, SOURCEISTABLE
   查看提取进程:
   GGSCI (bjcuug) 11> INFO EXTRACT EINI_1, TASKS
   编辑EINI_1:
   GGSCI (bjcuug) 12> EDIT PARAMS EINI_1
   添加:
   -- GoldenGate Initial Data Capture
   -- for EMP and dept
   EXTRACT EINI_1
   SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
   USERID aa, PASSWORD oracle
   RMTHOST bjorcl, MGRPORT 7809
   RMTTASK REPLICAT, GROUP RINI_1
   TABLE scott.EMP;
   TABLE scott.dept;
   
 7.2在备库配置复制进程
    添加初始负载交付过程:
    GGSCI (bjorcl) 7> ADD REPLICAT RINI_1, SPECIALRUN
    查看结果:
    GGSCI (bjorcl) 9> INFO REPLICAT RINI_1, TASKS*
    编辑初始加载交付流程RINI_1:
    GGSCI (bjorcl) 10> EDIT PARAMS RINI_1
    添加:
    -- GoldenGate Initial Load Delivery
    REPLICAT RINI_1
    SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
    ASSUMETARGETDEFS
    USERID bb, PASSWORD oracle
    DISCARDFILE /u01/app/ogg/dirrpt/RINIaa.dsc, PURGE
    MAP scott.EMP, TARGET scott.DEPT;

 7.3完成初始负载
    启动主库的初始加载进程EINI_1,则备库的RINI_1进程将自动启动:
    GGSCI (bjcuug) 13> START EXTRACT EINI_1

    查看初始负载结果和进程状态
    源端:
    GGSCI (bjcuug) 14> VIEW REPORT EINI_1
    目标端:
    GGSCI (bjorcl) 17> VIEW REPORT RINI_1
    检查初始数据是否已传送到备库:
    SCOTT@orcl>select * from emp;
    SCOTT@orcl>select * from dept;
    初始负载完成后,提取进程EINI_1,复制进程RINI_1自动停止。
    源端:
    GGSCI (bjcuug) 4> INFO EXTRACT EINI_1
    目标端:
    GGSCI (bjorcl) 3>  INFO REPLICAT RINI_1


8. 在主库配置提取进程
 8.1编辑提取进程参数
     GGSCI (bjcuug) 5> EDIT PARAMS EORA_1
    添加:
     -- Change Capture parameter file to capture
     -- EMP and dept changes
     EXTRACT EORA_1
     SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
     USERID aa, PASSWORD oracle
     EXTTRAIL /u01/app/ogg/dirdat/aa
     TABLE scott.EMP;
     TABLE scott.dept;
     在主库上执行以下命令,添加主提取组:
     GGSCI (bjcuug) 6> ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW
   
  8.2配置本地队列文件
     GGSCI (bjcuug) 8> ADD EXTTRAIL /u01/app/ogg/dirdat/aa, EXTRACT EORA_1, MEGABYTES 5
     开启主提取进行:
     GGSCI (bjcuug) 9> START EXTRACT EORA_1
     验证提取进程是否运行:
     现在,Goldengate将在源系统的目录下生成本地尾文件“aa000000”:
     [oracle@bjcuug ~]$ cd /u01/app/ogg/dirdat
     [oracle@bjcuug dirdat]$ ll

9. 在主库配置泵进程
 9.1 编辑数据泵进程参数
     GGSCI (bjcuug) 11> EDIT PARAMS PORA_1
    添加:
     -- Data Pump parameter file to read the local
     -- trail of EMP and dept changes
     EXTRACT PORA_1
     SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
     PASSTHRU
     RMTHOST bjorcl, MGRPORT 7809
     RMTTRAIL /u01/app/ogg/dirdat/pa
     TABLE scott.EMP;
     TABLE scott.dept;
    添加数据泵提取组:
     GGSCI (bjcuug) 13> ADD EXTRACT PORA_1, EXTTRAILSOURCE /u01/app/ogg/dirdat/aa
     GGSCI (bjcuug) 14> INFO EXTRACT PORA_1
 9.2在主库添加Glodengate远程跟踪
    GGSCI (bjcuug) 15> ADD RMTTRAIL /u01/app/ogg/dirdat/pa, EXTRACT PORA_1,MEGABYTES 5
    启动数据泵程序:
    GGSCI (bjcuug) 16> START EXTRACT PORA_1
    查看结果:
    GGSCI (bjcuug) 17> INFO EXTRACT PORA_1
    现在,Goldengate将在备库的目录下生成远程尾文件“pa000000”:
    [oracle@bjorcl ~]$ cd /u01/app/ogg/dirdat
    [oracle@bjorcl dirdat]$ ll


10. 目标端配置复制进程
 10.1在备库中创建GLOBALS参数
    编辑GLOBALS(大写)参数文件以指示检查点表:
    GGSCI (bjorcl) 5> EDIT PARAMS ./GLOBALS
    添加:
    CHECKPOINTTABLE bb.ggschkpt
    查看:
    [oracle@bjorcl ogg]$ ll GLOBALS
    为使全局配置生效,我们必须退出GGSCI会话:
    GGSCI (bjorcl) 6> exit
    在备库中添加复制检查点表
    GGSCI (bjorcl) 1> DBLOGIN USERID bb, PASSWORD oracle
    GGSCI (bjorcl) 2> ADD CHECKPOINTTABLE
 
 10.2编辑交付流程参数
    添加复制组:
    GGSCI (bjorcl) 3> ADD REPLICAT RORA_1, EXTTRAIL /u01/app/ogg/dirdat/pa
    编辑复制流程RORA_1的参数:
    GGSCI (bjorcl) 4> EDIT PARAM RORA_1
    添加:
    -- Change Delivery parameter file to apply
    -- EMP and dept Changes
    REPLICAT RORA_1
    SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
    USERID bb, PASSWORD oracle
    HANDLECOLLISIONS
    ASSUMETARGETDEFS
    DISCARDFILE /u01/app/ogg/dirrpt/RORA_aa.DSC, PURGE
    MAP scott.emp, TARGET scott.emp;
    MAP scott.dept, TARGET scott.dept;
    启动复制进程:
    GGSCI (bjorcl) 5> START REPLICAT RORA_1
    查看结果:
    GGSCI (bjorcl) 6> INFO REPLICAT RORA_1

11. 验证DML是否可以正确复制
    在源端scott用户下的emp表中插入一条数据
    SCOTT@cuug>insert into emp values(8000,'Kim','clerk',7839,'2020-07-10 00:00:00',8000,1000,10);
    SCOTT@cuug>commit;
    到目标端scott用户下的emp表中是否同步了新插入的数据

如果可以查到表名单向OGG搭建成功。

 ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~~~~~  ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ 

Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值