Special Options:
-dfmt [xdt|xf1] set import (loading) data format
指定yloader加载的数据格式,是xf1格式的还是xdt格式的?如果不指定,默认从:
yloader配置的home目录的cfg.dtyp文件中读,如果cfg.dtyp不存在,yloader会认为过来的数据为realsync复制软件过来的Oraclexf1格式数据。
rmp/cfg.dtyp里面会存放源端过来的数据库类型和数据格式。没有这个文件就是Oracle xf1格式了。为了和RealSync复制软件兼容这么设计的。
-idbt [db2|...] set import data database type
指定需要加载的数据来源于那个数据库(也就是源端数据库),不指定从cfg.dtyp读。
-idblang utf8... set import data CHARSET
强制设置源端过来数据的字符集,yloader.ini里面的idb_lang和这个参数一样含义。命令行和配置文件同时设置,优先使用命令行参数。
主要用来源端有中文表名,中文注释的ddl操作时候转换需要。
-iobjn objn only import this objn data to database
指定只加载某个objn的数据,其他数据忽略不管,用来做debug调试的时候非常有用。
如:我知道某个xf1里面有很多个表的dml操作,但出错的表objn为12345,这样我对其他表操作的数据就可以不关心,只加载这个表的数据就可以了。
-irowid rowid only import this row data to database
指定只加载某个rowid的数据,对其他rowid的数据不关心(过滤掉,或者忽略不管)
-sql_mode set loading execute sql mode
使用sql模式加载,该参数和yloader.ini里面的full_sql_mod,real_sql_mode功能一样。
主要是调试的时候方便不用再修改yloader.ini文件就可以用上。
-sdump send data first dump
yloader发送数据前,将数据给dump出来,主要用来调试使用。
-sql dbtype view sql statement
查看sql用,yloader不加载数据到数据库,指定的是目标数据库类型。
如:-sql db2就可以查看yloader输出的符合db2格式的sql
-iload set *xad ignore loading data to DB.
指定忽略入库,也就是数据发送给*xad后不加载实际数据,用来做一些特殊测试的时候使用。
-tpar dbtype set -par view db type
dbtype: mysql, db2, mssql, dbone, postgresql
txt, xml, sql, udb
查看针对各个数据库的默认配置参数:
如:
-tpar mysql -par 输出的module=YXAC部分的信息有差别。
-home dir set loading work home
设置yloader工作目录,该参数和yloader.ini里面home重复
-mproc count set full queue count, work with multi-process mode
设置为多进程工作模式,指定最大队列数据。
如:-mproc 3表示sync0, sync1, sync2为多进程同时加载。realX目前不支持多进程模式。
-startup [mthr] startup(-u) loading service, set mthr for gdb
启动yloader加载服务,后面的mthr可以指定也可以不指定,尽量别指定,设置了mthr表示yloader采用多线程工作模式。请尽量用默认的-startup就可以了。该参数可以简写为-u
如:
-startup
-u
-u mthr
-shutdown [nsec] shutdown(-d) loading service, set timeout seconds
停止yloader加载服务,后面nsec为超时后强制退出时间,可以简写为-d
如:
-shutdown
-d 16
-rmcache queue_name quick remove queue cache info
快速删除yloader的缓存信息:
如:yloader -home dsg/rmp -rmcache y1
yloader会自动把自己关于y1队列名(yloader.ini里面配置的queue_name)的数据给删除掉。用来做调试测试时候使用。
-rm queue_name1,queue_name2,... # remove xf1/xdt for load completed
-bak queue_name1,queue_name2,... # backup xf1/xdt for load completed
用在一份数据加载到多个地方时候使用,一份数据加载多处需要启动一个独立yloader服务完成已加载数据的备份或者删除工作。
-idict file # replace or insert new dict to yloader cache
导入字典文件到yloader的cache中,当字典文件存在问题或者字典丢失的时候可以使用该参数。
如:
#导入的字典来源于oracle数据库(s_dict.xf1为oracle的字典文件)
yloader -f yloader.ini -idict s_dict.xf1
#导入的字典来源于db2数据库(s_dict.xf1为db2的字典文件)
yloader -f yloader.ini -idict s_dict.xf1 -idbt db2
-disp [min_d#,max_d#,count]file threads
# for test dispatch file.
拆分文件,主要用来做增量数据拆分调试使用
-simp xdt,xdt_file,dict_file # import sync file to DB
-rimp xdt,xdt_file,dict_file # import real file to DB
按照全量(-simp)或者增量(-rimp)方式加载指定的文件,遇到问题单独加载测试使用
如:
yloader -f yloader.ini -simp rmp/sync0/3.xf1 -v0123
yloader -f yloader.ini -rimp rmp/real0/3.xdt -v0123
# start#<0 or end#<0 import this directory all files.
-sidir xdt,xdt_dir,start#,end# # import sync more file to DB
-ridir xdt,xdt_dir,start#,end# # import real more file to DB
按照全量(-sidir)或者增量(-ridir)方式加载目录指定的顺序文件或者所有文件,遇到多个xf1一起出问题的时候加载测试使用
如:
yloader -f yloader.ini -sidir rmp/sync0,10,100 -v0123
# 顺序加载rmp/sync0下面文件号从10开始到100结束的文件。yloader加载的时候优先找10.xf1或者10.xdt文件,如果文件不存在自动找10.xf1.bak或者10.xdt.bak文件。
# 具体是找xf1还是xdt由:cfg.dtyp决定,cfg.dtyp没有由yloader.in里面的data_format参数决定
yloader -f yloader.ini -sidir rmp/y1_cache/dict_bak,-1,-1 -v0123
# yloader按照自己的顺序加载rmp/sync0下面的所有文件,这个顺序你控制不了。当你对加载顺序不关心的时候可以这么使用。
-rename .xf1.bak .xf1 # rename *.xf1.bak to *.xf1
对文件做批量改名,主要用来做一些特殊测试的时候使用
如:
yloader -home dsg/rmp/ -rename .xf1.bak .xf1
# yloader会自动找/dsg/rmp下面的所有符合.xf1.bak的文件给rename成.xf1文件
yloader -home dsg/rmp/ -rename .xdt.bak .xdt
-rowid [ROWID | DBONEID] # changed to oracle rowid
yloader对指定rowid数据做转换运算,主要用在dbone数据库上dboneid怎么和Oracle rowid相互转换使用,查bug方便
# for test onl module, EX: -conv gb18030 utf8 CBCEF8E1E6BC
-conv source_code target_code hex_strings
yloader测试字符集转换使用
如:
yloader -conv gb18030 utf8 CBCEF8E1E6BC
将gb18030字符集的数据转换为utf8格式数据,需要做转换测试的数据为:CBCEF8E1E6BC,是gb18030格式的十六进制数据。
附加信息 -fdat "col=0,objn=100" data
主要用来查看文件或者目录下面的数据的。主要查找的对应为xdt或者xf1文件。
如:
yloader -home rmp/sync0/ -fdat "col=0,objn=12423" "1234"
表示查看rmp/sync0下面的所有文件,找出objn为12423,第一列数据为1234的数据文件是那个,对应rowid是那个。
注意:col从0开始,后面查找的数据必须和xdt或者xf1里面的查看内容对应。col设置为-1表示查找rowid
如:
-fdat "col=0,objn=12423" "0x801242"
如果查找的数据是二进制类型数据,请输入格式用十六进制表示,前面添加0x
objn也是支持:0x输入的,如:objn=0x123和objn=291是一个意思。
查找文件就这样写就可以了:
yloader -home rmp/sync0/100.xf1 -fdat "col=0,objn=12423" "1234" -v0
添加-v0可以查看到查找进度提示信息
-fdat里面的objn可以不设置,不设置和设置为objn=0是一样的,表示查询找有表符合该列数据的rowid打印出来。
查找数据为空可以这样写:
-fdat "col=1" ""
注意data部分内容写成""
当col设置为-1的时候可以用来查找rowid
yloader -home rmp/sync0/ -fdat "col=-1" "AAAwKmAACAACeiRAAC" -v0
yloader -home rmp/sync0/ -fdat "col=-1" 0x000302A60089E8910002 -v0
用来找字典,如:
yloader -home rmp/sync0/ -fdat "dict=T1" "" -v0
字典查找是按照字典表名模糊查找。
-home可以指定文件或者目录,如果指定的是文件就查找问题内容,如果指定目录就查找目录下面所有文件。




