我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何理解OGG的initial load和

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何理解OGG的initial load和

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

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 <initial-load extract name>

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 <initial-load replicat name>

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 <extract group name>

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

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

7 启动change replicat进程:start replicat <replicat group name>

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

9 移除change replicat的handlecollisions参数:send replicat <replicat group name>, nohandlecollisions,然后更新repliat参数文件

 

 

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 <initial-load extract name>

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 <initial-load replicat name>

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 <extract group name>

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

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

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

7 启动change replicat进程:start replicat <replicat group name>

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

9 移除change replicat的handlecollisions参数:send replicat <replicat group name>, nohandlecollisions,然后更新repliat参数文件

 

 

 

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 <initial-load extract name>

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 <extract group name>

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

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

7 启动change replicat进程:start replicat <replicat group name>

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

9 移除change replicat的handlecollisions参数:send replicat <replicat group name>, nohandlecollisions,然后更新repliat参数文件

 

 

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 <initial-load extract name>

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 <initial-load repliact name>m, specialrun/edit params <initial-load replicat name>

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 <extract group name>

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

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

7 启动change replicat进程:start replicat <replicat group name>

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

9 移除change replicat的handlecollisions参数:send replicat <replicat group name>, nohandlecollisions,然后更新repliat参数文件

 

 

 

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 <owner>.<table>

通过GGSCI登陆数据库dblogin sourcedb <dsn>, userid <db_user>, password <pw>

执行add checkpointtabl <owner>.<table>

 

2

创建replicat时声明

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

 

创建online extract group

ADD EXTRACT <group name>

{, <datasource>} –指定数据源;tranlog—事务日志,integrated tranlog—以integrated模式接受LCR,只用于oracle,VAM—用于teradata,vamtrailsource <name>--指定VAM trail,exttrailsource <name>--指定本地trail

{, BEGIN <start point>} | {<position point>} –可选值:now—从add extract时间点起,对data pump最好不要使用;<YYYY-MM-DD HH:MM>--指定时间点

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

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

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

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

[, DESC “<description>”]

 

创建alias extract

ADD EXTRACT <group name>

, RMTHOST {<host name> | <IP address>}

, {MGRPORT <port>} | {PORT <port}

[, RMTNAME <name>]  --指定passive extract

[, DESC “<description>”]

 

创建trail

由data pump或replicat负责读取,teradata则需要VAM-sort extract;

为trail单独分配一个磁盘;

添加trail

ADD {RMTTRAIL | EXTTRAIL} <pathname>, EXTRACT <group name> [, MEGABYTES <n>] –默认n为100

 

创建online replicat

ADD REPLICAT <group name>, EXTTRAIL <pathname>

[, BEGIN <start point> | , EXTSEQNO <seqno>, EXTRBA <rba>] –指定exttrail开始读取的文件号和相对块地址

[, CHECKPOINTTABLE <owner.table>]

[, NODBCHECKPOINT]

[, PARAMS <pathname>]

[, REPORT <pathname>]

 

控制online process

启动

Start [extract|replicat] <group name>

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

停止

Stop [extract|replicat] <group name>

强制关闭replicat stop replicat <group name> !

杀死

Kill [extract|replicat] <group name>

一次执行操作多个进程

<command> ER <wildcard specification>

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

删除进程组

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

GGSCI登陆数据库,执行delete [extract|replicat] <group name>

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何理解OGG的initial load和

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何理解OGG的initial load和

这篇文章将为大家详细讲解有关如何理解OGG的initial load和,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Initial load可分为几种:除去第一种方法,其余均需要initia
2023-06-06

如何理解ABAP和Java的destination和JNDI

如何理解ABAP和Java的destination和JNDI,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Netweaver里使用事务码SM59创建Destination:
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录