这篇文章将为大家详细讲解有关如何理解OGG的initial load和,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联公司是专业的西林网站建设公司,西林接单;提供成都网站制作、做网站、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西林网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
Initial load
可分为几种:
除去第一种方法,其余均需要initial-load extract或initial-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 extract将source table写入remote extract文件(canonical格式),由initial-load replicat将其加逐行载入数据库,因此效率较低;
大致步骤
1启动source的manager进程:start manager;
2编辑initial-load extract参数文件:edit params
SOURCEISTABLE–标明extract为initial load,直接从source table获取数据
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager 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进程:$/
6启动initial-load replicat进程:$/
7启动change replicat进程:start replicat
8监控change replicat状态:info replicat
9移除change replicat的handlecollisions参数:send replicat
Load data from file to database utility
使用initial-load extract将source table写入remote ASCII文件,通过db utility加载到target db,initial-load replicat会生成run and control files辅助db utility;数据转换必须由initial-load extract执行;
大致步骤
1启动source的manager进程:start manager;
2编辑initial-load extract参数文件:edit params
SOURCEISTABLE–声明extract为initial-load
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager port
ENCRYPTTRAIL AES192, KEYNAME mykey1
RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE –指定remote extract文件
FORMATASCII, SQLLOADER–将输出格式化为ASCII文本,替代默认的canonical格式,可选项包括BCP和SQLLOADER
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进程:$/
6启动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
9移除change replicat的handlecollisions参数:send replicat
Load data with OGG direct load
使用initial-load extract将source table直接发送至initial-load replicat task(由manager动态生成,不需要collector进程),由后者通过large block加载到target;不支持log/long/UDT/大于4K的数据字段;
Target端使用dynamicportlist为replicat分配port,加速查询和绑定过程;
大致步骤
1启动source的manager进程: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–指导target的manager动态启动一次性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
6监控initial-load进程,在target执行view report
7启动change replicat进程:start replicat
8监控change replicat状态:info replicat
9移除change replicat的handlecollisions参数:send replicat
Load data with a direct bulk load to SQL*Loader
使用initial-load extract将source table发送给initial-load replicat,后者同SQL*Loader结合执行直接路径加载;
此方法只用于Oracle的SQL*Loader,不适合其他数据库;不支持lob/long类型;
1启动source的manager进程: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–指导target的manager动态启动initial-load replicat,为一次性任务
TABLE hr.*;
TABLE sales.*;
3添加/编辑target initial-load repicat的参数文件:add replicat
REPLICAT initrep
USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
BULKLOAD –指导replicat同oracle 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
6监控initial-load进程,在target执行view report
7启动change replicat进程:start replicat
8监控change replicat状态:info replicat
9移除change replicat的handlecollisions参数:send replicat
Online change sync
大致分为
创建checkpoint表
创建extract组
创建extract参数文件
创建trail
创建replicat组
创建replicat参数文件
每个manager最多支持5000个并发extract和replicat组,可根据活跃程度为不同的表单独分配extract,每个extract单独对应一个data pumps和replicat组;
Checkpoint表
可被多个OGG instance共享,也可创建多个表,每个replicat组对应一个;
创建方式:
1
在GLOBALS文件声明
每个通过add replicat新建的replicat组均可自动使用
编辑GLOBALS文件Edit params ./GLOBALS
添加参数checkpointtabl 通过GGSCI登陆数据库dblogin sourcedb 执行add checkpointtabl 2 创建replicat时声明 add replicat checkpointtable,覆盖GLOBALS文件;如果指定nodbcheckpoint,则使用checkpoint file; 创建online extract group ADD EXTRACT {, {, BEGIN [, PASSIVE] –配合alias extract使用,当从target发起连接时用到 [, THREADS [, PARAMS [, REPORT [, DESC “ 创建alias extract ADD EXTRACT , RMTHOST { , {MGRPORT [, RMTNAME [, DESC “ 创建trail 由data pump或replicat负责读取,teradata则需要VAM-sort extract; 为trail单独分配一个磁盘; 添加trail ADD {RMTTRAIL | EXTTRAIL} 创建online replicat组 ADD REPLICAT [, BEGIN [, CHECKPOINTTABLE [, NODBCHECKPOINT] [, PARAMS [, REPORT 控制online process 启动 Start [extract|replicat] 可配置manager参数文件,autostart为自动启动,autorestart自动重启动 停止 Stop [extract|replicat] 强制关闭replicat stop replicat 杀死 Kill [extract|replicat] 一次执行操作多个进程 --可选命令为start/stop/kill 删除进程组 停止相应进程后,可将其删除但可同时保留参数文件,后续可重新添加同样组; GGSCI登陆数据库,执行delete [extract|replicat] 关于如何理解OGG的initial load和就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
本文标题:如何理解OGG的initialload和
网址分享:http://kswsj.cn/article/geijeh.html
其他资讯