千家信息网

如何理解OGG的initial load和

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章将为大家详细讲解有关如何理解OGG的initial load和,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Initial load可分为几种
千家信息网最后更新 2025年01月25日如何理解OGG的initial load和

这篇文章将为大家详细讲解有关如何理解OGG的initial load和,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Initial load

可分为几种:

除去第一种方法,其余均需要initial-load extractinitial-load replicat;在同步initial-load期间的change时,replicat都需要添加handlercollisions参数,并在同步完成后去除;

Loading data with a database utility

使用db copy utility创建target db,等copy完成启用change-sync replicat同步期间产生的change;此过程完成后开始正常的数据同步;

因为不需要initial-load extract/replicat,也无须为之配备参数文件

Loading data from file to replicat

使用initial-load extractsource table写入remote extract文件(canonical格式),由initial-load replicat将其加逐行载入数据库,因此效率较低;

大致步骤

1 启动sourcemanager进程:start manager

2 编辑initial-load extract参数文件:edit params

SOURCEISTABLE - 标明extractinitial load,直接从source table获取数据

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey -指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE --指定remote extract文件,不需要维护checkpoing

TABLE hr.*;

TABLE sales.*;

3 编辑target initial-load repicat的参数文件:edit params

SPECIALRUN -replicat设定为一次性运行,不需要checkpoint

END RUNTIME -load完成后终结replicat

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld -声明由extract指定的rmtfile

SOURCEDEFS /ggs/dirdef/source_defs - source/target表结构不同时使用,def文件由defgen生成;如果表结构一致则使用assumetargetdefs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 启动change extract进程:start extract

5 启动initial-load extract进程:$/.prm reportfile --通过initial-load extract参数文件名启动,监控状态直至extraction完成

6 启动initial-load replicat进程:$/.prm reportfile --通过initial-load replicat参数文件启动,监控直至完成

7 启动change replicat进程:start replicat

8 监控change replicat状态:info replicat --直至应用完所有initial load产生的change,如果initial-load extract12:05结束,确保replicat应用到此时间点;

9 移除change replicathandlecollisions参数:send replicat , nohandlecollisions,然后更新repliat参数文件

Load data from file to database utility

使用initial-load extractsource table写入remote ASCII文件,通过db utility加载到target dbinitial-load replicat会生成run and control files辅助db utility;数据转换必须由initial-load extract执行;

大致步骤

1 启动sourcemanager进程:start manager

2 编辑initial-load extract参数文件:edit params

SOURCEISTABLE -声明extractinitial-load

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey -指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE -指定remote extract文件

FORMATASCII, SQLLOADER -将输出格式化为ASCII文本,替代默认的canonical格式,可选项包括BCPSQLLOADER

TABLE hr.*;

TABLE sales.*;

3 编辑target initial-load repicat的参数文件:edit params

GENLOADFILES sqlldr.tpl --生成run and control files,辅助db utility加载数据,该文件动态生成不可人工干预

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 启动change extract进程:start extract

5 启动initial-load extract进程:$/.prm reportfile --通过initial-load extract参数文件名启动,监控状态直至extraction完成

6 启动initial-load replicat进程:$/.prm reportfile --通过initial-load replicat参数文件启动,监控直至完成

7 加载target db:通过步骤6生成的ASCII文本文件和run and control files,使用db utility将其加载至target db,监控直至完成

7 启动change replicat进程:start replicat

8 监控change replicat状态:info replicat --直至应用完所有initial load产生的change,如果initial-load extract12:05结束,确保replicat应用到此时间点;

9 移除change replicathandlecollisions参数:send replicat , nohandlecollisions,然后更新repliat参数文件

Load data with OGG direct load

使用initial-load extractsource table直接发送至initial-load replicat task(manager动态生成,不需要collector进程),由后者通过large block加载到target;不支持log/long/UDT/大于4K的数据字段;

Target端使用dynamicportlistreplicat分配port,加速查询和绑定过程;

大致步骤

1 启动sourcemanager进程:start manager

2 添加并编辑initial-load extract参数文件:add extract < initial-load extract name>, sourceistable/edit params

EXTRACT initext --指定initial-load extract 进程名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep - 指导targetmanager动态启动一次性initial-load replicat

TABLE hr.*;

TABLE sales.*;

3 添加编辑target initial-load repicat的参数文件:add replicat initrep, specialran/edit params initrep

REPLICAT initrep -指定initial-load replicat task

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 启动change extract进程:start extract

5 启动initial-load extract进程:start extract ,会自动启动initial-load replicat

6 监控initial-load进程,在target执行view report 直至完成

7 启动change replicat进程:start replicat

8 监控change replicat状态:info replicat --直至应用完所有initial load产生的change,如果initial-load extract12:05结束,确保replicat应用到此时间点;

9 移除change replicathandlecollisions参数:send replicat , nohandlecollisions,然后更新repliat参数文件

Load data with a direct bulk load to SQL*Loader

使用initial-load extractsource table发送给initial-load replicat,后者同SQL*Loader结合执行直接路径加载;

此方法只用于OracleSQL*Loader,不适合其他数据库;不支持lob/long类型;

1 启动sourcemanager进程:start manager

2 编辑initial-load extract参数文件:edit params

EXTRACT initext -指定initial-load extract进程名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep -指导targetmanager动态启动initial-load replicat,为一次性任务

TABLE hr.*;

TABLE sales.*;

3 添加/编辑target initial-load repicat的参数文件:add replicat m, specialrun/edit params

REPLICAT initrep

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

BULKLOAD -指导replicatoracle sql*loader接口协同工作

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 启动change extract进程:start extract

5 启动initial-load extract进程:start extract ,会自动启动initial-load replicat

6 监控initial-load进程,在target执行view report 直至完成

7 启动change replicat进程:start replicat

8 监控change replicat状态:info replicat --直至应用完所有initial load产生的change,如果initial-load extract12:05结束,确保replicat应用到此时间点;

9 移除change replicathandlecollisions参数:send replicat , nohandlecollisions,然后更新repliat参数文件

Online change sync

大致分为

创建checkpoint

创建extract

创建extract参数文件

创建trail

创建replicat

创建replicat参数文件

每个manager最多支持5000个并发extractreplicat组,可根据活跃程度为不同的表单独分配extract,每个extract单独对应一个data pumpsreplicat组;

Checkpoint

可被多个OGG instance共享,也可创建多个表,每个replicat组对应一个;

创建方式:

1

GLOBALS文件声明

每个通过add replicat新建的replicat组均可自动使用

编辑GLOBALS文件Edit params ./GLOBALS

添加参数 checkpointtabl .

通过GGSCI登陆数据库dblogin sourcedb , userid , password

执行add checkpointtabl .

2

创建replicat时声明

add replicat checkpointtable,覆盖GLOBALS文件;如果指定nodbcheckpoint,则使用checkpoint file

创建online extract group

ADD EXTRACT

{, } -指定数据源;tranlog-事务日志,integrated tranlog-integrated模式接受LCR,只用于oracleVAM-用于teradatavamtrailsource --指定VAM trailexttrailsource --指定本地trail

{, BEGIN } | {} -可选值:now-add extract时间点起,对data pump最好不要使用;--指定时间点

[, PASSIVE] -配合alias extract使用,当从target发起连接时用到

[, THREADS ] --只在RAC下使用,指定redo线程数

[, PARAMS ] --若其参数文件没有存储在dirprm子目录,则需显示声明

[, REPORT ] -若进程报告存于非dirrpt子目录,则需显示声明

[, DESC ""]

创建alias extract

ADD EXTRACT

, RMTHOST { | }

, {MGRPORT } | {PORT

[, RMTNAME ] --指定passive extract

[, DESC ""]

创建trail

data pumpreplicat负责读取,teradata则需要VAM-sort extract

trail单独分配一个磁盘;

添加trail

ADD {RMTTRAIL | EXTTRAIL} , EXTRACT [, MEGABYTES ] -默认n100

创建online replicat

ADD REPLICAT , EXTTRAIL

[, BEGIN | , EXTSEQNO , EXTRBA ] -指定exttrail开始读取的文件号和相对块地址

[, CHECKPOINTTABLE ]

[, NODBCHECKPOINT]

[, PARAMS ]

[, REPORT ]

控制online process

启动

Start [extract|replicat]

可配置manager参数文件,autostart为自动启动,autorestart自动重启动

停止

Stop [extract|replicat]

强制关闭replicat stop replicat !

杀死

Kill [extract|replicat]

一次执行操作多个进程

ER

--可选命令为start/stop/kill

删除进程组

停止相应进程后,可将其删除但可同时保留参数文件,后续可重新添加同样组;

GGSCI登陆数据库,执行delete [extract|replicat]

关于如何理解OGG的initial load和就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0