sota如何创建作业及配置作业文件详解(章节5)
1 创建作业
1.1 SOTA作业概念
SOTA将数据从源库同步到目的库的过程抽象为一个作业。
一个作业包含了对操作目标(数据库)和操作流程(抽取/分析/装载)的定义。
这些定义分布和存放在不同目录下的不同文件中,这些文件整体构成一个作业的描述和定义。
这些描述信息包含:
1) 数据库描述和定义
文件名 |
路径 |
文件作用 |
JobList.xml |
Sota/run |
设置作业名,设置源数据库名称,设置目标数据库的个数,设置目标数据库的编号,设置目标数据库的名称,设置目标数据库的装载个数 |
| | |
JobLoadFilter.xml |
Sota/run |
源数据库中允许和不允许哪些用户及用户下的表同步到目标数据库的设置 |
2)组件的描述和定义
oSucker/oParser/oLoader三个组件通过oBus来交换信息,所以在各个组件的配置文件中包含IP地址和端口号的设置。每个作业都有对应的抽取组件/分析组件/装载组件,即这三个组件的配置文件中都设置了作业名。
文件名 |
路径 |
文件作用 |
E_Config.xml |
SotaData/作业名/conf |
oSucker配置信息,除了配置以上信息外还配置了源数据库名称,以及源数据库中的那个用户和密码登录源数据库,oSucker 程序运行的所在目录和抽取过滤文件(Filter.xml文件) |
L_Config_**.xml |
SotaData/作业名/conf |
oLoader配置信息,除了配置以上信息外还包含了从源数据库的哪个用户装载到目标数据库的那个用户下,目标数据库的名字,以目标数据库的那个用户和密码登录目标数据库,oLoader的工作路径和与之相关的oSucker/oParser的工作路径 |
P_Config.xml |
SotaData/作业名/conf |
oParser配置文件,除了配置以上信息外还包含了oParser和oLoader的工作路径 |
Filter.xml |
SotaData/作业名/conf |
允许/不允许源数据库中的哪些用户及用户下的表被提取的设置 |
1.2 创建第一个作业
SOTA默认没有作业配置信息。利用SOTA完成数据同步的首要工作是建立一个作业!
在创建作业之前首先要确认目标库和备库的名称,数据库SYS用户的密码,需要同步的用户或表名。
下面仔细说明创建一个作业的基本流程!
以job name为 Job001, 源数据库名为ODB10G ,目标数据库的个数为1,目标数据库的编号为1,目标数据库的名称为ODB11G,装载的个数为1为例来设置。
1.2.1 设置作业列表基本信息 –JobList.xml
格式:参考图JobList.xml_1
注意: 该文件必须有,里面的各个信息必须正确,否则将创建错误的作业信息。具体怎样配置JobList.xml文件如下:1)进入JobList.xml所在目录 2)查看/编辑JobList.xml文件。如果不知道怎样配置JobList.xml文件请参考图JobList.xml_1。
JobList.xml所在目录 |
./sota/run |
<jobList> <job name="Job001" > <!-- 设置作业名 --> <srcdb name="ODB10G " /> <!-- 设置源数据库名 --> <tgtdb num="1" > <!-- 设置目标数据库个数 --> <attr id="1" name="ODB11G" LdrNum="1" /> <!-- 设置目标数据库名,装载个数 --> </tgtdb> </job> </jobList> |
图JobList.xml_1
1.2.2 配置作业oSucker组件信息 – E_Config.xml
格式:参见图E_Config.xml
注意:该文件必须有,里面的各个信息必须正确,否则oSucker组件无法运行。具体怎样配置E_Config.xml文件如下:1)进入E_Config.xml所在目录 2)查看/编辑E_Config.xml文件。如果不知道怎样配置E_Config.xml文件请参考图E_Config.xml。
E_Config.xml文件目录 |
./sotaData/Job001/conf |
<LogConfig> <oracle> <dbname>ODB10G</dbname> <!-- 设置源数据库名 --> <user>sys</user> <!-- 设置源库用户名 必须SYSDBA权限 --> <password>sys</password> <!-- 设置源库用户密码 --> </oracle> <busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 --> <busPort>6379</busPort> <!-- 设置BUS端口号 --> <jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 --> <workdir>/opt/sotaData/Job001</workdir> <!-- 这个必须正确, 否则无法启动SUCKER --> <filterFile>/opt/sotaData/Job001/conf/Filter.xml</filterFile> <!-- 这个文件必须存在, 否则SUCKER无法工作,参看FILTER文件配置章节 --> </LogConfig> |
图E_Config.xml_2
1.2.3 配置Filter.xml信息 – Filter.xml
格式:参见图Filter.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则抽取的数据可能不是想要的结果。具体怎样配置Filter.xml文件如下:1)进入Filter.xml所在目录 2)用vi编辑Filter.xml文件或者使用其他编辑工具编辑文件。
1) 对owner模式进行限制,例:用户模式下允许oSucker抽取的用户是SCOTT和JQD,不允许oSucker抽取的表为SCOTT.DUMMY和JQD.OBJ
.
Filter所在目录 |
./sotaData/Job001/conf |
<filter> <mode>owner</mode> <omode> <list>SCOTT</list> <!-- 允许SUCKER抽取的源库用户 --> <list>JQD</list> <deny>SCOTT.DUMMY</deny> <!-- 不允许SUCKER抽取的源库用户下的表 --> <deny>JQD.OBJ</deny> </omode> </filter> |
2) 对table模式进行限制,例:在表模式下允许oSucker抽取的表是JQD.DEPT.
Filter所在目录 |
./sotaData/Job001/conf |
<filter> <mode>table</mode> <tmode> <list>JQD.DEPT</list> <!-- 允许SUCKER抽取的源库用户的表 --> </tmode> </filter> |
3) 对all模式限制,例: 在用户及表模式下不允许oSucker抽取的用户有'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'.
Filter所在目录 |
./sotaData/Job001/conf |
<filter> <mode>all</mode> <all> <deny>'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'</deny> <!-- 不允许SUCKER抽取的源库用户 --> </all> </filter> |
1.2.4 配置作业oParser 组件信息 – P_Config.xml
格式:参见图P_Config.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则oParser组件无法运行。具体怎样配置P_Config.xml文件如下:1)进入P_Config.xml所在目录 2)查看/编辑P_Config.xml文件。
oBus的ip地址为 127.0.0.1,oBus的端口号为6379,根据以上内容为例编写P_Config.xml文件。详细内容请参考图P_Config.xml_2。
P_Config.xml文件目录 |
./sotaData/Job001/conf |
<PsrConfig> <workdir>/opt/sotaData/Job001</workdir> <!-- 这个必须正确, 否则无法启动Parser --> <suckerdir>/opt/sotaData/Job001</suckerdir> <!-- 这个必须正确, 否则无法被SUCKER驱动 --> <busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 --> <busPort>6379</busPort> <!-- 设置BUS端口号 --> <jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 --> </PsrConfig> |
图P_Config.xml_2
1.2.5 配置作业oLoader组件信息 –L_Config_**.xml
格式:参见图L_Config_**.xml_2.**为目标库名
注意:该文件必须有,里面的各个信息必须正确,否则oLoader组件无法运行。
L_Config_**.xml文件目录 |
./sotaData/Job001/conf |
<LoadConfig> <workdir>/opt/sotaData/Job001</workdir> <!-- 这个必须正确, 否则无法启动 --> <suckerdir>/opt/sotaData/Job001</suckerdir> <!-- 这个必须正确, 否则无法被SUCKER驱动 --> <parserdir>/opt/sotaData/Job001</parserdir> <!-- 这个必须正确, 否则无法被Parser驱动 --> <busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 --> <busPort>6379</busPort> <!-- 设置BUS端口号 --> <jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 --> <oracle> <dbname>ODB11G</dbname> <!-- 设置目标数据名 --> <user>sys</user> <!-- 设置目标库用户名 必须SYSDBA权限 --> <password>sys</password> <!-- 设置目标库用户密码 --> </oracle> <ownermap> <from>scott</from> <!-- 设置从哪个用户下的表同步 --> <to>jqd</to> <!-- 设置同步到哪个用户下 --> </ownermap> </LoadConfig> |
图L_Config_**.xml_2
1.2.6 配置作业装载组件信息 – JobLoadFilter.xml
格式:参见图JobLoadFilter.xml_1
注意:该文件必须有,里面的各个信息必须正确,否则Loader组件无法运行。
每个不同作业中,目标数据库名字严禁相同,否则在处理作业信息时会出错。
具体怎样配置JobLoadFilter.xml文件如下:1)进入JobLoadFilter.xml所在目录 2)查看/编辑JobLoadFilter.xml文件。
下面以允许装载的源数据库中的SCOTT用户及不允许装载该用户下的dummy和test这两张表,根据以上内容为例编写JobLoadFilter.xml文件。详细内容请参考图JobLoadFilter.xml_1。
JobLoadFilter.xml文件目录 |
./sota/run |
<LoadFilter jobName="Job001" tgtDbName="ODB11G" > <!-- 设置作业名,目标数据库名 --> <allowOwner name="SCOTT"> <!-- 设置允许的源库用户名 --> <denyTable name="dummy" /> <!-- 设置不允许装载的表名 --> <denyTable name="test" /> <!-- 设置不允许装载的表名 --> </allowOwner> </LoadFilter> |
图JobLoadFilter.xml_1
转载于:https://blog.51cto.com/4720799/1294663
sota如何创建作业及配置作业文件详解(章节5)相关推荐
- 用idea建立jsp项目_用idea创建maven项目,配置tomcat详解
用idea创建maven项目,配置tomcat详解,电脑上得有jdk1.7,或者1.8,然后就是maven3.x吧,再有就是tomcat7以上 下面就直接开始看图啦: 这个我刚刚开始没注意细看,原来w ...
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量, ...
- python定时任务crontab_【Python】Linux crontab定时任务配置方法(详解)
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度 ...
- Linux crontab定时任务配置方法(详解)
id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> 脚本之家 服务器常 ...
- Ehcache配置参数详解
ehcache配置参数详解 <?xml version="1.0" encoding="UTF-8"?><ehcache><dis ...
- Java编程配置思路详解
Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...
- hibenate5.1配置mysql_hibernate5.2的基本配置方法(详解)
目标:将Student实体对象加入数据库 1.首先需要下载三个东西:hibernate,slf4j,mysql. 2.分别取他们的包导入新建的项目中,我这里的版本是:hibernate-release ...
- ASP.NET Core的配置(2):配置模型详解
在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...
- oracle tns 代理配置_oracle数据库tns配置方法详解
TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器. TNS ...
最新文章
- 记一次递归在我项目中所发挥的作用
- 数据库的定义、关系型数据库的四种约束。。
- java htmlparser 使用教程_HtmlParser基础教程
- ASP.NET Core MVC+EF Core从开发到部署
- 你所阅读的,决定你是什么样的人
- 订阅号微信公众号历史文章爬虫php,一步步教你怎么打造微信公众号历史文章爬虫...
- Android 6.0 源代码编译实践
- 蒙特卡洛法求圆周率 c语言,c++蒙特卡洛法求圆周率
- matlab安装详解
- 转 fpga学习经验1
- 达梦数据库处理用户过期密码方式
- 我的2019全年目标
- 使用canvas 绘制象棋棋盘
- 一个关于xgen开发导入的问题,但其实我觉得更重要的是过程中发生的事情。
- JavaWeb过滤器(Filter)
- C语言REPEAT程序,汇编语言定使用WHILE、REPEAT、FOR 和 FORC伪指令定义重复语句块
- 无线电能传输 wpt 磁耦合谐振 过零检测 基于二极管整流的无线电能传输设计 基于同步整流的无线电能传输设计
- 十种免费网站访问分析工具
- 利用条形码扫描技术的智能仓储管理解决方案
- 网页对话框showModalDialog()
热门文章
- 深圳神经科学研究院院长谭力海: AI取代人脑? 不, 必须向人脑“学习”!
- 突然开掉CEO!通用电气时隔一年再换帅,金融和工业互联网都救不了GE?
- 深入“肠-脑”神经高速通道,揭开“第六感觉”面纱
- 高通5G版图现身!你的网络生活将迎来巨变?
- 腾讯「AI In All」的背后,是开放AI技术能力,探索腾讯应用场景
- 全球 35 大开源公司都在这里!
- 【免费获取】80+页PPT全方位解读半导体行业
- 世界首富贝佐斯将“退休”
- 关于Java“回调”的详细理解及使用
- JVM基础系列第7讲:JVM 类加载机制