HM洪美数据同步运维说明
<p>HM 数据同步运维说明
最后修改:2014年12月3日 周勇
背景
洪美有多个品牌和商品的数据放到同一个数据库中;
需求1:多个店铺只有部分店铺是dw
需求2:同一张单据有部分货品是dw
需求3:给上级上报的数据需要补录一些单据;又不能影响生产库;
数据库实例1:云服务112.124.38.129(地址已经改了) 生产库pg:eb3_hongmei<br />
数据库实例2: 云服务112.124.38.129 地址已经改了) 中间库pg:zgs60_new
数据库实例3:厦门windows: 110.80.46.162 中间库mssql:zgs60_new
数据库实例4:厦门windows: 110.80.46.162 生产库mssql:bstest </p>
<p>云服务器密码:用户root 密码bxxxxxxt<br />
厦门总部服务器登陆:用户admin_9i 密码:wolf@dw.com
设计原理:<br />
中间库pg 表zgs60_new.g_spdm负责维护需要同步的商品档案;使用EB软件维护
中间库pg 表zgs60_new.s_shopid负责维护需要同步的店号;使用EB软件维护</p>
<p>生产库pg表 zgs80.g_spdm_bs 从中间库pg同步过来;内容一致,无需人工维护
生产库pg表 zgs80.s_shopid_bs从中间库pg同步过来;内容一致,无需人工维护</p>
<p>步骤1:进销存表和零售表的数据从生产库pg.zgs80导入到中间库pg.zgs60_new;同时清理数据(主要是因为商品从表没有数据需要同时清空主表);步骤目前放在云服务上得hm.kjb自动运行;
步骤2:厦门服务器上得kettle从云服务中间库pg.zgs60_new导入到厦门mssql.zgs60_new数据库;
步骤3:厦门mssql.bstest数据库上执行mssql.zgs60_new到百胜mssql.bstest的存储过程;
exec P_KB_WorkStat '20140723','20140724' 已经设置成了mssql自动执行
设置代码
declare @bdate varchar(100),@edate varchar(100)
set @bdate=CONVERT(varchar(100), GETDATE()-2, 112) --这里是从前天开始
set @edate=CONVERT(varchar(100), GETDATE()-1, 112) --这里是到昨天截止
exec P_KB_WorkStat @bdate,@edate
kettle处理要点;
要点1:云服务 自动后台运行hm.kjb 如果需要更新;
1、 ps -aux|grep kettle
2、 ps -aux|grep kitchen 查到kettle的id 一般在第一行比如10983
2、然后kill 10983这个id号
3、更新完 hm.kjb 之后
4、执行 nohup ./kitchen.sh -file hm.kjb >hm.log &
要点2:厦门windows服务器hm-bs.kjb
需要设置后台自动运行这个hm-bs.kjb;目前主要问题都出在这里;另外还有尺码资料一定要正确;
2014-11-23日新增
厦门服务器 桌面上的文件 快捷方式 spoon.bat 是启动数据传输工具;(目前总被关闭)
2014-12-3 新增厦门bstest数据库运维说明
举例:查询毕节85701店铺2014年8月9日的零售小票
bstest数据库是sql server ;
零售小票的正常销售保存在主表LSXHD 和明细表 LSXHDMX
零售小票的退货保存在主表lsthd 和明细表lsthdmx
九爱软件每天的单据在bstest中都汇总成一张单据;
其中LSXHD 主表 djbh是导入时候根据导入时间生成的单据编号;
dm2保存的是店铺编号=gfrom,RQ零售小票日期=iodate
明细表 LSXHDMX中 djh 对应着九爱中的单据号=scripno ;sl对应数量amount ;zk对应折扣 dj对应单价 je对应金额
零售退货主表和明细表字段含义相同
举例:查询毕节店铺8月9日的单据主表编号
select<em>from LSXHD where DM2=85701 and RQ='2014-08-09'
查询 毕节店铺8月9日当日所有正常零售小票;
select </em> from lsxhdmx where djbh in (select djbh from LSXHD where DM2=85701 and RQ='2014-08-09'
)
查询 九爱中店号='AX857012014080900007'的数据上传情况
select <em> from lsxhdmx where djh='AX857012014080900007'
查询九爱零售退货单退货情况
select </em> from lsthdmx where djh='AX857012014080900006'</p>
<p>正常情况如果有没有处理的单据 可以手工执行
exec P_KB_WorkStat '20140723','20140724'</p>
<p>(以下不需要人工执行,除非已经手动删除之前已经导入的单据
零售小票销售存储过程导入 P_KB_LSXHD
exec P_KB_LSXHD '20140723','20140724'
零售小票退货存储过程导入 P_KB_QDTHD
exec P_KB_QDTHD '20140723','20140724')</p>