您的位置:首页 > 数据库 > Oracle

使用Oracle GoldenGate Marketplace实现数据快速同步ADW

2021-04-13 09:09 766 查看


Oracle GoldenGate 是一个实现异构 IT 环境间数据实时数据集成和复制的综合软件包。该产品集支持高可用性解决方案、实时数据集成、事务更改数据捕获、运营和分析企业系统之间的数据复制、转换和验证。

GOLDENGATE 19.1 ON MARKETPLACE功能

Oracle GoldenGate for Oracle 19.1微服务版包括对Oracle数据库版本11g,12c,18c,19c,Cloud以及本地数据库的捕获和交付支持。允许从任何Oracle数据库平台和操作系统进行远程捕获,且无需在源端和目标端数据库安装任何介质。

GoldenGate on OCI微服务架构如下:

此文将逐步介绍如何使用Oracle GoldenGate Marketplace 搭建客户已有的Oracle数据库到Oracle ADW 业务数据平台的数据实时同步。

整体步骤大致如下:

1.在ORACLE CLOUD MARKETPLACE上部署GOLDENGATE微服务

2.配置源端/目标端数据库

3.Oracle GoldenGate 微服务配置

4.数据同步测试:ORACLE12C到ADW

ORACLE CLOUD MARKETPLACE上部署GOLDENGATE微服务

通过在Oracle Cloud Marketplace上使用Oracle GoldenGate微服务,可以轻松地建立和管理从本地到云,本地到本地以及云到云的数据实时复制。

1.从Oracle Cloud Marketplace主页:

https://cloudmarketplace.oracle.com/marketplace

2.使用“应用程序”下的搜索框并搜索关键字GoldenGate。

3.在Oracle Cloud Marketplace中找到Oracle GoldenGate微服务列表后,您可以使用提供的TerraForm Stack部署Oracle GoldenGate。

选择版本(19.1.0.0.1默认)选择需要部署到的Compartment,单击“Launch Stack”。

4.填写Stack所需信息,其中包括Stack的名称,单击“下一步”。

5.填写以下详细信息。使用Oracle GoldenGate Microservices构建计算节点需要此信息。

显示名称 - 用于标识所有新OCI资源的显示名称。Oracle GoldenGate

主机DNS名称 - 新计算节点的域名服务的名称。

选择需要部署的Compartment. 

如果要创建新网络资源,请选中此复选框。

我们选择以有的网络资源  

6.选择计算资源 -支持的资源是VM.Standard2.4,VM.Standard2.8,VM.Standard2.16和VM.Standard2.24。这次选择VM.Standard2.4

分配公共IP  - 选中此复选框以指示新VM是否应具有公共IP地址。

部署1  - 名称(必填) - 第一个Oracle GoldenGate部署的名称。Source

部署1  - 数据库(必填) - Oracle 12c

部署2  - 名称(可选) - 第二个Oracle GoldenGate部署的名称。Target

部署2  - 数据库(可选) - Oracle 18c

粘贴SSH公钥 - 允许SSH访问作为opc用户的公钥

7.在“确认”页面上,查看您提供的信息,然后单击“创建”。

8.名称为“OGG4ADW”Stack创建成功

9.现在可以在计算节点Instances选项卡下查看Oracle GoldenGate Microservices计算节点。

10.获取Oracle GoldenGate管理员密码

获取公共IP地址后,您必须获取Oracle GoldenGate管理员帐户(oggadmin)的密码。

Oracle GoldenGate管理员帐户(oggadmin)和密码保存在~/ogg-credentials.json文件里。

记录密码。

配置源端数据库

1.配置源或目标数据库以进行复制--源端数据库

源端数据库配置:在源端数据库打开附加日志以及OGG所需配置。

2.源端数据库:

创建OGG管理员c##ggadmin和测试用户SCOTT

3.测试用户SCOTT下,创建测试表EMP

SQL> show user

USER is "SCOTT"


SQL> CREATE TABLE EMP

       (EMPNO NUMBER(4) NOT NULL,

        ENAME VARCHAR2(10),

        JOB VARCHAR2(9),

        MGR NUMBER(4),

        HIREDATE DATE,

        SAL NUMBER(7, 2),

        COMM NUMBER(7, 2),

        DEPTNO NUMBER(2));  


Table created.


SQL> ALTER TABLE EMP ADD CONSTRAINT PK_EMPNO PRIMARY KEY(EMPNO);


Table altered.

SQL> select count(1) from emp;


  COUNT(1)

----------

         0

配置目标端端数据库

1.目标端数据库配置(ADW):

SQL> alter user ggadmin identified by <password> account unlock;


User altered.

SQL> grant dwrole to ggadmin;


Grant succeeded.

SQL> grant pdb_dba to ggadmin;


Grant succeeded.

SQL> grant create session, resource, create view, create table to ggadmin;


Grant succeeded.


SQL> select name,value from v$parameter where name='enable_goldengate_replication';


NAME                                     VALUE

---------------------------------------- ----------

enable_goldengate_replication            TRUE

SQL> create user scott identified by <password>;

User created.


SQL> grant connect,resource,create table to scott;


Grant succeeded.


SQL> grant pdb_dba to scott;


Grant succeeded.


SQL> alter user scott quota unlimited on data;


User altered.


2.目标端数据库上创建测试用户SCOTT和EMP表:

SQL> show user

USER is "SCOTT"


SQL> CREATE TABLE EMP

  2         (EMPNO NUMBER(4) NOT NULL,

  3          ENAME VARCHAR2(10),

  4          JOB VARCHAR2(9),

  5          MGR NUMBER(4),

  6          HIREDATE DATE,

  7          SAL NUMBER(7, 2),

  8          COMM NUMBER(7, 2),

  9          DEPTNO NUMBER(2));


Table created.


SQL> desc emp

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 EMPNO                      8000                NOT NULL NUMBER(4)

 ENAME                                              VARCHAR2(10)

 JOB                                                VARCHAR2(9)

 MGR                                                NUMBER(4)

 HIREDATE                                           DATE

 SAL                                                NUMBER(7,2)

 COMM                                               NUMBER(7,2)

 DEPTNO                                             NUMBER(2)

 

 SQL> ALTER TABLE EMP ADD CONSTRAINT PK_EMPNO PRIMARY KEY(EMPNO);


Table altered.


 SQL> select count(1) from emp;


  COUNT(1)

----------

         0

ORACLE GOLDENGATE MICROSERVICES更改管理员密码

1.更改OGG默认管理员OGGADMIN密码

更改OGG默认管理员密码(例如oggadmin)是保护Oracle GoldenGate Microservices部署的首要任务。需要更改oggadmin的密码,您必须先在Service Manager和Administration Server中更改它。

浏览器中输入https://<public_ip_address> 进入OGG管理页面如下:

单击”转到此网页”

输入OGG管理用户名以及保存在~/ogg-credentials.json文件里的密码

2.登录Service Manager后使用左上角的菜单图标打开菜单,从菜单中选择Administrator

在“oggadmin”编辑选项,更新oggadmin用户的密码,单击“提交”。

3.从Service Manager页面中,点击“Overview”回到控制台,

在部署框中选择Administration Server的端口号。这将导航到该部署的登录页面。

使用oggadmin用户及密码登录。也需要在每个部署的页面上更新oggadmin用户的密码。

分别点击Administration Server的端口9011和9021

4.9011和9021的每个部署的页面上更新oggadmin用户的密码

5.Oracle GoldenGate Microservices计算节点中配置环境变量:

  点击下面的Source

6.源端数据库为12cR2,所以ORACLE_HOME配置为/u01/app/client/oracle12

7.目标端数据库为18c,所以ORACLE_HOME配置为/u01/app/client/oracle18


使用ORACLE GOL

使用ORACLE GOLDENGATE MICROSERVICES创建数据库连接

创建配置源端数据库连接

1.通过点击Administration Server的端口号。9011 这将导航到该部署的登录页面

打开Overview页面左上角的上下文菜单,从上下文菜单中,选择“配置”。

在“数据库”选项卡中,单击加号(+)图标以添加新凭证。

源端因为是12c多租户数据库,所以我们分别创建连接CDB和PDB的数据库凭证如下:

2.点击测试按钮,进行数据库连接测试如下:CDB

连接成功会显示Checkpoint等信息

3.点击测试按钮,进行数据库连接测试如下:PDB

在源端添加SCHEMATRANDATA

4.添加用于连接到源数据库的凭证后,必须在源端上启用事务数据日志记录。

从Oracle Database 12.1和更高版本开始,您必须使用模式指定PDB数据库。 

即<pdb>.<schema>   pdb1.scott

创建配置目标端数据库连接

1.通过点击Administration Server的端口号。9021 这将导航到该部署的登录页面

打开Overview页面左上角的上下文菜单,从上下文菜单中,选择“配置”。

在“数据库”选项卡中,单击加号(+)图标以添加新凭证。

目标端是ADW18c数据库,所以我们创建到数据库凭证如下:

2.点击测试按钮,进行数据库连接测试如下:

连接成功会显示Checkpoint等信息

在目标端添加检查点表

3.检查点表对于监视已应用于目标系统的检查点至关重要。无论使用何种复制,最佳做法是为目标系统启用检查点表。

Checkpoint选项中,点击添加



使用ORACLE GOLDENGATE MICROSERVICES配置进程


目前,Oracle自治数据仓库云仅支持非集成模式的Replicat。

不支持集成模式Replicat,parallel Replicat和coordindated Replicat。

配置捕获进程

在开始复制之前,您必须设置捕获进程。

Oracle GoldenGate Microservices支持三种模式的捕获进程。

  • Classic Extract  -- OGG18c之后版本不建议使用,不支持同步到ADW/ATP

  • Integrated Extract

  • Initial Load Extract

配置EXTRACT进程

1.从源端管理控制台中选择添加Extract进程如下:

2.选择Integrated Extract进程,点击“Next”

3.输入Extract进程相关信息如下:

进程名:ext

数据库连接信息:源端选择CDB连接(source),创建连接参照上述创建连接部分。

Trail文件名:eg

4.选择需要注册的PDB1,点击“Next”

5.下一步填写进程相关配置信息如下:Table pdb1.scott.emp;


extract ext

useridalias oggadmin_pdb domain sourcepdb

exttrail eg

Table pdb1.scott.emp;

控制台上选择注册Extract进程到数据库,点击“创建和执行”

6.在控制台可以看到Extract进程。

配置REPLICAT进程

1.点击目标端管理服务器端口进入控制台,配置Replicat进程

2.点击添加Replicat进程

3.选择Nonintegrated Replicat

4.输入Replicat配置信息如下:目标端连接target,选择checkpoint table

5.下一步填写进程相关配置信息如下:

MAP pdb1.scott.emp, TARGET MSHUTOQY95TFZPE_ADW.SCOTT.emp;

点击“创建和执行”

replicat rep

useridalias target domain target

MAP pdb1.scott.emp, TARGET MSHUTOQY95TFZPE_ADW.SCOTT.emp;

6.在控制台可以看到Replicat进程。


数据同步测试:ORA 数据同步测试:ORACLE12C到ADW

源端插入数据

SQL> select count(1) from emp;


  COUNT(1)

----------

         0


SQL> INSERT INTO EMP VALUES(7369, 'SMITH',  'CLERK',     7902,

        sysdate,  800, NULL, 20);  


1 row created.


SQL> INSERT INTO EMP VALUES

        (7499, 'ALLEN',  'SALESMAN',  7698,

        sysdate, 1600,  300, 30);  


1 row created.

SQL> commit;


Commit complete.

SQL> select count(1) from emp;


  COUNT(1)

----------

         2

从Extract进程选项中选择“详细”

在统计栏中查看同步信息 2条数据成功的被捕获

在目标端确认数据同步成功

SQL> select * from emp;

EMPNO ENAME      JOB          MGR HIREDATE         SAL       COMM     DEPTNO

----- ---------- ---------- ----- --------- ---------- ---------- ----------

 7369 SMITH      CLERK       7902 24-JUL-19        800                    20

 7499 ALLEN      SALESMAN    7698 24-JUL-19       1600        300         30

通过点击目标端的进程详细,统计栏显示2条数据已经插入

测试删除数据从源端数据库

SQL> select count(1) from emp;


  COUNT(1)

----------

         2


SQL> delete emp;


2 rows deleted.


SQL> commit;

Commit complete.

通过点击源端的进程详细,统计栏显示删除已经被捕获

目标端确认数据源已经被删除

SQL> select * from emp  ;


no rows selected

通过点击目标端的进程详细,统计栏显示删除已经被同步



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: