绩效系统运维手册
文档信息:
版本:V1.0
项目:全行绩效系统
密级:内部
状态:非受控
版 本 历 史

版本/状态 作者 日期 备注
V1.0 汪名森 20190311 创建文档
V1.1 孙绪强 20190314 新增章节

目录
2 适用范围
3 绩效上线登记表
4 绩效问题清单
5 技术运维相关知识
5.1 MYSQL进程杀死方法
5.2 常用MYSQL命令
5.3 MYSQL元数据查询方法
5.4 仓内访问命令及说明
5.5 大数据访问方法及说明
5.6 网络、服务器升级等对批量影响
5.7 批处理异常分析
5.8 shell脚本和存储过程维护方法
5.9 【重要】大数据查询下载
5.10 绩效定时任务作业清单
5.11 查询MYSQL数据表大小情况
5.12 上线关注重点
5.13 查询某时间段内功能使用情况
5.14 主机名更改步骤
5.15 ES常用操作
5.16 ES数据清理监控
5.17 查询表空间占用大小
6 常见业务问题及解决方案
6.1 分行降级调整(李伟钊再修改)
6.2 机构变更调整(李伟钊再修改)
6.3 新增科目识别及参数表维护
6.4 新用户权限配置
6.5 管会新增业务条线(雷健源)
6.6 业务类型字典信息(邢世天)
6.7 数仓上游改动影响分析
6.8 中收明细级业绩关系配置方法
6.9 匡息对照关系表
6.10 机构名称变更
6.11 指标属性配置(刘华智 未完)
6.12 指标批处理异常处理(刘华智)
6.13 【重要】月批加工要点
6.14 日批关注重点
6.15 总分行损益划转核验(田文波补充-0705)
6.16 每月需完成事项(邢世天补充-20191104)
6.17 统一平台添加审计用户
7 数据质量
7.1 前台查询方法
7.2 数据质量查询SQL及说明
7.3 考核指标与机构会计不一致问题分析
7.4 【重要】数据修补维护方法
7.5 基础明细及业绩关系查询SQL
7.6 考核总账相关查询SQL
7.7 指标相关查询SQL
7.8 考核明细及分行接口查询
7.9 个人桌面相关查询SQL
7.10 指标结果备份及数据核对
7.11 核验数据是否修补完成
7.12 数据质量视图
8 数据时效性
8.1 【重要】查询各批次指标加工完成时间
8.2 每日批处理时间分析
8.3 高时效性文件到达时间查看
8.4 高批处理时效性监控方法(华智完善)
8.5 效益批时效性监控方法
8.6 作业批处理日志分析
8.7 指标计算时效性分析
8.8 数据中心进行批次监控方法
9 系统调度
9.1 【重要】停正常批(彦宝添加新的停批方法)
9.2 数据重跑注意事项
9.3 数据追数方法
9.4 作业跑批失败处理方法
9.5 【重要】各业务考核明细重跑方法说明
9.6 【重要】考核总账、利润、指标重跑方法(刘华智-0625)
9.7 GM1、GM2批处理性能优化
9.8 指标批次设计
9.9 调度参数配置方法
9.10 【重要】手工自动以重跑
9.11 重跑时间统计
9.12 上线调度确认单填写
9.13 联合营销重跑
9.14 对公存款扩展属性重跑维护(邢世天-0702)
9.15 上游变更影响分析(肖威)
9.16 【重要】重算上月整月数据注意事项(刘华智-1219)
10 服务器配置
10.1 服务器环境及IP
10.2 服务器间的关系和配置文件
10.3 文件传输说明和清单
11 业务提数脚本(乔秀宇-0819)
11.1 取数流程
12 个人宝典
12.1 王琴
12.2 张兴思
业绩关系查询涉及的相关表
12.3 郝英植
12.4 韩晓佳
12.5 刘华智
12.6 邢世天
12.7 张睿杰
12.8 肖威
12.9 王宏
12.10 傅念
12.10.1.屏蔽 和释放
12.11 信勇
12.12 胡其文
12.13 万梦杰

1 目的

为保证全行绩效系统的正常运行,构建此文档,用于登记绩效运维问题。同时,积累运维经验,构建运维知识库.
绩效运维人员可根据此文档,快速开展常见问题的分析及解决。

2 适用范围

绩效系统运维。

3 绩效上线登记表

上线问题登记表用于登记绩效系统的上线时的问题及上线完成后程序报错、导致其他功能出现缺陷等,表中包含出现问题原因、责任人、目前问题状态及后续改进措施等。此文档详见firefly上99.项目运维下的《中信银行全行绩效管理系统-上线问题登记表》。
上线内容登记表主要用于登记每次全行绩效系统上线内容,内容包含前台、MySQL、大数据、仓内、etlplus等的上线内容。绩效系统每次上线内容均在firefly上有对应的文件夹,上线内容登记表及上线步骤详见firefly上50.项目上线-版本日志下,可通过日期进行查看对应的项目文档、上线内容及上线步骤等。
如上文档,上线问题登记表会在每次上线完成后更新,如有问题则更新,无问题则不更新。上线内容登记表会在每次上线前完成更新,保证每次上线时每次上线内容为最终版本文档。

4 绩效问题清单

用于登记系统系统的问题,含业务测试发现问题、分行问题等,绩效问题清单主要包含功能类问题及数据类问题,问题分类中主要包含问题时间、所属分行、问题分类、问题描述、问题原因、解决方案、预计上线解决时间及问题状态等。此文档详见firefly上50.项目上线-版本日志下的《总分行生产问题汇总表》。
如上文档,绩效问题清单会在总分行提出问题后做不定时的更新,更新后的内容会及时进行跟进,保证功能类及数据类问题的闭环管理。

5 技术运维相关知识

  1. MYSQL进程杀死方法

以杀死0323备份进程为例,说明进程杀死方法。以21.244.75.5/root用户

  1. 进入到mysql客户端(mysql -uepms -p*)

mysql —login-path=root 或者
mysql —login-path=root -S /mysqldata/mysql/bin/mysql1.sock use epms_db;
二、查询当前线程(SHOW FULL PROCESSLIST;)
三、杀死线程为0323的线程(kill 0323;)

  1. 常用MYSQL命令

查看锁表情况
一、查看当前被锁的表
SELECT FROM information_schema.INNODB_LOCKS;
二、查看当前事物
SELECT
FROM information_schema.INNODB_TRX;
三、分析是否有死锁
show engine innodb status\G
四、查看锁等待超时时间
SHOW VARIABLES LIKE ‘lock_wait_timeout’;
查看进程等等

  1. 查看当前进程(SHOW FULL PROCESSLIST;)
    1. MYSQL元数据查询方法

MYSQL存储过程查询
select from information_schema.ROUTINES limit 10
MYSQL数据表查询
select
from information_schema. TABLES limit 10
MYSQL数据表字段查询
select * from information_schema.COLUMNS limit 10

  1. 仓内访问命令及说明

一、数据仓库测试服务器环境
1、客户端
注:本机直接不能访问,需要通过其他机器通过SSH方式访问(如:22.5.65.143)
IP:22.5.231.210
用户名:edwetl
密码:CDE#5tgb
2、服务端(查询工具的连接信息)
a.开发环境
IP:22.5.242.61
用户名:prd_madm
密码:prd_madm_123
IP : 22.5.227.128
用户名:BAT_APP_MADM_DEV
密码:BAT_APP_MADM_DEV_123
位置:CITIC_EDW_DEV下属数据库
b.上线测试环境
IP : 22.5.227.128
用户名:BAT_APP_MADM
密码:BAT_APP_MADM_789
位置:CITIC_EDW下属数据库
3 ETLPLUS
a.开发环境
地址:http://22.5.231.126:9080/etlplus/loginController.do?login=value#
用户名:edwadmin
密码:password
b.上线测试环境
地址:http://22.5.96.90:9080/etlplus/loginController.do?login=value
用户名:edwadmin
密码:password
二、数据仓库生产服务器环境
客户端服务器
IP: 21.244.18.221
用户名/密码:未知,通过堡垒机自动登录
三、目录(测试与生产相同)
1、脚本存放目录
/gpfsedwprog/ETLHOME/script/APP/madm
2、导出文件存放目录
/gpfsedw/T3_MADM
3、ETL_PLUS日志文件目录
/gpfsedwprog/etlplus/CLIENT/LOG/T3-MADM
4、清理策略配置文档存放位置
${ETL_HOME}/file
四、dsql调用方法
1、ETL_PLUS调用
登录ETL_PLUS—作业信息管理-查询出对应的作业名称

  1. 单独执行:不考虑依赖直接启动作业,不触发后续作业
  2. 启动:依赖满足后启动作业,并触发后续作业
  3. 强制启动:不考虑依赖直接启动作业,并触发后续作业

2、客户端后台调用
在etledw用户下 执行以下命令
Dsql -c ${ETL_HOME}etc/logon_app_madm.env –f $file JOB_NAME=‘$job_name’ TX_DATE=’$DATE’
$file:脚本文件名,建议写绝对路径
$job_name:作业名称,一般对应该脚本在ETL_PLUS的作业名称
$DATE:8位的数据日期,yyyymmdd
例子:
Dsql -c ${ETL_HOME}etc/logon_app_madm.env -f ${ETL_HOME}script/APP/madm/edw-epms-t_ep_corp_dpst_acct_info.dsql JOB_NAME=’EDW-EPMS-T_EP_CORP_DPST_ACCT_INFO’ TX_DATE=’20180930’
五、卸数方式
1、ETL_PLUS调用
登录ETL_PLUS—作业信息管理-查询出对应导出的作业名称 执行【单独启动、启动、强制启动】
2、客户端后台
后台调用的是ETL_PLUS的导出脚本导出作业,所以必须先配置有导出作业才能执行面命令
perl /gpfsedwprog/etlplus/script/kit/PubDataExp.pl EDW-MADM-T_EP_CORP_DPST_ACCT_INFO_GM_EXP $DATE
$DATE :8位的日期格式 ,yyyymmdd
六、数据导入
Dsql -c $ETL_HOME/etc/logon_dba.env -f ${ETL_HOME}script/APP/madm /Unifier_Load.dsql DATADB=’MADM_DATA’ DATATB=’$ DATATB ‘ DATAFORME=’DAT’ TX_DATE=’$DATE’ FILE_PATH=’$filepath’
$ DATATB:需要导进的表名
$DATE:8位的日期格式 ,yyyymmdd
$filepath:数据文件所在目录
例子:Dsql -c $ETL_HOME/etc/logon_dba.env -f ${ETL_HOME}script/APP/madm /Unifier_Load.dsql DATADB=’MADM_DATA’ DATATB=’t_ep_grp_up_down_his’ DATAFORME=’DAT’ TX_DATE=’20190228’ FILE_PATH=’/gpfsedw/‘

  1. 大数据访问方法及说明

生产环境
IP:21.244.112.204/21.244.112.205
用户:bdepms1021/dbchk
命令: spark-beeline -u “jdbc:hive2://21.244.112.204:18000/epms_db” -n bdepms1021
测试环境
先登录22.5.65.143(bdepms1021/ bdepms1021@123),然后分别跳转到142机器。
演练测试环境:
IP:22.5.97.142
用户:bdepms1021/bdepms1021@123
命令:spark-beeline -u “jdbc:hive2://22.5.108.171:18000/epms_db” -n bdepms1021
FT测试环境:
IP:22.5.109.35
用户:bdepms1021/bdepms1021@123
命令: spark-beeline -u “jdbc:hive2://22.5.97.144:18000/epms_db” -n bdepms1021
IT测试环境:
IP: 22.5.109.64
用户:bdepms1021/bdepms1021@123
命令: spark-beeline -u “jdbc:hive2://28.4.128.42:18000/epms_db” -n bdepms1021
开发环境
IP: 22.5.65.143
用户:bdepms1021/bdepms1021@123
命令: spark-beeline -u “jdbc:hive2://epms02:18000/epms_db” -n bdepms1021

  1. 网络、服务器升级等对批量影响

因网络、服务器升级等,需要较长时间停批,列举关键注意事项及影响:

  1. 需要将作业要停住时,一般运维的提前将etlplus的并行度改为0,我们要做的是等网络或系统没问题后,及时提醒运维将并行度改为原来的4,并持续跟踪一段时间,防止批处理没有正常启动起来。
  2. 后续遇到的跟进维护。
    1. 批处理异常分析

如果作业层面的日志发现有问题,可查看脚本详细日志进行分析
select * from XTB_XTRZ
where sjsj > 20190318 and sjsj < 20190319
order by sjsj

  1. shell脚本和存储过程维护方法

转义字符 单引号 需转换成两个单引号.
特殊字符需进行再次转义**,例:\n——->\n
<>——->\<>
\”——>\”
插入前检查生产是否正在执行该程序,插入后监控是否更新成功
shell程序:
insert into CSB_SG_CXK (cxmc,cxlx,cxnr) values(lower(‘sh_doshell_190420.sh’),’1’, ‘
#!/bin/sh
export v_dir=pwd
. $v_dir/sh_epmssys_config.sh
echo \”中文名\”
echo \”>\< \”
shLog get_durTime
‘);
存储过程:*
insert into CSB_SG_CXK (cxmc,cxlx,cxnr) values(‘SP_EPMSSYS_LOG4’,’2’,’
delimiter //
DROP PROCEDURE IF EXISTS SP_EPMSSYS_LOG4;
//
CREATE PROCEDURE SP_EPMSSYS_LOG3(IN V_SJMC VARCHAR(4000),IN V_SJMS VARCHAR(4000))
BEGIN
/
####################################
存储过程:调试记录写入LOG表里
功能描述:把调试记录写入LOG表里
输入参数:V_SJMC—事件名称,一般为存储过程名称
V_SJMS—事件描述,一般为动态SQL
作者:ZHANGRJ
日期:20180629
调用范例: SP_EPMSSYS_LOG(‘’SP_EMPSSYS_LOG’’,’’SELECT FROM ZXYHPAS.XTB_LOG’’)
####################################
/
DECLARE I_LOG INTEGER;
IF EPMS_F_EXISTS_RECORD(‘’ZXYHPAS.XTB_XTCS’’,’’WHERE UPPER(CSMC)=’’’’SYS_STATUS’’’’’’)=0 THEN
SET I_LOG=0;
ELSE
SELECT CAST(IFNULL(CSZ,0) AS SIGNED INTEGER) INTO I_LOG
FROM ZXYHPAS.XTB_XTCS WHERE UPPER(CSMC)=’’SYS_LOG’’;
END IF;
IF I_LOG=1 THEN
INSERT INTO ZXYHPAS.XTB_LOG(SJDH,SJSJ,SJMC,SJMS) VALUES (SE_XTB_LOG.NESTVAL,V_SJMC,V_SJMS);
COMMITt;
END IF;
— LIUHZ
# HELLO
END
//
‘)
说明insert示例,建议先在系统中,构建脚本模板,如存储过程执行、shell脚本cp、执行日志监控等。
注意事项:

  1. 注意程序名大小写
  2. 注意程序类型,其中shell脚本为1,存储过程为2
  3. 在程序结尾加上”exit 0 ”,再输入空行
  4. 单引号转为两个单引号
    1. 【重要】大数据查询下载

单表查询示例:
insert into CSB_ZXSQL(VSQL,CZR) values (‘SELECT FROM EPMS_JCMX_DGCK’,lower(‘wangmingsen’))
多表时,需明确字段
insert into CSB_ZXSQL(VSQL, CZR) values (‘SELECT CK.ZH,YJ.HYDH,YJ.FPBL FROM EPMS_JCMX_DGCK CK INNER JOIN EPMS_YJGX_FPMX YJ ON CK.ZH=YJ.ZH AND MX.TJRQ=20190101 AND MX.YWLX=’’1’’’,lower(‘wangmingsen’))
—查询业绩关系
insert into CSB_ZXSQL(VSQL,CZR) values (‘select
from epms_yjgx_fpmx where zh=7323016120000463210 and ywlx=1 and tjrq = 20190430’,lower(‘wangmingsen’));
—-查询 对公存款扩展属性,查看客户清单标识是否生效
insert into CSB_ZXSQL(VSQL,CZR) values (‘SELECT FROM EPMS_KZSX_DGCK where tjrq=20190531 and zxmdzkhbs like ‘’%00006%’’’,lower(‘wangmingsen’))
—-查询 前台传入的客户专项标识
insert into CSB_ZXSQL(VSQL,CZR) values (‘SELECT
FROM EPMS_SGLR_KHMDBS where qsrq=20181231 and bsbh like ‘’%00001%’’’,lower(‘wangmingsen’))
查询业绩关系任务:
insert into CSB_ZXSQL(VSQL,CZR) values (‘select from epms_yjgx_fpmx where zh=7323016120000463210 and ywlx=1 and tjrq = 20190430’,lower(‘wangmingsen’));
如果有单引号, 则添加 单引号做转义
查看输入的SQL
select convert(vsql using utf8),czsj,czr,lsh,cxzt from CSB_ZXSQL order by lsh desc limit 10
查看定时任务执行时间:
select
from XTB_ETLDDRZ WHERE ZYSM LIKE ‘%A22%’ ORDER BY 1 DESC LIMIT 10;
查看文件生成目录,下载可通过前台下载
Select from ASY_DOWNLOAD_INFO order by STAMP desc limit 100
关键字典项说明如下:
绩效系统运维手册 - 图1
系统参数:
delete from XTB_XTCS where csmc=’DIR_LHCX’;
insert into XTB_XTCS(csmc,zdbz,csms,csz) values(‘DIR_LHCX’,’0’,’MYSQL灵活查询大数据文件落地区’,’/etlplus/shell/‘);
delete from XTB_XTCS where csmc=’LHCX_LIMIT’;
insert into XTB_XTCS(csmc,zdbz,csms,csz) values(‘LHCX_LIMIT’,’0’,’MYSQL灵活查询限制条数’,’limit 100’);
delete from XTB_XTCS where csmc=’LHCX_WJGS’;
insert into XTB_XTCS(csmc,zdbz,csms,csz) values(‘LHCX_WJGS’,’0’,’MYSQL灵活查询文件保留个数’,’50’);
大数据文件下载方法只需在前端参数查询面板维护vsql字段和操作人登录账户即可,但注意在前端时,会把代码封装成大写,所以要注意要加lower()方法转小写;
注意:
1.维护CZR操作人字段要lower()方法转小写
2.查询不需加分号”;”和”limit 条数”条件,limit条数通过系统参数设置;
3.单表查询时,可以SELECT
FROM 表名:用查询所有数据,多表关联时,需要把具体字段写在查询条件中,不然数据表文件无法在大数据自动生成。
4.条件中用到单引号,需要替换成2个单引号。
单表查询示例:
insert into CSB_ZXSQL(VSQL,CZR) values (‘SELECT
FROM EPMS_JCMX_DGCK’,lower(‘wangmingsen’)
insert into CSB_ZXSQL(VSQL, CZR) values (‘SELECT CK.ZH,YJ.HYDH,YJ.FPBL FROM EPMS_JCMX_DGCK CK INNER JOIN EPMS_YJGX_FPMX YJ ON CK.ZH=YJ.ZH AND MX.TJRQ=20190101 AND MX.YWLX=’’1’’’,lower(‘wangmingsen’)
—查询业绩关系
insert into CSB_ZXSQL(VSQL,CZR) values (‘select from epms_yjgx_fpmx where zh=7323016120000463210 and ywlx=1 and tjrq = 20190430’,lower(‘wangmingsen’));
查询业绩关系任务:
insert into CSB_ZXSQL(VSQL,CZR) values (‘select
from epms_yjgx_fpmx where zh=7323016120000463210 and ywlx=1 and tjrq = 20190430’,lower(‘wangmingsen’));
如果有单引号, 则添加 单引号做转移
查看输入的SQL
select convert(vsql using utf8) from CSB_ZXSQL order by lsh desc limit 10
查看定时任务执行时间:
select from XTB_ETLDDRZ WHERE ZYSM LIKE ‘%A22%’ ORDER BY 1 DESC LIMIT 10;
查看文件生成目录,下载可通过前台下载
select
from ASY_DOWNLOAD_INFO order by STAMP desc limit 100

  1. 绩效定时任务作业清单

每隔五分钟扫描一次的定时任务:
EPMS_PROGRAM_LISTENE:更新程序。对应ETLPLUS中的A21作业
EPMS_YSZBJS:mysql跑衍生指标。现在mysql和大数据拆开,分别翻牌,这部分时mysql读取任务表,跑衍生指标的,主要是计算各作业流发布的衍生指标计算任务数据,专门计算衍生指标的。
EPMS_CSDD:重算调度,数据处理到基础指标,不包含衍生指标计算,但会发起衍生指标计算的任务,由EPMS_YSZBJS继续往下执行。
EPMS_ZSDD:追数调度,数据处理到考核总账,不包含指标计算。
EPMS_QUERY_SQL_LHCX:大数据的灵活查询及文件下载。对应ETLPLUS中的A22作业
EPMS_SGDD_ZXCX: 灵活手工调度。对应ETLPLUS中的A23作业
EPMS_DELETE_LINK: 定时清理重算支线生成的link。对应ETLPLUS中的A20作业
EPMS_SJHCDD: 定时做数据回仓任务,主要是MySQL向数仓传输数据。

  1. 查询MYSQL数据表大小情况

select TABLE_NAME,DATA_LENGTH/1073741824.00 as GB
from information_schema.TABLES order by DATA_LENGTH desc LIMIT 100
每天监控mysqldata空间占用情况
登录 21.244.75.5 使用linux命令 df -h

  1. 上线关注重点
  2. 查询某时间段内功能使用情况

select * from XTB_YYRZ where sjsj between 20190701 and 20191001 group by xmdh order by sjsj desc;
一、投产前:
1)查看服务器空间情况,对空间增长要准确预估,以免因空间问题生产告警;
2)完成上线总控表,明确上线后重跑任务;
3)代码走查/代码互查,责任落实到人,确定上线代码没有走查/互查过程中发现的问题;
4)对投产日指标进行备份,对比投产前后指标情况。
二、投产后:
1)查看批处理时长是否变化(见8.1)(正常日+重跑日);
2)核对数据质量(见7.1)
3)对比备份后指标是否符合预期,无问题则清理备份数据。

  1. 主机名更改步骤

    1. 更改步骤

    1)cat /etc/hosts,查看本机ip对应名称是否与原有主机名一致,若不一致修改
    2)cat /etc/sysconfig/network,查看HOSTNAME名字是否与主机名一致,若不一致修改
    3)保证/etc/hosts 文件中主机名与/etc/sysconfig/network文件中主机名一致
    4)修改完成后执行:hostname 主机名
    5)确认修改是否成功:hostname,确认显示的主机名是否与修改的主机名一致

  2. ES常用操作

    1. 查询ES任务情况

1)select * from quota_drilldown_task order by task_id desc limit 600
注:

  1. quota_drilldown_task:指标下钻状态任务表,所有ES导入作业都会存在该表中
  2. state:任务状态,0:待跑,1:执行中,2:作业成功,3:作业失败,5:已清理
  3. difference:hdfs数据量与es数据量差值。0代表无问题
  4. 根据条件查询ES
  5. 写好查询语句,需在测试环境测试是否有问题。测试无误后修改ip及密码

curl -H “Content-Type: application/json” 21.244.113.4:9200/epms_zbxzmx_lr/epms_zbxzmx_lr/_count?pretty -ubdepms1021:Citic@9877 -d ‘{
“size”:0,
“query”: {
“bool”: {
“must”: [
{ “match”: { “tjrq”: “20190131”}}
]
}
},

  1. 放入doshell脚本中,注意,字符需转义,需将查询结果输出到文件中,末尾要加exit 0

insert into CSB_SG_CXK (cxmc,cxlx,cxnr) values(lower(‘sh_epmsdoshell_190419.sh’),’1’, ‘
curl -XGET 22.5.97.211:9200/epms_zbxzmx_dgck/epms_zbxzmx_dgck/_count?pretty -ubdepms1021:Citic@987 -d \’{
\”query\”: {
\”bool\”:{
\”must_not\”:[
{\”term\”:{\”kmh\”:\”24801\”}},
{\”term\”:{\”kmh\”:\”27310\”}}
]
, \”filter\”:{
\”bool\”:{
\”should\”:[
]
}
}
, \”filter\”:{
\”bool\”:{
\”should\”:[
{\”range\”:{
\”ftplxjsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhnrjye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”ye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yrjye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jrjye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nrjye\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhftpsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”ftpsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljftpsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljftpsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljftpsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhwblxzc\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”wblxzc\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljwblxzc\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljwblxzc\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljwblxzc\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhckzbjcb\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”ckzbjcb\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljckzbjcb\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljckzbjcb\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljckzbjcb\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhckbxf\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”ckbxf\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljckbxf\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljckbxf\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljckbxf\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”zhyyfy\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yyfy\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yljyyfy\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jljyyfy\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”nljlcsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”yyjsr\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”shjlrfyhbbq\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jjlrfyhbbq\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”jqftpjg\”:{\”lt\”:\”0\”}
}},
{\”range\”:{
\”ftplxjsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhnrjye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”ye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yrjye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jrjye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nrjye\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhftpsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”ftpsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljftpsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljftpsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljftpsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhwblxzc\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”wblxzc\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljwblxzc\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljwblxzc\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljwblxzc\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhckzbjcb\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”ckzbjcb\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljckzbjcb\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljckzbjcb\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljckzbjcb\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhckbxf\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”ckbxf\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljckbxf\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljckbxf\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljckbxf\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”zhyyfy\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yyfy\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yljyyfy\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jljyyfy\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljlcsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”yyjsr\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”shjlrfyhbbq\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jjlrfyhbbq\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”jqftpjg\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljyyfy\”:{\”gt\”:\”0\”}
}},
{\”range\”:{
\”nljyyfy\”:{\”lt\”:\”0\”}
}}
]
}
}
, \”filter\”:{
\”bool\”:{
\”should\”:[
{\”term\”:{\”bz\”:\”0B\”}},
{\”term\”:{\”bz\”:\”156\”}}
]
}
}
,\”must\”:{
\”term\”:{
\”bbbs\”:\”20200603204040\”
}
}
,\”must\”:{
\”term\”:{
\”tjrq\”:\”20191130\”
}
}
}
}
}\’ | tee -a /attcfile/downloads/账户明细数据表ztmp_lsb_lhcx5960.dat
exit 0
‘);

  1. 插入doshell的手工任务

    insert into XTB_SGDDRWB(CXBH,DDRQ) VALUES(990081,20200607);

  2. 待手工任务跑完后下载对应文件即可得到查询结果

    1. ES数据清理监控

一、查看清理作业是否启动
select from XTB_ETLDDRZ WHERE ZYSM LIKE ‘%EPMS_D_Z_ZBXZMX_QLZY_470%’ ORDER BY 1 DESC LIMIT 10;
二、验证清理策略:仅保留月末+近7天数据,非保留天数的清理
select
from quota_drilldown_task where state=2 order by 1 desc limit 1000;
查看statistic_date字段,是否非保留天数的已被清理

  1. 查询表空间占用大小
    1. 查询数据库内表占用空间大小排名

SELECT table_name, data_length + index_length AS len, table_rows,
CONCAT(ROUND((data_length + index_length)/1024/1024/1024,2),’GB’) AS datas
FROM information_schema.tables
WHERE table_schema = ‘epms_db’
ORDER BY len DESC;

  1. 查询指定表的分区占用空间大小

select PARTITION_NAME,CONCAT(ROUND((data_length + index_length)/1024/1024/1024,2),’GB’) AS datas
from information_schema.PARTITIONS
where table_name= ‘EPMS_BBSJ_DGKHCKRJYE_HY_LOG’ AND PARTITION_NAME< ‘p20200529’
ORDER BY PARTITION_NAME DESC LIMIT 2000

  1. 短信监测(王琴)
    • 跑批短信通知,每三小时通知一次。其中短信解读如下:

[lj]:Last Job,表示当前数据日期,上一个执行作业及执行的数据日期。譬如数据日期为20200913,上一个结束作业为20200913的EPMS_D_KHZZ_HYKH_LR_34。
[rj]:Running Job,表示正在执行作业
[tl]:To Load,表示待加载作业
[ei]:Error Information,表示报错信息。其中”NE”为无报错信息
绩效系统运维手册 - 图2

  • 系统访问量短信通知,每天推送一条,解读如下:

day_uv:(Unique Visitor) 指定数据日期(通常为上一个数据日期)的用户访问量,以Cookie为依据统计;
day_pv:(Page View) 指定数据日期(通常为上一个数据日期)的页面点击量;
max_hour_uv: 指定数据日期(通常为上一个数据日期)的用户访问高峰时间和访问量;
max_hour_pv: 指定数据日期(通常为上一个数据日期)的页面访问高峰时间和访问量。
绩效系统运维手册 - 图3

  • 规模批发布时间通知

绩效系统运维手册 - 图4

  • 关键作业短信监测 | 业名 | 作业说明 | 每日批处理最迟结束时间(T+1) | | —- | —- | —- | | EPMS_M_Z_LOAD_DGCK_180 | 规模批1对公存款加载 | yyyy-MM-dd 04:00:00 | | EPMS_D_Z_ZBTJ_SUM_GM1_29 | 规模批1基础指标汇总 | yyyy-MM-dd 07:00:00 | | EPMS_D_Z_LOAD_GRCKXY_325 | 个人存款效益文件加载 | yyyy-MM-dd 20:00:00 | | EPMS_D_Z_ZBTJ_BNQTYWXY_386 | 表内其他基础指标加工完成 | yyyy-MM-dd 23:00:00 |
作业名 依赖关联系统 影响范围 每日批处理开始时间(T+1)
EPMS_M_Z_LOAD_JGHYXX_1 CBSP 机构用户数据,影响高时效性指标发布 T+1 4:30:00
EPMS_D_Z_LOAD_SAPKMFY_480 SAP 影响效益指标发布及营业费用报表数据 T+1 4:30:00
EPMS_D_Z_LOAD_DGCKGM_185 GDM 影响高时效性指标发布 T+1 4:30:00
EPMS_D_Z_KHZZHWFH_LR_489 海外分行集市 影响效益批指标 T+1 18:00:00
EPMS_D_Z_LOAD_CPGS_437 总行提数集市 产品覆盖度数据,影响客户数指标 T+1 18:00:00
EPMS_D_Z_LOAD_YXDF_439 总行提数集市 影响客户数指标 T+1 18:00:00
EPMS_D_Z_LOAD_YXDFKHS_467 GDM 影响客户数指标 T+1 18:00:00
EPMS_D_Z_FHJKH_55 GDM 影响客户数指标 T+1 18:00:00
  1. 生产和测试环境异常检测(张睿杰)

    6 常见业务问题及解决方案

  2. 分行降级调整(李伟钊再修改)

    • 数据准备: 20190115 、 20190116 、 20190117三天数据,并且已经跑出指标和报表数据(调度)。
    • 备份所有相关数据修改的表(MYSQL)。
    • 查询机构手工基数、机构基数调整、机构指标调整、机构计划、基数调整项目、指标调整项目功能是否存在东莞分行、广州分行的数据,如果存在,需要和业务商定处理方法:广州分行的基数、指标调整值、计划是否需要修改?东莞分行使用基数调整项目、指标调整项目是否迁移到广州分行?(MYSQL)
    • 查询账户明细标识、客户名单标识、分行编码、行员脱钩设置、推荐号启用设置、考核分组功能是否存在东莞分行、广州分行的数据,如果存在,需要和业务商定处理方法:东莞分行使用分行编码、行员脱钩设置、推荐号启用设置不用处理;东莞分行使用的账户明细标识、客户名单标识、考试分组是否迁移到广州分行?(MYSQL)
    • 业绩关系调整,驳回所有东莞分行待审批数据,总行待审批(明细、产品、客户),分行待审批(明细、产品、客户) (MYSQL)。
    • 更新东莞分行所有业绩的一级分行号为广州分行,总行业绩关系(明细、产品、客户),分行业绩关系(明细、产品、客户) (MYSQL)。
    • 查询是否存在东莞分行的指标使用范围数据,如果存在,则更新为广州分行(MYSQL)。
    • 机构管理功能调整东莞分行的机构分类,上级机构和生效日期(20190116)。(检查修改的内容是否改变、检查东莞分行及下辖机构的一级分行号是否改变)(前端)
    • 跑数:第一次跑数,基础指标计算+衍生指标+报表数据,连续跑20190115、 20190116、 20190117三天的数据,检查指标是否与备份数据一致(15数据不变,16东莞分行数据不变,广州分行=原广州分行+东莞分行)(调度与测试)。
    • 跑数:第二次重跑20190116的调度,MYSQL推所有参数到大数据至跑出报表数据,检查指标是否与备份数据一致(东莞分行数据不变,广州分行=原广州分行+东莞分行) (调度与测试)。
    • 跑数:第三次重跑20190117的调度,MYSQL推所有参数到大数据至跑出报表数据,,检查指标是否与备份数据一致(东莞分行数据不变,广州分行=原广州分行+东莞分行) (调度与测试)。
    • 跑数:第四次重跑20190115的调度,跑出指标,检查指标是否与备份数据一致(指标数据不变)。(调度与测试)
    • 权限修改:东莞分行的管理员和管理层的角色都需要降一级(客户经理除外)[CBSP]。
  3. 机构变更调整(李伟钊再修改)
    • 数据准备: 20190115 、 20190116 、 20190117三天数据,并且已经跑出指标和报表数据(调度)。
    • 备份所有相关数据修改的表(MYSQL)。
    • 查询机构/行员手工基数、机构/行员基数调整、机构/行员指标调整、机构/行员计划、基数调整项目、指标调整项目功能是否存在原机构号的数据,如果存在,则需要和业务确定删除还是直接更新数据?(MYSQL)
    • 查询是否存在原机构号及下辖机构待审批业绩,如果有则驳回所有原机构待审批数据,分行待审批(明细、产品、客户) (MYSQL)。
    • 查询是否存在原机构号及下辖机构业绩关系,如果有,则每人创建一个虚拟行员挂分行,把业绩转移到个人的虚拟行员, 分行业绩关系(明细、产品、客户) (MYSQL) 。
    • 如果2、3、4步查询出来有考核数据和业绩关系,则需要按三种情况更新机构行员信息【三、机构行员调整更新】,改造新增机构号通过前端机构管理功能导入,并把业绩从虚拟行员转移给原行员。 (MYSQL+前端)
    • 如果2、3、4步查询出来没有考核数据和业绩关系,则需要按【三、机构行员调整更新】 中的1、3情况处理原机构号的机构和所属行员信息,改造新增机构号通过前端机构管理功能导入。 (MYSQL+前端)
    • 跑数: MYSQL推所有参数到大数据至跑出报表数据,连续跑20190115、 20190116、 20190117三天的数据,检查指标是否与备份数据一致(总行一致,根据不同情况分析原机构号和改造新机构的业绩是否一致)(调度与测试)。
  4. 新增科目识别及参数表维护

1、当前系统中提供了 应用管理-》新增科目对照表,进行新增科目的查询,其背后的SQL脚本为
SELECT A.KMH,A.KMMC
FROM CSB_KM A
LEFT JOIN CSB_QKM B ON A.KMH=B.EJKMH
WHERE B.EJKMH IS NULL
and A.KMH not like ‘’%00’ limit 10 —-该语句为或有,如果未添加,输出结果应为210条。如果添加,则有4个科目。
2、在确认有新增科目后,需在 全科目维护中维护此科目的模型归属。
注意,需与业务人员确认 正负号、模型归属。另外,一旦确认了模型归属,务必务必不能改变,否则可能出现该科目数据出现在两个业务模型的情况。

  1. 新用户权限配置

如何给新入职人员配置权限,包括sso用户申请,权限配置。
(1)绩效系统角色说明:
注:特殊角色说明:
系统管理员:epms_admin_admin
分行管理员对辖内人员有管理权限:
1.该分行管理员必须是:epms_admin、epms_admin_pribrch(系统管理员添加)
2.提供用户统一编号:绩效项目组走CSBP添加分行管理员流程上线
(2)导入角色模板
绩效系统运维手册 - 图5
注:模板顺序必须一致
(3)一般用户的添加
1.系统管理员登录epms.nsso.citicbank.com
2.1少量用户:
选择“角色管理”》选择”EPMS-绩效系统”》选择用户需要角色的“人员管理“》“新增”》输入”用户统一编号”》“确认”
2.2大量用户:
选择“角色管理”》选择”EPMS-绩效系统”》选择“导入角色人员”》导入模板(参照(2))》“确认”

  1. 管会新增业务条线(雷健源)

在仓内、大数据、MYSQL应该如何调整

  1. 业务类型字典信息(邢世天)

技术字典列表如下:(注意:业务字典有单独的表)
‘1’—— ‘对公存款’; ‘2’—— ‘对公存款’; ‘3’—— ‘同业负债’; ‘4’—— ‘对公贷款’; ‘5’—— ‘个人贷款’; ‘6’—— ‘信用卡’; ‘7’—— ‘同业资产’; ‘8’—— ‘票据业务’; ‘9’—— ‘代发工资业务’; ‘10’—— ‘托管 ‘; ‘11’——‘应收款项投资’; ‘12’——‘表外业务’; ‘13’——‘中间业务收入’; ‘14’——‘债券投资 ‘; ‘15’——‘无 ‘; ‘16’——‘理财负债’;
业务字典表信息

  1. 数仓上游改动影响分析

当PDM、GDM有表变动,或者数据异常时,需要分析对绩效是否有影响。基本思路是是根据上游邮件通知的表名,确定在绩效仓内的代码中是否有被引用,如果被引用了则分析绩效读取了哪些字段,是否与当次上游的变动相关。同时也可以按作业依赖分析,确定上游的修改的作业是否有被依赖。
仓内代码路径:$FF/30.项目开发/仓内Excel映射文件V03
工具:$FF/91软件安装\附件2:文件查找工具(Search and Replace).rar
该工具可以按关键字搜索整个文件夹里的文本文件,压缩包里也有相应的操作说明。
确定作业依赖是否有影响:
ETL_PLUS配置:$FF/30.项目开发\仓内Excel映射文件V03\ETLPLUS配置

  1. 中收明细级业绩关系配置方法

方法一:通过 分行级业绩关系分配,查询后下载。
绩效系统运维手册 - 图6
方法2:
对总行下发的账户级业绩关系分配明细,选择中收业务,然后取各个中收账户的min(生效日期)
select zh, min(tjrq) from epms_fhxf_lsb_yjgx_fpmx where ywlx=’13’ group by zh;

  1. 匡息对照关系表

匡息对照表详见 $FF\92参考及培训文档\匡息对照表

  1. 机构名称变更
    1. 总营更改名称操作步骤
  2. 登录全行绩效管理系统,点击“考核对象管理”模块
  3. 点击“机构管理”功能。
  4. 依次点击总行营业部—-编辑按钮
  5. 修改机构名称为“北京分行”,点击保存

    1. 总营更改名称测试点

    2 . 1 在“机构管理”功能查询该机构名称是否更改成功
    2 . 2 在“行员管理”功能查询该机构公共户名称是否更改成功
    2 . 3 在机构控件里查询该机构名称是否更改成功
    2 . 4 在行员控件里查询该机构公共户名称是否更改成功
    2 . 5 跑数后,在“机构指标查询”功能查询该机构名称是否更改成功
    2 . 6 跑数后,在“行员指标查询”功能查询该机构公共户名称是否更改成功

  6. 指标属性配置(刘华智 未完)

以添加产品覆盖度模型为例,说明整个指标配置的过程
背景:指标配置,从总账模型出数据,固定配置的条件有3个统计口径和币种,所以在设计考核总账模型时,须有必不可少的统计口径和币种两个字段。机构会计和机构考核需含KHJG、BZ字段,行员考核需含HYDH、BZ字段。
指标配置字段在CSB_ZBSJYB,其中条件属性字段结合CSB_DMMS生成键值对,便于指标配置条件。
见 FF\EMPS\30.项目开发\中信总行绩效考核系统数据初始化_v1.0.xlsx 文件

  1. 如果在配置指标时,有配置缺少币种等问题的原因,可以在前台sql面板修改表LSB_ZBGSJX中的字段zcgs和zbgz对应的值,在后面加上币种就可以了。
    1. 指标批处理异常处理(刘华智)

指标批处理异常,错误原因基本分为2类,1.数据重复,
先查看XTB_XTRZ
SELECT * FROM XTB_XTRZ WHERE SJLY=’出错的存储过程’ ORDER BY 1 DESC LIMIT 10 ;

  1. 【重要】月批加工要点
    1. 查看数据质量情况,维护修补科目信息(月底前维护)

1)关注损益科目差异,见 7.1前台查询方法
2)做科目修补,见7.4数据修补维护方法

  1. 维护清单范围(月底前维护)

以便在批处理前,将其跑入考核明细。(检核方法见 5.9大数据查询下载 章节)
尤其是00005、00006、00007清单标识,检核数据质量

  1. 与业务沟通时间,重跑上月整月数据
  2. 重新维护业绩关系,放开业绩关系的日期范围(含联合营销)
  3. 重新维护账户、客户清单标识,需提前一日维护好
  4. 重新维护修正科目状态
  5. 重跑考核明细-》考核总账-》考核指标,重跑转换程序。见9.5、9.6、9.10章节
  6. 每月完成后备份相关数据文件,包括 数据质量核对情况表、各分行利润考核表等
    1. 日批关注重点
  7. 检核数据质量,查看数据质量核对情况表;
    1. 参照7.1 前台查询方法
    2. 数据质量如有问题,参照7.4 对数据进行修补
  8. 查看新增科目情况,参照6.3 新增科目识别及参数表维护
  9. 查看批处理时效性,参照8.1 查询各批次指标加工完成时间
  10. 重点查验当日趋势图是否存在过度增长或过度下降现象,如存在,则需确认其下级指标是否存在问题,同步查验规模检核表确认问题科目及指标,指标检验方法可以初步通过比上日简单验证,如发现,可以取上上日指标进行替换,维持指标趋势图稳定。
  11. 如当前时间无重跑任务,且时效性不满足t+1,则需确认数据跑批是否发生异常。
    1. 总分行损益划转核验(田文波补充-0705)

如何确认数据质量

  1. 每月需完成事项(邢世天补充-20191104)

修整CSB_XZKM,视当前数据质量及管会数据下发情况维护
如管会数据月末未下发,则不可维护71001科目,如管会数据已经下发,则不可维护47101科目

  1. 统一平台添加审计用户
    1. 问题描述:生产添加审计用户,登录后,首页报错,不能使用,如下图

绩效系统运维手册 - 图7

  1. 问题定位:统一平台,人员机构,选择“绩效系统”,输入当前要查看的用户“XXX”,

点击该用户名,弹出用户基本信息,”人事编号”为空,正常用户如下图(来源:测试环境)
绩效系统运维手册 - 图8

  1. 问题解决:
  2. 联系统一平台,将该用户的“人事编号”按“统一用户编号”去掉首字母修改;
  3. 审计用户为特殊用户,在绩效系统不存在:

绩效系统-考核对象管理-机构行员管理-行员管理,新增行员,挂靠机构(业务确认),行员名称与提供用户登录名一致
绩效系统运维手册 - 图9
select from KHDX_HY WHERE HYDH=’9000046X’(虚拟行员行员代号)
limit 10;
select
from KHDX_HY WHERE HYDH=’XXX’(统一平台人事编号)
limit 10;
注意:修改前,统一平台的人事编号不能与绩效系统KHDX_HY中不能重复
UPDATE KHDX_HY SET HYDH=’与统一平台一致,人事编号’ where hydh =’9000046X’’(虚拟行员行员代号);
UPDATE KHDX_JGXY SET HYDH=’与统一平台一致,人事编号’ where hydh =’9000046X’’(虚拟行员行员代号);
用limeng系统管理员,将该用户添加到业务所需的角色中。

7 数据质量

  1. 前台查询方法

查询 应用管理->数据核对情况 。
针对全年数据,如下条件查询年累计数。针对本金科目,则是年积数,针对损益科目,则是余额(即年发生额)。针对下述查询中,有如下注意事项:
(1)123、124科目的总分不平,但12301、12302差额互为正负。12303与12304、12401与12402、12403与12404科目同理。
(2)11302 、11310、11502、11503、20302 、20303 、20305 、20308 、20309 、20321 、20322、40304、40302、45303、40326等科目涉及同业、应收投资款等上收,全行应无差异,但各分行有差异。
(3)FTP相关指标,以FTP+本金科目方式展示
绩效系统运维手册 - 图10
针对当日时点余额和当日损益,可按照如下条件查询。有如下注意事项:
(1)查询对象为仓内的数据质量检核情况,可判断某一日的数据是否有问题。
绩效系统运维手册 - 图11

  1. 数据质量查询SQL及说明
    1. 利润模型客户化率查询方法

select tjrq,kmh,bz, sum(fzsy) fzsy,sum(bcsy) bcsy,sum(cz) cz,sum(blsy) blsy,sum(mxsy) mxsy,sum(zzsy) zzsy
from XTB_LRHDQK
where tjrq = 20190110 and kmh like ‘4%’ and abs(cz)>1000 and KMH not like ‘405%’ and KMH not like ‘455%’
group by tjrq,kmh,bz

  1. 利润模型数据质量查询方法

select a.kmh,a.bz,(a.fzsy-b.fzsy) as a ,(a.zzsy-b.zzsy) as f from (
select kmh,bz, sum(fzsy) fzsy,sum(bcsy) bcsy,sum(cz) cz,sum(blsy) blsy,sum(mxsy) mxsy,sum(zzsy) zzsy
from XTB_LRHDQK
where tjrq =20181210
group by kmh,bz
) a left join (select kmh,bz, sum(fzsy) fzsy,sum(bcsy) bcsy,sum(cz) cz,sum(blsy) blsy,sum(mxsy) mxsy,sum(zzsy) zzsy
from XTB_LRHDQK
where tjrq =20181209
group by kmh,bz
) b on a.kmh=b.kmh and a.bz=b.bz

  1. 考核总账数据质量查询方法

select a.ejkmh,a.kmlx,b.bz, sum(b.mxzhzye) as mx,sum(b.kjkmye) as gl,abs(sum(b.mxzhzye))-abs(sum(b.kjkmye)) as cz
from (select distinct ejkmh,kmlx from CSB_QKM) a left join XTB_SJHDQK b on a.ejkmh=b.kmh
where tjrq=20181210 and hdlx=2 and bz not in (‘WB’,’0C’) and EJKMH not like ‘4%’
group by a.ejkmh,a.kmlx,b.bz

  1. 基础明细(仓内)数据质量查询方法

select a.kmh,a.bz,b.kmlx,sum(kjkmye),sum(jxbchhzye),abs(sum(kjkmye))-abs(sum(jxbchhzye))
from XTB_CNSJHDQK a inner join (select distinct ejkmh,kmlx from CSB_QKM) b on a.kmh=b.ejkmh
where a.tjrq=20190110
group by a.kmh,a.bz,b.kmlx

  1. 考核指标与机构会计不一致问题分析

背景:重算20181231的数据后,总行机构考核指标与机构会计指标不等,但机构会计口径是与理论值相等,所以考核口径指标有问题;同时,行员考核口径汇总起来与机构会计口径数值一直,可以初步定位问题出现在机构级别汇总;
思路:1.挑选一个典型指标,把行员考核按照一级分行汇总,然后与机构考核按照一级分行比较,找到差异的一级分行;
2.然后按差异的一级分行的二级分行去汇总,与机构考核按照二级分行比较,找到差异的二级分行;
3.依此类推,找到出现问题的具体机构;机构的层次有5层,可在有穷的步骤里定位到问题原因;
步骤1:按照一级分行汇总
—sql1:行员考核按照一级分行汇总
select tjrq,zbbh,bz,2 as tjdx,JG.YJFHH ,sum(zbz) AS ZBZ from yjzb_hy zb
inner join khdx_jgcy jgcy on zb.hydh=jgcy.hydh and 20181231 between jgcy.qsrq and jgcy.jsrq
inner join khdx_jg jg on jgcy.jgh=jg.jgh
where tjrq=20181231 and zbbh = ‘70110004361’ and bz = ‘156’ group by tjrq,zbbh,bz,JG.YJFHH
—sql2:机构考核按照分行汇总
select tjrq,zbbh,bz,tjdx,jgh,sum(zbz) from yjzb_jg where tjrq=20181231 and zbbh = ‘70110004361’ and bz = ‘156’ group by tjrq,zbbh,bz,tjdx,jgh
— 20190214 按照行员考核的一级分行号汇总导出,通过vlookup比较,发现 select FROM KHDX_JG WHERE JGH IN (‘733990’,’739109’,’744000’) 杭州 广州 郑州三个机构的口径数据丢失
步骤2:比较,导出EXCEL,通过vlookup比较一级分行的差异,发现杭州 广州 郑州三个机构的口径数据丢失,
步骤3:二级分行比较难找,没有哪一张表会记录行员所在机构的二级分行,需要手工整理部分数据,所以需把机构的上面4层机构都查询出来
以广州分行(744000)为例:
最上面3层机构层级的数据可能为空,所以需要left join 并对查询字段做非空处理,
—sql3:
select a.yjfhh,a.jgh,cc.sjjgh as sjjgh1, coalesce(cc2.sjjgh,2) as sjjgh2,coalesce(cc3.sjjgh,3) as sjjgh3,coalesce(cc4.sjjgh,4) as sjjgh4, sum(zbz) as zbz from (
select tjrq,zbbh,bz,2 as tjdx,jg.yjfhh,jg.jgh,sum(zbz) as zbz from yjzb_hy zb
inner join khdx_jgcy jgcy on zb.hydh=jgcy.hydh and 20181231 between jgcy.qsrq and jgcy.jsrq
inner join khdx_jg jg on jgcy.jgh=jg.jgh
where tjrq=20181231 and zbbh = ‘70110004361’ and bz = ‘156’ and jg.yjfhh=’744000’
group by tjrq,zbbh,bz,jg.yjfhh,jg.jgh
)a
inner join khdx_jgcc cc on a.jgh=cc.jgh and 20181231 between cc.qsrq and cc.jsrq
left join khdx_jgcc cc2 on cc.sjjgh=cc2.jgh and 20181231 between cc2.qsrq and cc2.jsrq
left join khdx_jgcc cc3 on cc2.sjjgh=cc3.jgh and 20181231 between cc3.qsrq and cc3.jsrq
left join khdx_jgcc cc4 on cc3.sjjgh=cc4.jgh and 20181231 between cc4.qsrq and cc4.jsrq
group by a.yjfhh,a.jgh,cc.sjjgh , cc2.sjjgh,cc3.sjjgh ,cc4.sjjgh
分析:
导出此数据后,需要在excel把表头定义好:“网点、四级支行、三级分行、二级分行、一级分行”,把行员按机构汇总的数据整理好后,就可以根据机构层级来透视,
透视后与sql2的机构考核数据做vlookup对比,先从二级分行,到三级分行,四级支行,网点等顺序依此类推,可以迅速定位到问题机构,
绩效系统运维手册 - 图12
此时,再查询一下该机构的机构层次表【KHDX_JGCC】,可以发现杭州分行和郑州分行都是由于上级机构的在机构层次表【KHDX_JGCC】的起始日期是20190101
,而下级机构在机构层次表【KHDX_JGCC】的起始日期是20180101,上级机构的起始日期大于下级机构的起始日期,导致数据丢失;
而广州分行则由于其中8个三级分行在机构层次表【KHDX_JGCC】中的机构级别有问题,三级分行与四级支行的机构等级均为3,所以导致机构级别汇总时,数据无法往上汇总,数据丢失;
解决方法:
1.把上级机构的起始日期大于下级机构的起始日期的问题机构,更新正确;
2.修改指标的机构级别统计程序,取消按照机构级别汇总,而是按层级汇总;
*参考文档:

  1. 【重要】数据修补维护方法
  1. 单日维护步骤:
    update CSB_XZKM set XFBZ=’0’ where tjrq=20190331
    select from CSB_XZKM where tjrq=20190331 order by KMH
    insert into CSB_XZKM(TJRQ,KMH,KMLX,QYBZ,XFBZ)
    select 20190626,KMH,KMLX,QYBZ,XFBZ
    from CSB_XZKM where TJRQ=20190625
    insert into CSB_XZKM(TJRQ,KMH,KMLX,QYBZ,XFBZ) values(20190228,’45101’,’2’,’1’,’0’); ——45101常规损益科目
    insert into CSB_XZKM(TJRQ,KMH,KMLX,QYBZ,XFBZ) values(20190228,’72001’,’2’,’1’,’0’); ——72001为FTP收入
    insert into CSB_XZKM(TJRQ,KMH,KMLX,QYBZ,XFBZ) values(20190228,’72002’,’2’,’1’,’0’); ——72002为FTP支出
    修复标识:0表示未修复,1表示已修复,在MySQL维护好该参数表以后,按照正常调度即可。
    2. 现在(自2019年8月开始)修正科目会在当月末维护好下月数据,例如在0831(0901XY批次数据未出具)时,以0831的全量修正科目为基准,维护9月份整月数据。以下实例以0910在0831全量的修复科目基础上新增了另需修正的科目后:
    2.1 先删除当月未跑批数据:
    DELETE FROM CSB_XZKM WHERE TJRQ BETWEEN 20190911 AND 20190930;
    2.2 选一个基准日期(20190930)的全量修正科目,先维护好0910的修正科目(维护单日修正科目步骤请见本章节第一部分:【单日维护步骤】),以此为基准维护十月份科目修补中:
    INSERT INTO CSB_XZKM(TJRQ,KMH,KMLX,QYBZ,XFBZ,XFSJ)
    SELECT A.TJRQ,B.KMH,B.KMLX,B.QYBZ,B.XFBZ,B.XFSJ FROM CSB_SJW A
    INNER JOIN CSB_XZKM B ON B.TJRQ=20190930 (该日期为基准值)
    WHERE SUBSTR(A.TJRQ,1,6)=’201910‘ (该信息为需要维护的月份)
    ORDER BY A.TJRQ,B.KMH;
    *数据质量问题的分析方法

    以规模和效益数据为例,分析 数据分析过程
    首先先大致介绍何为规模数据:规模数据即为所属各个模型非衍生科目的时点,日均,积数等指标,如对公存款,对公贷款等,它所反映的是银行的资产或者负债等的交易量大小.
    而效益可以理解为上述规模数据产生的衍生的利润或产生的费用,以及一些其他的银行经手所产生的手续费等收入,基本可以理解为最直观的体现银行赚了多少钱
    首先我们在仓外有仓内数据质量核对情况表可以及时反映仓内的数据核对情况,他会每日分三次下发,分别核对规模批,早间批次,及效益批次,并于效益批次核对完成全量规模及效益科目.
    绩效系统运维手册 - 图13
    绩效系统运维手册 - 图14
    还有系统表数据核对情况表,存放各个非衍生科目的规模核对结果
    利润核对情况则主要进行利润的核对,如ftp,利息,减值准备,中收等.

    1. 基础明细及业绩关系查询SQL

(1)业绩关系:查询所有的业绩关系
SELECT FROM YJGX_ZH WHERE ZH=’7411011120000239368’
(2)查询对公存款-基础明细
select
from jcmx_dgck limit 10
(3)查询账户上传清单
select * from JCMX_SSZH where ywlx=7 limit 10
7-同业资产,11-应收投资款,3-同业负债

  1. 考核总账相关查询SQL

(1)利润会计总账
JKSJ_KHZZ_JGKJ_LR
(2)对公存款考核总账
JKSJ_KHZZ_JGKJ_CK
(3)大数据利润模型
示例数据可参考 FF\EMPS\20.项目设计\04专题设计\DSJ—利润模型示例数据说明.xlsx

  1. 指标相关查询SQL

(1)指标口径SQL查询
select from ZXRW_JCZBJXJG where zbbh in ( ‘70110004600’) order by tjrq desc limit 100
select bz,sum(zbz) from lsb_yjzb_jg where zbbh in ( ‘70110004343’) group by bz
(2)查询指标结果
SELECT
FROM YJZB_JG
WHERE TJRQ=20181231
AND ZBBH=’70110002128’
AND TJFS=’1’ /全部默认为1/
AND TJDX=’1’/0 会计、1 考核/
AND BZ=’156’/156 人民币、0A 本外币折人民币、0B 外币折人民币/
AND JGH=’701100’;
(3)更新指标结果
UPDATE YJZB_JG
SET ZBZ= 153767939471.7975
WHERE TJRQ=20181231
AND ZBBH=’70110002128’
AND TJFS=’1’ /全部默认为1/
AND TJDX=’1’/0 会计、1 考核/
AND BZ=’156’/156 人民币、0A 本外币折人民币、0B 外币折人民币/
AND JGH=’701100’;

  1. 灵活指标查询指标编号记录日志功能:

    机构/行员指标查询,机构/行员单指标序时查询,机构/行员多指标序时查询
    select * from LSB_ZXCX_JAVA where CXMC like ‘ZBBHCX%’ order by sjsj desc limit 100
    参数查询:

  2. select CONVERT(SQLJB USING UTF8) from LSB_ZXCX_JAVA WHERE CXMC like ‘ZBBHCX%’ order by sjsj desc limit 10000;

(2)SELECT CXMC,SJSJ,CAST(SQLJB AS CHAR) AS JB
FROM LSB_ZXCX_JAVA WHERE CXMC LIKE ‘ZBBHCX%’
LIMIT 10000;

  1. 考核明细及分行接口查询

下发分行接口表
epms_zhmxsjb_dgck
epms_zhmxsjb_dgdk
epms_zhmxsjb_grdk
epms_zhmxsjb_pjyw
epms_zhmxsjb_tyzc
epms_zhmxsjb_tyfz
epms_zhmxsjb_flxsr
epms_zhmxsjb_yskxtz
epms_zhmxsjb_lcfz
以上分区字段为 rq
epms_fhxf_lsb_yjgx_fpmx partition(rq=${i_tjrq})
HBase接口表(对应前台账户级明细查询)

  1. 个人桌面相关查询SQL

(1)客户存款排名
select * from EPMS_BBSJ_CKYEJSRPM_JG limit 10

  1. 指标结果备份及数据核对

—-查询 总行营业净收入指标(备份库与正常库)
select from ZTMP_YJZB_JG_BF WHERE jgh=701100 and zbbh like ‘70110002128%’ and tjrq=20190531
limit 100
select
from YJZB_JG WHERE jgh=701100 and zbbh like ‘70110002128%’ and tjrq=20190531
limit 100

  1. 核验数据是否修补完成

insert into CSB_ZXSQL (VSQL,CZR)
values (‘select km.jgh,km.kmh,km.bz,km.kmye,mx.mxye,xz.xzye,coalesce(mx.mxye,0)+coalesce(xz.xzye,0) as xzhye ,km.kmye-(coalesce(mx.mxye,0)+coalesce(xz.xzye,0)) as flag,coalesce(zz.bnxzye,0) as bnxzye,(coalesce(zz.bnxzye,0)-COALESCE(ZZ2.bnxzye,0))-(coalesce(XZ.xzye,0)) as flag2,(coalesce(mx.mxye,0))-km.kmye as flag3,(coalesce(mx3.mxye,0)-coalesce(mx2.mxye,0))-(coalesce(zz.bnxzye,0)-COALESCE(ZZ2.bnxzye,0)) as flag4
from (
select kmzz.jgh,kmzz.kmh,kmzz.bz,sum(kmzz.dqye) as kmye from EPMS_KHZZ_NBZZ_XY kmzz
where kmzz.tjrq=20190531
and kmzz.kmh in(‘’40101’’,’’40102’’,’’40103’’,’’40104’’,’’40107’’,’’40108’’,’’40109’’,’’40110’’,’’40198’’,’’40199’’,’’40201’’,’’40202’’,’’40203’’,’’40204’’,’’40205’’,’’40206’’,’’40298’’,’’40299’’,’’40301’’,’’40302’’,’’40303’’,’’40304’’,’’40311’’,’’40312’’,’’40326’’,’’40399’’,’’40702’’,’’40703’’,’’42301’’,’’42304’’,’’42306’’,’’42307’’,’’42308’’,’’42309’’,’’42310’’,’’42399’’,’’45101’’,’’45102’’,’’45103’’,’’45104’’,’’45105’’,’’45201’’,’’45202’’,’’45203’’,’’45204’’,’’45301’’,’’45302’’,’’45303’’,’’45306’’,’’45307’’,’’45308’’,’’45309’’,’’45601’’,’’45702’’,’’45704’’,’’45801’’,’’46701’’,’’46702’’,’’46703’’,’’46709’’,’’46710’’,’’46712’’,’’46713’’,’’46714’’,’’46717’’,’’46901’’,’’46904’’,’’46905’’,’’46907’’,’’46908’’,’’46909’’,’’46910’’,’’46911’’,’’46912’’,’’46914’’,’’46915’’,’’46999’’,’’72001’’,’’72002’’,’’46906’’)
group by kmzz.jgh,kmzz.kmh,kmzz.bz
) km
left join (
select khjg as jgh ,sykm as kmh,bz,sum(lr.nljlxsr+lr.nljlxzc+lr.nljftpsr+lr.nljftpzc+lr.nljsxfjyjsr+lr.nljsxfjyjzc+lr.nljqtfxjsr+lr.nljdkjzss1+lr.nljdkjzss2+lr.nljdkjzss3+lr.nljqtdkjzss+lr.nljqtzcjzss+lr.nljhzjzss+lr.yyfy+lr.yywsr+lr.yywzc+lr.sds+lr.nljqtsjjfj+lr.hdsy+lr.tzsy+lr.gyjzbdsy+lr.qtyysr+lr.qtyyzc+lr.xtnwlsz+lr.xtnlxsr+lr.zjfy+lr.jjfy+lr.xyfxzbcbkhkj) as mxye
from EPMS_KHZZ_JGKJ_LR lr where tjrq=20190531 and substr(bjkm,1,1)<>7 group by khjg,sykm,bz
)mx on km.kmh=mx.kmh and km.bz=mx.bz and km.jgh=mx.jgh
left join (
select jgh,sykm as kmh,bz,sum(nljye+xyfxzbcbkhkj) as xzye from EPMS_KHZZ_BNQTYW_DXZ where tjrq=20190531 group by jgh,sykm,bz
)xz on km.kmh=xz.kmh and km.bz=xz.bz and km.jgh=xz.jgh
left join (
select khjg as jgh,sykm as kmh,bz,sum(nljye+xyfxzbcbkhkj) as bnxzye from EPMS_KHZZ_jgkj_BNQTYW where tjrq= 20190531 AND SJBCLX=’’DXZ’’ group by khjg,sykm,bz
)zz on km.kmh=zz.kmh and km.bz=zz.bz and km.jgh=zz.jgh
left join (
select khjg as jgh,sykm as kmh,bz,sum(nljye+xyfxzbcbkhkj) as bnxzye from EPMS_KHZZ_jgkj_BNQTYW where tjrq= 20190530 AND SJBCLX=’’DXZ’’ group by khjg,sykm,bz
)zz2 on km.kmh=zz2.kmh and km.bz=zz2.bz and km.jgh=zz2.jgh
left join (
select khjg as jgh ,sykm as kmh,bz,sum(lr.nljlxsr+lr.nljlxzc+lr.nljftpsr+lr.nljftpzc+lr.nljsxfjyjsr+lr.nljsxfjyjzc+lr.nljqtfxjsr+lr.nljdkjzss1+lr.nljdkjzss2+lr.nljdkjzss3+lr.nljqtdkjzss+lr.nljqtzcjzss+lr.nljhzjzss+lr.yyfy+lr.yywsr+lr.yywzc+lr.sds+lr.nljqtsjjfj+lr.hdsy+lr.tzsy+lr.gyjzbdsy+lr.qtyysr+lr.qtyyzc+lr.xtnwlsz+lr.xtnlxsr+lr.zjfy+lr.jjfy+lr.xyfxzbcbkhkj) as mxye
from EPMS_KHZZ_JGKJ_LR lr where tjrq=20190530 and sjbclx =’’DXZ’’ and substr(bjkm,1,1)<>7 group by khjg,sykm,bz
)mx2 on km.kmh=mx2.kmh and km.bz=mx2.bz and km.jgh=mx2.jgh
left join (
select khjg as jgh ,sykm as kmh,bz,sum(lr.nljlxsr+lr.nljlxzc+lr.nljftpsr+lr.nljftpzc+lr.nljsxfjyjsr+lr.nljsxfjyjzc+lr.nljqtfxjsr+lr.nljdkjzss1+lr.nljdkjzss2+lr.nljdkjzss3+lr.nljqtdkjzss+lr.nljqtzcjzss+lr.nljhzjzss+lr.yyfy+lr.yywsr+lr.yywzc+lr.sds+lr.nljqtsjjfj+lr.hdsy+lr.tzsy+lr.gyjzbdsy+lr.qtyysr+lr.qtyyzc+lr.xtnwlsz+lr.xtnlxsr+lr.zjfy+lr.jjfy+lr.xyfxzbcbkhkj) as mxye
from EPMS_KHZZ_JGKJ_LR lr where tjrq=20190531 and sjbclx =’’DXZ’’ and substr(bjkm,1,1)<>7 group by khjg,sykm,bz
)mx3 on km.kmh=mx3.kmh and km.bz=mx3.bz and km.jgh=mx3.jgh
where 1=1
order by km.kmye-(coalesce(mx.mxye,0)+coalesce(xz.xzye,0)) desc ‘,’wangmingsen’)

  1. 数据质量视图

1.应收款项投资数据质量业绩关系检查结果:
业绩关系数据校验结果表:epms_sjjy_yjgx。

表名 字段 字段名 描述
epms_sjjy_yjgx tjrq 统计日期 数据日期
epms_sjjy_yjgx ywlx 业务类型 11-应收款项投资
epms_sjjy_yjgx hdlx 核对类型 1-业绩关系不为100
epms_sjjy_yjgx hdlxmc 核对类名称  
epms_sjjy_yjgx yjfhh 一级分行号  
epms_sjjy_yjgx zh 账户  
epms_sjjy_yjgx ycz 异常值  
epms_sjjy_yjgx ycms 异常描述  
epms_sjjy_yjgx rq 日期 分区字段

查询脚本:以0930为例
insert into CSB_ZXSQL(VSQL,CZR) values (‘select from epms_sjjy_yjgx where rq=20190930’,’wangmingsen’);
*2.应收款项投资考核明细,数据增量增幅检查结果:

数据增量增幅检查结果表: epms_lsb_khmx_sjzl。

表名 字段 字段名 描述
epms_lsb_khmx_sjzl tjrq 统计日期 数据日期
epms_lsb_khmx_sjzl ywlx 业务类型 11-应收款项投资
epms_lsb_khmx_sjzl sfwb 是否外币 0-本币,1-外币
epms_lsb_khmx_sjzl tjrqcnt 统计日期数据量  
epms_lsb_khmx_sjzl srcnt 上日数据量  
epms_lsb_khmx_sjzl bsrzl 比上日增量  
epms_lsb_khmx_sjzl bsrzf 比上日增幅  
epms_lsb_khmx_sjzl bsrhbzf 比上日环比增幅  

该表会记录当月月初到统计日期的数据增量增幅质量。
查询脚本:以11-应收款项投资为例。
insert into CSB_ZXSQL(VSQL,CZR) values (‘select * from EPMS_LSB_KHMX_SJZL where ywlx=11 ‘,’wangmingsen’);

8 数据时效性

  1. 【重要】查询各批次指标加工完成时间

SQL语句如下,正常情况下,应有三条数据:
Select from XTB_YSZBJSRWB order by rwid desc limit 100
select
from XTB_XTRZ where sjms like ‘%20181231%’ order by sjdh desc limit 100
select from XTB_ETLDDRZ
where zyrq =20190531 and etlcsbh <999990000
order by zysj desc
limit 100
查看指标计算日志情况
select
from XTB_ETLDDRZ
where zyrq =20190618
and etlcsbh >3000 and etlcsbh< 999990000
order by zysj desc
limit 1000
从3008开始,到3012,系统进入衍生指标计算,其中GM1、GM2批次总计1h20min。XY批总计3h。其中3009的计算时间最长
绩效系统运维手册 - 图15

  1. 每日批处理时间分析

查看每日批处理时长:
select zyrq,max(zysj),min(zysj) from xtb_etlddrz where etlcsbh< 999990000 group by zyrq
如果是追跑,每个数据日期大约跑8小时(以03-16为例,无备份)
如果是正常跑批,GM1_30和GM2_32作业约1.5小时,XY_38作业约3小时(以03-30为例),其他作业因备份、文件等待等问题经常波动。
可参考附件excel进行分析,将日志放入excel的“作业原始日志”中,即可自动各类业务的批处理时间。注意:需注意字段的顺序。
绩效系统运维手册 - 图16

  1. 高时效性文件到达时间查看

在正常跑批的情况下(上日批处理未影响翻牌的情况下),数据文件开始加载时间基本为文件到达时间,从控制台查看高时效性文件的加载时间的方法如下:
select etlcsbh,zyrq,min(zysj),max(zysj),max(zysm) from xtb_etlddrz
where zyrq =20190318
and ( zysm like ‘%票据业务加载%’ or zysm like ‘%个人贷款加载%’ or zysm like ‘%对公贷款加载%’ or zysm like ‘%对公存款加载%’ or zysm like ‘%票据规模数据加载%’ or zysm like ‘%对公存款规模数据加载%’ or zysm like ‘%对公贷款规模数据加载%’ or zysm like ‘%个人贷款规模数据加载%’)
group by etlcsbh,zyrq order by max(zysj)

  1. 高批处理时效性监控方法(华智完善)

高时效规模批的时效性监控方法如下:

  1. 确认GM1作业是否完成

select * from xtb_etlddrz where zysm like ‘%EPMS_M_Z_ZBTJ_SUM_GM1_30%’ order by zydh desc limit 30

  1. 如果GM1作业未开始执行,则需要确认当前数据日期的批处理作业运行情况 (以20190318为例)

select etlcsbh,max(zysm),min(zysj),max(zysj),zyrq from xtb_etlddrz
where zyrq = 20190318 and ZYSM like ‘%GM1_30%’
group by etlcsbh,zyrq order by zysj

  1. 监控高时效规模批的4个文件MySQL加载时间,预计批处理完成时间

select etlcsbh,zyrq,min(zysj),max(zysj),max(zysm) from xtb_etlddrz
where zyrq =20190318
and ( zysm like ‘%票据业务加载%’ or zysm like ‘%个人贷款加载%’ or zysm like ‘%对公贷款加载%’ or zysm like ‘%对公存款加载%’ )
group by etlcsbh,zyrq order by min(zysj)
注:各业务文件从基础数据加载到基础指标加工生成时间如下:
对公存款:30-50min;对公贷款:20-30min;个人贷款:40-50min;票据:15-35min
衍生指标加工:1h10min左右。(以0318为例)

  1. 监控高时效规模批的4个主题大数据文件加载时间,监控是否影响跑批正常运行

select etlcsbh,zyrq,min(zysj),max(zysj),max(zysm) from xtb_etlddrz
where zyrq =20190318
and (zysm like ‘%票据规模数据加载%’ or zysm like ‘%对公存款规模数据加载%’ or zysm like ‘%对公贷款规模数据加载%’ or zysm like ‘%个人贷款规模数据加载%’)
group by etlcsbh,zyrq order by max(zysj)

  1. 如果作业层面的日志发现有问题,可查看脚本详细日志进行分析

select * from XTB_XTRZ
where sjsj > 20190318 and sjsj < 20190319
order by sjsj

  1. 效益批时效性监控方法(刘华智)

效益批的时效性监控方法如下:

  1. 确认XY作业是否完成

select * from xtb_etlddrz
where zysm like ‘%EPMS_M_Z_ZBTJ_SUM_XY_38%’
order by zydh desc limit 30

  1. 如果XY作业未开始执行,则需要确认当前数据日期的批处理作业运行情况 (以20190318为例)

select etlcsbh,max(zysm),min(zysj),max(zysj),zyrq from xtb_etlddrz
where zyrq = 20190318
group by etlcsbh,zyrq order by zysj

  1. 监控效益批的文件加载时间,预计批处理完成时间

select etlcsbh,zyrq,min(zysj),max(zysj),max(zysm) from xtb_etlddrz
where zyrq =20190318
and ( zysm like ‘%加载%’ and zysm like ‘%效益%’)
group by etlcsbh,zyrq order by min(zysj)

  1. 如果作业层面的日志发现有问题,可查看脚本详细日志进行分析

select * from XTB_XTRZ
where sjsj > 20190318 and sjsj < 20190319
order by sjsj

  1. 作业批处理日志分析

如果作业层面的日志发现有问题,可查看脚本详细日志进行分析
select from XTB_XTRZ
where sjly =’SP_EPMSCALC_ZBTJ_YSZBJS’ ——脚本名称
and sjms like ‘%20190416%’
and sjsj > 20190417
order by sjsj
查看最近作业:
select
from XTB_XTRZ order by sjsj desc limit 10
当前对历史数据进行备份:XTB_XTRZ_LIWEIZHAO_20190419

  1. 指标计算时效性分析

查看 各批次指标计算情况
select from XTB_YSZBJSRWB order by rwlysj desc limit 100
查看任务是否在执行
select
from LSB_YSZBJSRWB order by 1 desc limit 100

  1. 数据中心进行批次监控方法

—进入 21.244.75.5数据库服务器,登录mysql客户端
$cd /mysqldata/mysql/bin/
$mysql —login-path=appmon -S mysql1.sock
—查看各批次出具时间
select * from XTB_YSZBJSRWB ORDER BY 1 DESC LIMIT 20
—新增科目查询
select a.kmh as kmh,a.kmmc as kmmc from CSB_KM a left join CSB_QKM b on a.kmh=b.ejkmh
where b.ejkmh is null and a.kmh not like ‘%00’
and a.kmh not in (‘40503’,’40504’,’45503’,’45504’) order by a.kmh limit 20
—新增内部账查询
select nbzh, zhmc from JCMX_XZNBZHDZB
WHERE nbzh not in (‘40502000101’,’40503000001’,’40504000001’,’45502000101’,’45503000001’,’45504000001’) limit 20

9 系统调度

  1. 【重要】停正常批(彦宝添加新的停批方法)
    1. 如果是需要在跑批的中间停的,操作如下:
    2. 【作业管理】-【作业信息管理】,选择作业状态为running,点击查询,选择作业,查看作业的【触发及依赖】,将所有下个要运行的作业指定其状态为【Ready】状态,点击确定。
    3. 【作业管理】-【作业流管理】,选择名称为【EPMS_ZCDD】,点击修改,是否有效选择否,其失效日期为yyyymmdd(具体根据实际日期而定),确定。
    4. 如果是直接可以等待到一天跑完之后再停的,操作如下:

【作业管理】-【作业流管理】,选择名称为【EPMS_ZCDD】,点击修改,是否有效选择否,其失效日期为yyyymmdd(具体根据实际日期而定),确定。

  1. 如果仅因系统程序需更新,暂停系统,待系统程序更新后,作业继续跑批,操作如下:(修改的程序不可为sh_epmscalc_xtdd_ddrk.sh)

修改系统参数表中参数SYS_DDZT的参数值改为1,正在执行的作业会继续执行下去,新开始执行的作业会等待(此时作业状态为running,但后台程序暂不执行)。若10小时内系统状态改为0,则作业重新执行下去,若未改为0,作业会报错。

  1. 如果是系统程序需更新,暂停系统,或者是在停批期间不操作作业,停批方式如下:

进入ETLPLUS客户端,进入【系统管理】-【执行服务器管理】,选择服务器为【epms】,点击修改,修改并行度为0,确定。这种会等待在跑的作业跑完后,暂时不执行下面的作业,一般系统升级用。
在起批后,作业会自行运行需要跑批的作业,刚起批后需要跟踪观察,因为一般系统升级会对作业有影响。

  1. 数据重跑注意事项
    1. 重跑 基础明细到基础指标,详细说明配置方法

具体步骤如下:

  1. 首先提前在生产绩效系统前台的【首页】—【应用管理】—【参数管理】—【系统参数管理】,点击查询,查看参数名称为重算跑批日期和重算调度翻牌日期是否是这次调度想要的日期,正常情况下重算跑批日期是29991231,当重算作业流EPMS_CSDD启动了时,他就会变成要跑数的日期;而翻牌日期也是重算需要调度的日期
  2. 等待正常批作业【running】的跑完后,再进行以下操作。登录ETLPLUS完成下列操作:
  3. 【作业管理】-【定时任务】,选择名称为【EPMS_CSDD】,激活该任务。
  4. 【作业管理】-【作业流管理】,选择名称为【EPMS_CSDD】,修改是否有效选择是,确定。
  5. 【作业管理】-【作业信息管理】,选择作业名称【EPMS_SGDD_EXP_YJ_A5】,日期选择最新跑数日期yyyymmdd(具体根据实际日期而定),等待跑完。
  6. 继续调起作业名称【EPMS_SGDD_LOAD_YJ_A6】,日期选择最新跑数日期yyyymmdd(具体根据实际日期而定),等待跑完。
  7. 【作业管理】-【定时任务】,选择名称为【EPMS_YSZBJS】,修改其结束日期为29991231,并激活该任务。

若系统执行正常,则一般情况下不要执行步骤⑦,⑧

  1. 【作业管理】-【作业批量管理】,选择名称为【EPMS_CSDD】,点击查询,选择全部作业,修改作业批量完成状态为yyyymmdd(具体根据实际日期而定,是将作业日期调到服务器物理日期的前一天,方便作业业翻牌重算),确定。
  2. 【作业管理】-【作业信息管理】,选择作业名称为【EPMS_D_C_CSCFWJFP_2117】,点击启动,时间为yyyymmdd(具体根据实际日期而定,是将作业日期调到服务器物理日期的前一天),确定。
  3. 【作业管理】-【作业信息管理】,选择作业名称为【EPMS_SGDD_TJCSRW_A18】,点击启动,时间为yyyymmdd(具体根据实际日期而定),确定。

执行完后不再用时,需要调其他作业流入正常批时,要将重算的作业挂起:
登录ETLPLUS完成下列操作:

  1. 【作业管理】-【定时任务】,选择名称为【EPMS_YSZBJS】,挂起该任务。
  2. 【作业管理】-【定时任务】,选择名称为【EPMS_CSDD】,挂起该任务。
  3. 【作业管理】-【作业流管理】,选择名称为【EPMS_CSDD】,修改是否有效选择否,确定。
    1. 数据追数方法
  4. 追数 基础明细到考核总账,详细说明配置方法

这个是追数步骤:
①在下面绩效系统的【首页】-【应用管理】-【参数管理】-【系统参数管理】,先改好要跑的追数起始日期和追数结束日期;

  1. 登录ETLPLUS完成下列操作: 1.1、【作业管理】-【定时任务】,选择名称为【EPMS_ZSDD】,激活该任务。 1.2、【作业管理】-【作业流管理】,选择名称为【EPMS_ZSDD】,修改是否有效选择是,确定。

③待以上步骤完成后,登录ETLPLUS完成下列操作:
1.1.【作业管理】-【定时任务】,选择名称为【EPMS_ZSDD】,挂起该任务。 1.2.【作业管理】-【作业流管理】,选择名称为【EPMS_ZSDD】,修改是否有效选择否,失效日期给为yyyymmdd(具体日期根据实际情况定),确定。

  1. 日常批处理正常调起方法。详细说明配置方法

登录ETLPLUS完成下列操作: 1.1.【作业管理】-【作业流管理】,选择名称为【EPMS_ZCDD】,点击修改,是否有效选择是,其失效日期清空,确定。 1.2.【作业管理】-【作业批量管理】,选择名称为【EPMS_ZCDD】,日期为yyyymmdd(具体时间视情况而定),点击查询,选择全部,重置作业完成状态为yyyymmdd-1(具体时间视情况而定),确定。

  1. 作业跑批失败处理方法

处理非正常作业跑批失败现象:
常用报错参数表
常用报错参数表共分两张
XTB_ETLDDRZ(系统表etl调度、),XTB_XTRZ(系统表系统日志)
系统表etl调度日志内存放生产作业运行情况,可以用于查看作业报错信息,跑批时长等信息
系统表系统日志内存放程序级执行情况,用以记录mysql详细日志以及shell报错日志,shell报错模块可以在生产21.244.75.5服务器上/etlplus/shell/log路径下,查看日志文件如:
epms_dsj_kzt_20200810.log
epms_dsj_20200810.log

  1. 日期请自行修改,常用查看命令如:grep –i error epms_dsj_20200810.log

常用日志查询语句:
select from XTB_ETLDDRZ where zysm like ‘%出错%’ order by 1 desc
如测试环境参数编号167考核总账程序
即可查看近一段时间内我们的调度日志报错情况
重点记忆此表csbh字段
查询出相应参数编号对应作业
select
from XTB_ETLDDCS where csbh=’167’ and qybz<>0
即可拿到对应的程序序号
cxxh in(60004,70004,80005,90007,90008)
最后再在XTB_CXK(系统表程序库)内
查看相应作业及程序
select DISTINCT CXYWMC from XTB_CXK WHERE cxxh in(60004,70004,80005,90007,90008)
以以下语句查看相应出错作业

  1. SELECT * FROM XTB_XTRZ WHERE SJMS LIKE ‘%pjyw%出错%’ ORDER BY 1 DESC LIMIT 10

如果确认是由于数据倾斜导致的,直接重调作业,日期为yyyymmdd(具体根据实际情况定);
1.3
如果确认是由于新上线的脚本出错,等技术人员处理了再进行重调,日期为yyyymmdd(具体根据实际情况定);
1.4
如果是作业批处理出错,等分析完情况后再进行处理,重调或禁用(具体根据实际情况而定);

  1. 【重要】各业务考核明细重跑方法说明

select * from CSB_CSDD limit 1000
重跑任务表
1-对公存款,3-同业负债,4-对公贷款,5-个人贷款,7-同业资产,
8-票据业务,11-应收款项投资,12-表外业务,13-中间业务收入,16-理财负债
以1-对公存款为例:
delete from CSB_CSDD where ywlx=’1’;
INSERT INTO CSB_CSDD (YWLX ,YWMC ,QSRQ ,JSRQ ,SJRQ ,QYBZ ,CSZT ) VALUES (‘1’,’对公存款’,20190101,20190116,20190101,1,0);
维护好业务类型和起始日期结束日期,启用标识为1,重算状态为0即可,数据日期字段建议维护成和起始日前一致,当重算作业被触发时,数据日期就是当前正在重算的日期。重算状态字段含义:“重算状态 0-READY 1-RUNNING 2-ERROR 3-FINISHED 4-PENDING”。
其他业务重算
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘1’, ‘对公存款’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘3’, ‘同业负债’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘4’, ‘对公贷款’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘5’, ‘个人贷款’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘7’, ‘同业资产’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘8’, ‘票据业务’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘11’,’应收款项投资’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘12’,’表外业务’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘13’,’中间业务收入’,20190101,20190131,20190101,1,0);
INSERT INTO CSB_CSDD (YWLX,YWMC,QSRQ,JSRQ,SJRQ,QYBZ,CSZT ) VALUES (‘16’,’理财负债’,20190101,20190131,20190101,1,0);
定时清理策略状态修改“定时清理重算link:EPMS_SGDD_DELETE_LINK_A20”
重算明细过程中可能会跑接口转换,业绩关系,扩展属性等程序,如追批时间紧张可省略某些程序,此时可以查看CSB_CSDD_DDKZWJ,以截止日期,业务类型为主键,插入控制参数:
Eg:
insert into CSB_CSDD_DDKZWJ (jzrq,ywlx,sjxz,yjgx,kzsx) values (‘19000101’,’11’,’1’,’1’,’1’);
insert into CSB_CSDD_DDKZWJ (jzrq,ywlx,sjxz,yjgx,kzsx) values (‘20190701’,’11’,’1’,’0’,’1’);
insert into CSB_CSDD_DDKZWJ (jzrq,ywlx,sjxz,yjgx,kzsx) values (‘29991231’,’11’,’1’,’1’,’1’);
上述应收款项投资重跑计划为到19000101之前含19000101 重跑应收会跑数据修正,业绩关系以及扩展属性
数据日期大于19000101小于等于20190701 则不跑业绩关系
数据日期大于20190701则全都跑

  1. 【重要】考核总账、利润、指标重跑方法(刘华智-0625)
    1. 前置工作

指标重跑前,先备份指标表,备份方法为 ZTMP_YJZB_JG_BF

  1. 1. 、** 添加任务方法**

重跑总账和指标,前提需确定明细账已经重算完毕,然后只需要在【系统表-总账指标任务表】插入任务即可,tjrq字段为需要重跑的日期字段,rwzt字段为任务状态,重跑时需赋值为1。
以重跑20190331为例。
select * from XTB_ZZZBRWB where tjrq=20190430 order by rwfbsj desc limit 100;
insert into XTB_ZZZBRWB (rwfbrq,rwfbsj,tjrq,rwzt) value (20190429,now(),20190331,’1’);

  1. 1. **查询总账跑批情况的方法**:
  1. Select * from XTB_ZZZBRWB WHERE TJRQ=20190331;

查看字段rwzt,3为完成,2为running,1为待开始,并且可以看开始时间和结束时间。

  1. Select * from XTB_YSZBJSRWB WHERE RWRQ=20190331;

查看字段rwzt,4为完成,2为running,并且可以看开始时间。结束时间无意义

  1. GM1、GM2批处理性能优化

方法1:
设置GM1、GM2、个人桌面等失效状态(0-失效,1-正常)
update XTB_ETLDDCS set qybz=0 where csbh in (30,32);
update XTB_ETLDDCS set qybz=0 where csbh=29 and cxbh=990010;

  1. 指标批次设计

通过如下SQL可指定各批次指标的跑批范围,其中批次3为全量指标,批次2为规模指标,批次1为对公存款指标
Select from XTB_CXK where CXBH in (‘990064’ ,’990065’,’990006’) limit 100 ;
UPDATE XTB_CXK SET srcs4=’1’ WHERE CXBH=’990064’
UPDATE XTB_CXK SET srcs4=’2’ WHERE CXBH=’990065’
UPDATE XTB_CXK SET srcs4=’3’ WHERE CXBH=’990006’
# 批次3为全量指标,批次2为规模指标,批次1为对公存款指标
#MYSQL指标计算频率: 990064 为 高时效性批次,990065 为低时效批次,990006为MYSQL
#正常批是 1,2, 3
#追跑批是????
各批次指标范围如下:
SELECT
FROM KHDX_ZBPCSZ
# 规模批-对公存款,规模类
INSERT INTO KHDX_ZBPCSZ (zbbh,PCH,czr,czsj)
select a.ZBBH,’1’ AS PCH,LOWER(‘epms_admin’) AS czr,NOW() AS czsj
from KHDX_ZB a
INNER join EPMS_V_ZBYWLX b on a.zbbh=b.zbbh
inner join csb_zblb c on a.zblb=c.lbdh
WHERE B.YWLX=’1’ and a.zblb=’1’
# 规模批指标,批次2,不含(其他、待处理等指标类别)
INSERT INTO KHDX_ZBPCSZ (zbbh,PCH,czr,czsj)
select a.ZBBH,’2’ AS PCH,LOWER(‘epms_admin’) AS czr,NOW() AS czsj
from KHDX_ZB a
INNER join EPMS_V_ZBYWLX b on a.zbbh=b.zbbh
inner join csb_zblb c on a.zblb=c.lbdh
left join KHDX_ZBPCSZ d on a.zbbh=d.zbbh
WHERE a.zblb=’1’ and d.zbbh is null

  1. 调度参数配置方法

调度表之间的关系说明。
绩效系统运维手册 - 图17

  1. 【重要】手工自动以重跑

每5分钟扫描一次,对指定程序,按插入时间顺序重跑。

  1. 选取调度任务

SELECT * FROM XTB_CXK WHERE CXBH=’90028’ LIMIT 100
80013 - 对公存款
80014 - 对公贷款
80015 - 个人贷款
80016 - 票据
80017 - 中间业务收入
80018 - 同业资产
80019 - 同业负债
80020 - 应收款项投资
80021 - 理财负债
80022 - 表外业务
包括初始化最新业绩关系、加工扩展属性、加工考核明细。

  1. 插入重跑的任务及时间

重算调度。注:如果无后续3步骤,此重算调度将在效益批之后触发。主键是业务类型,插入前需清理之前的数据。
INSERT INTO CSB_CSDD (YWLX ,YWMC ,QSRQ ,JSRQ ,SJRQ ,QYBZ ,CSZT ) VALUES (‘3’,’同业负债’,20190501,20190503,20190501,1,0);
,(‘4’,’对公贷款’,20190501,20190503,20190501,1,0)
,(‘5’,’个人贷款’,20190501,20190503,20190501,1,0)
,(‘7’,’同业资产’,20190501,20190503,20190501,1,0)
,(‘8’,’票据业务’,20190501,20190503,20190501,1,0)
,(‘11’,’应收款项投资’,20190501,20190503,20190501,1,0)
,(‘12’,’表外业务’,20190501,20190503,20190501,1,0)
,(‘13’,’中间业务收入’,20190501,20190503,20190501,1,0)
,(‘16’,’理财负债’,20190501,20190503,20190501,1,0)

  1. 插入标示转换任务,以便更新账户清单。

注意,清单标识需要提前一天维护。如果真需要,需要再通过手工调度重新传一次。
insert into XTB_SGDDRWB (cxbh,ddrq) values (990008, 20190531);
注意,如果重新配置了指标,需 通过手工调度重新将指标 跑到 大数据中。
Insert ????

  1. 插入手工触发(每5分钟触发一次)。注意1:如果提前触发,需关注是否与当下日期下的跑批冲突,以免造成数据加工异常。注意2:80022程序为表外,需在中收之后跑批。注意3:重算时,调度日期不重要,以CSB_CSDD中日期为准。但其他程序的灵活调用,需插入调度日期信息。

insert into XTB_SGDDRWB (cxbh,ddrq) values (80014,20190606)
,(80015,20190606)
,(80016,20190606)
,(80017,20190606)
,(80018,20190606)
,(80019,20190606)
,(80020,20190606)
,(80021,20190606);
insert into XTB_SGDDRWB (cxbh,ddrq) values (80022,20190606);

  1. 监控跑批结果

查看CSB_CSDD表中的SJRQ字段,其表明正在跑批的日期,CSZT字段表示批处理状态,监控方法可参考《9.5各业务考核明细重跑方法说明》。重算状态 0-READY 1-RUNNING 2-ERROR 3-FINISHED 4-PENDING
select from CSB_CSDD limit 100
查看正在跑的手工调度作业
select
from LSB_SGDDRWB limit 100
如果需要重跑指标结果,需参考《9.6 考核总账、利润、指标重跑方法》,需待考核明细都跑完之后,才能维护此项工作。同时,先维护科目修补信息。
以重跑0501-0531,最终更新0531指标结果为例,正确的维护顺序是:

  1. 提前一天维护0531的账户清单标识
  2. 插入0531的清单标识转换的手工调度任务
  3. 插入0501-0531的考核明细重跑任务
  4. 维护0531的科目修正状态
  5. 待0501-0531重跑之后,再维护0531的指标重跑任务,以便在效益批后重跑。
    1. 重跑时间统计

如下是0501-0605的跑批,并发度为4。
绩效系统运维手册 - 图18

  1. 上线调度确认单填写

绩效系统运维手册 - 图19每次项目上线前,开发任务涉及上线调度的同事在周四下班前填写FF版本日志中对应上线日期文件夹中的调度确认单,注明调度类型以及涉及的数据表等信息,具体可参照以下文件:

  1. 联合营销重跑

手工调度程序如下:
insert into XTB_SGDDRWB(cxbh,ddrq)
values(‘80013’,’20190630’),
(‘90025’,’20190630’),
(‘51005’,’20190630’),
(‘120007’,’20190630’);
80013是 对公存款考核明细重跑;’90025’ 跑大数据的联合营销;

  1. 对公存款扩展属性重跑维护(邢世天-0702)

select csz from XTB_XTCS where csmc=’NLJXF_QYBZ’;
select * from CSB_CSDD_DDKZWJ where YWLX=’1’ ORDER BY JZRQ ASC LIMIT 1;
update CSB_CSDD_DDKZWJ set yjgx=’1’ ,sjxz=’1’,kzsx=’0’ where ywlx=’1’

  1. 上游变更影响分析(肖威)

当上游PDM、GDM作业发生变动或者数据异常时,需要分析对管会、绩效是否有影响。
首先整理管会、绩效作业于excel表,包含作业及其依赖的上游作业,每当管会、绩效作业有变更,需要及时维护excel表。
以此excel内部数据依赖关系分析数据仓库上游重跑作业是否被管会、绩效系统依赖。如存在此依赖,着重分析此作业影响字段,评估是否需要重新跑批,如未存在作业被依赖,则评估无影响。
如果确认管会、绩效系统作业需要重跑,规模批作业非涉及账号字段可评估为无影响;效益批作业如为明细模型,建议整体重跑数仓作业并下发,通知大数据,以便安排重算,如为客户等模型(不带来效益),则视情况单独下发个别文件即可。针对管会系统若上游的某个作业影响补差作业,都需要对下游作业流进行全跑;若不影响补差作业,可仅对受影响的局部作业流进行重跑。
规模批主要如下作业:主要发放账号、科目号、借据号、币种、机构号等规模类字段,其他非重要类字段置空的对公存、对公贷、个贷、票据等作业。
效益批主要如下作业:除风险类字段、其他字段均要保证其准确性的作业。其中又包括规模批次模型以及理财、中收、客户等模型。

  1. 【重要】重算上月整月数据注意事项(刘华智-1219)

注意更新系统参数“启用默认重算标识”” QYMRCSBZ”为0-禁用状态,并且等重算完以后,需修改为1-启用状态。
命令1:修改为0-禁用状态
UPDATE XTB_XTCS SET CSZ=’0’ WHERE CSMC = ‘QYMRCSBZ’;
命令2:修改为1-启用状态
UPDATE XTB_XTCS SET CSZ=’1’ WHERE CSMC = ‘QYMRCSBZ’;
命令3:查看“默认重算标识”的状态
select * from XTB_XTCS WHERE CSMC = ‘QYMRCSBZ’;

10 服务器配置

  1. 服务器环境及IP | 模块名 | IP标识 | 用途说明 | 备注 | | —- | —- | —- | —- | | | | | | 数据库服务器 | epmsdb_svc | 21.244.75.5 | 服务IP | | | epmsdb1 | 21.244.75.6 |   | | | epmsdb1-fence | 21.244.75.7 |   | | | epmsdb2 | 21.244.75.8 |   | | | epmsdb2-fence | 21.244.75.9 |   | | SPARK服务器 | cbdpdnd134 | 21.244.112.134 |   | | | cbdpdnd135 | 21.244.112.135 |   | | | cbdpdnd136 | 21.244.112.136 |   | | | cbdpdnd137 | 21.244.112.137 |   | | | cbdpdnd138 | 21.244.112.138 |   | | | cbdpdnd139 | 21.244.112.139 |   | | | cbdpdnd140 | 21.244.112.140 |   | | | cbdpdnd141 | 21.244.112.141 |   | | | cbdpdnd142 | 21.244.112.142 |   | | | cbdpdnd143 | 21.244.112.143 |   | | HBASE服务器 | coqpcne001 | 21.244.115.1 |   | | | coqpcne002 | 21.244.115.2 |   | | | coqpcne002-fence | 21.244.115.3 |   | | | coqpcne003 | 21.244.115.4 |   | | | coqpcne003-fence | 21.244.115.5 |   | | | coqpcne004 | 21.244.115.6 |   | | | coqpcne005 | 21.244.115.7 |   | | 应用服务器 | epmsapp1 | 21.244.75.1 |   | | | epmsapp2 | 21.244.75.2 |   | | | epmsapp3 | 21.244.75.3 |   | | | epmsapp4 | 21.244.75.4 |   | | WEB服务器 | epmsweb_srv | 21.244.64.138 | 服务IP | | | epmsweb01 | 21.244.64.139 |   | | | epmsweb02 | 21.244.64.140 |   | | 办公网翻译地址 | epmsweb_srv | 21.244.64.138 |   | | | | | |

数据仓库开发及测试环境:

  1. 数仓数据库IP:22.5.227.26

用户名:ADM_MON_IT
密 码:ADM_MON_IT_123

  1. 安装包及安装文档所在位置D:\xst\92参考及培训文档\ td 安装包和文档.7z
  2. 数仓常用命令:help view 视图名;show view 视图名;show table 表名;等

查询语句+sample 100只显示前一百条

  1. 数仓上线前验证环境: 22.5.96.91 : edwetl/edwetl@123

    ETLPLUS(国内)访问地址:http://22.5.96.90:9080/etlplus/loginController.do?login=value (edwadmin/password)

  2. 数仓etlplus测试访问地址: http://22.5.231.126:9080/etlplus/loginController.do?login=value

(edwadmin/password)
访问服务器地址及验证上线流程环境: 22.5.231.210 edwetl/edwetl@123

  1. 服务器间的关系和配置文件
  2. 文件传输说明和清单

    11 业务提数脚本(乔秀宇-0819)

  3. 取数流程

    1. 在生产环境找到指标对应的指标编号
    2. 操作台查询:

select * from ZXRW_JCZBJXJG where tjrq=20190531 and zbbh=????? limit 100

  1. 1. 取其结果的where条件
  2. 1. FF代码库中找到对应业务的khzz脚本
  3. 1. 在脚本中查找insert语句,对小写的表进行查询,select字段根据业务提供,并且加上“账户”字段,拼接前台截取的where条件
  4. 1. 拼接构建提数脚本
  5. 1. 取数之后,dat文件转xls,然后分列,注意:除了金额数值以外,其他格式选定为文本
  6. 1. 然后从EPMS-业绩查询与分析-机构指标查询,选择对应指标进行核对(时点&年日均)

12 个人宝典

  1. 王琴

—指标定义规则
select from ZXRW_JCZBJXJG where zbbh in ( ‘70110004250’) and tjrq=20200331 limit 1

—查看Spark查询进展
select lsh,cxzt,convert(vsql using utf8),czsj,czr from CSB_ZXSQL where czr=’wangqin1’ order by lsh desc limit 10

——查看作业任务及程序
select
from XTBETLDDRZ WHERE ZYSM LIKE ‘%EPMS_D_Z_GGHZ_33%’ ORDER BY 1 DESC LIMIT 10;

select from XTB_ETLDDCS A
inner join XTB_CXK B on A.cxbh=B.cxbh
where A.etlcsmc like ‘%EPMS_M_C_YSZB_XYFHXFCZ_3014%’ order by A.cxxh ASC limit 10
select
from XTB_CXK where cxxh = ‘51002’ ORDER BY 1 DESC LIMIT 10;
select from XTB_DDCSWJ ORDER BY 1 DESC LIMIT 10;
select
from XTB_DDCSWJ where csbid = ‘20013’ ORDER BY 1 DESC LIMIT 10;

——查看指标重跑
select from XTB_YSZBJSRWB order by rwid desc limit 100

——查看MYSQL数据库表数据量
select TABLE_NAME,TABLE_ROWS,DATA_LENGTH/1073741824.00 as GB
from information_schema.TABLES order by DATA_LENGTH desc LIMIT 1000

select TABLE_NAME,TABLE_ROWS,PARTITION_DESCRIPTION,DATA_LENGTH/1073741824.00 as GB
from information_schema.PARTITIONS where TABLE_NAME like ‘%JG_LOG%’ order by DATA_LENGTH desc LIMIT 1000

——查看正在执行的进程,information_schema相关命令
select
from information_schema.TABLES where info is not null order by 1 desc limit 1000

select from information_schema.PROCESSLIST where INFO is not null order by 1 desc limit 1000

select COLUMN_NAME,ORDINAL_POSITION from information_schema.COLUMNS where TABLE_NAME = ‘CSB_DMB’ order by ORDINAL_POSITION asc limit 1000

select
from information_schema.STATISTICS where TABLE_NAME = ‘XTB_YYRZ’ and INDEX_NAME = ‘XPKXTB_YYRZ’ limit 100

select TABLE_NAME,INDEX_NAME,INDEX_TYPE, COLUMN_NAME, SEQ_IN_INDEX ,NON_UNIQUE from information_schema.STATISTICS where TABLE_NAME IN (
SELECT TABLE_NAME FROM information_schema.TABLES ) AND TABLE_SCHEMA = ‘epms_db’ LIMIT 100000

select ROUTINE_NAME,ROUTINE_DEFINITION from INFORMATION_SCHEMA.ROUTINES
where ROUTINE_NAME like ‘%SP_EPMSFHXF_YJGX%’ limit 100

——系统情况通知

各位同事,2019年11月16日下午 14:00-23:00系统将进行版本升级,期间请勿操作系统,以免操作有误,感谢支持。
各位同事,由于上游系统文件延迟,2019年11月16日效益批指标预计明天早上7:00出具,目前系统正在追批中,预估本周三(11月20日)恢复T+1,请知悉。
——-查看程序更新情况

select from CSB_SG_CXK order by 1 desc limit 100

——查看跑批情况
select
from XTB_ETLDDRZ where etlcsbh <= 3012 and etlcsbh >= 3002 order by zysj desc limit 100

— 查看批处理依赖的文件加载到位尚未执行情况—更新日期:
SELECT FROM (
SELECT ETLCSMC,CSBH FROM XTB_ETLDDCS WHERE CSBH<99999 GROUP BY ETLCSMC
) A
LEFT JOIN (SELECT ETLCSBH FROM XTB_ETLDDRZ WHERE ZYRQ=’20200503’ GROUP BY ETLCSBH) B ON A.CSBH=B.ETLCSBH
WHERE B.ETLCSBH IS NULL AND A.ETLCSMC LIKE ‘%GM%’ AND A.ETLCSMC LIKE ‘%LOAD%’ limit 50


——重算任务
select
from CSB_CSDD limit 100
update CSB_CSDD set cszt=0,sjrq=20191001,qsrq =20191001,jsrq=20191107

——查看指标下钻跑批情况
select from quota_drilldown_task order by 1 desc limit 10

——-更新指标下钻启用
select
from XTB_ETLDDCS where csbh in(449,450,451,452,453,454,455,456) limit 100000;
delete from XTB_ETLDDCS where csbh in(449,450,451,452,453,454,455,456);
insert into XTB_ETLDDCS (csbh,etlcsmc,cssm,cxbh,cxxh,qybz) values
(449,’EPMS_D_Z_ZBXZMX_DGCK_449’,’指标下钻明细及导入ES
对公存款’,140001,1,’0’),
(449,’EPMSD_Z_ZBXZMX_DGCK_449’,’指标下钻明细及导入ES对公存款’,140009,2,’1’),
(450,’EPMSD_Z_ZBXZMX_TYFZ_450’,’指标下钻明细及导入ES同业负债’,140002,1,’0’),
(450,’EPMSD_Z_ZBXZMX_TYFZ_450’,’指标下钻明细及导入ES同业负债’,140010,2,’1’),
(451,’EPMSD_Z_ZBXZMX_DGDK_451’,’指标下钻明细及导入ES对公贷款’,140003,1,’0’),
(451,’EPMSD_Z_ZBXZMX_DGDK_451’,’指标下钻明细及导入ES对公贷款’,140011,2,’1’),
(452,’EPMSD_Z_ZBXZMX_GRDK_452’,’指标下钻明细及导入ES个人贷款’,140004,1,’0’),
(452,’EPMSD_Z_ZBXZMX_GRDK_452’,’指标下钻明细及导入ES个人贷款’,140012,2,’1’),
(453,’EPMSD_Z_ZBXZMX_TYZC_453’,’指标下钻明细及导入ES同业资产’,140005,1,’0’),
(453,’EPMSD_Z_ZBXZMX_TYZC_453’,’指标下钻明细及导入ES同业资产’,140013,2,’1’),
(454,’EPMSD_Z_ZBXZMX_PJYW_454’,’指标下钻明细及导入ES票据业务’,140006,1,’0’),
(454,’EPMSD_Z_ZBXZMX_PJYW_454’,’指标下钻明细及导入ES票据业务’,140014,2,’1’),
(455,’EPMSD_Z_ZBXZMX_YSKXTZ_455’,’指标下钻明细及导入ES应收投资款’,140007,1,’0’),
(455,’EPMSD_Z_ZBXZMX_YSKXTZ_455’,’指标下钻明细及导入ES应收投资款’,140015,2,’1’),
(456,’EPMSD_Z_ZBXZMX_LCFZ_456’,’指标下钻明细及导入ES理财负债’,140008,1,’0’),
(456,’EPMSD_Z_ZBXZMX_LCFZ_456’,’指标下钻明细及导入ES理财负债’,140016,2,’1’);


update XTB_ETLDDCS set qybz = 1 where csbh in(449,450,451,452,453,454,455,456) and qybz=0 limit 10000;
select from XTB_ETLDDCS where csbh in(449,450,451,452,453,454,455,456) and qybz=0 limit 10000;
——调用手工执行任务表
insert into XTB_SGDDRWB (cxbh,ddrq) values (990081, 20191116);

select
from CSB_DMB where csmc = ‘BUSINESSLINE’ limit 100

——Spark分析取数
insert into CSB_ZXSQL(VSQL,CZR) values (‘
select *
from epms_db.EPMS_ZHMXSJB_YSKXTZ where rq=20190831 and khyjfhh =””‘,lower(‘wangqin1’))

——重跑客户综合评价表
990108 sh_epmscalc_khmx_sjhz.sh
990110 sh_epmscalc_bbsj_khpj.sh
51010 sh_epmscalc_jhsj_dTm.sh 大数据向MYSQL数据传输 报表数据推送 00 00 29991231 DDDH 20015,20016
990109 SP_EPMSCALC_INIT_BBPZ_KHPJ

insert into XTB_SGDDRWB (cxbh,ddrq) values
(990108, 20191130),
(990110, 20191130),
(51010, 20191130),
(990109, 20191130);
分行业绩关系同步
sh_epmstran_msqlfhsc_loadfiles2.sh 20200803 30069 742109
call SP_EPMSCALC_FHYJKHJTB(20200803,’0’,’0’,@i_err_no);select @i_err_no;
call SP_EPMSCALC_FHYJMXJTB(20200803,’0’,’0’,@i_err_no);select @i_err_no;
call SP_EPMSFHXF_ZFHYJJH_ZHJ(20200803,@i_err_no);select @i_err_no;
call SP_EPMSFHXF_ZFHYJJH_KHJ(20200803,@i_err_no);select @i_err_no;

  1. 张兴思

业绩关系查询涉及的相关表
总行(主表,日志)
select from YJGX_ZHFP_KH; — 总行-客户级
select
from YJGX_ZHFP_CP; — 总行-产品级
select from YJGX_ZHFP_ZH; — 总行-明细级
select
from YJGX_ZHFP_KHZH; — 总行-客户账户级
select from XTB_ZHFPGXJL; — 总行分配关系记录
select
from XTB_ZHFPGXRZ order by jlsj desc; — 总行分配关系日志 (有时间记录)
分行(主表,日志)
select from YJGX_KH; — 分行-客户级
select
from YJGX_CP; — 分行-产品级
select from YJGX_ZH; — 分行-明细级
select
from YJGX_KHZH; — 分行-客户账户级
select from XTB_FPGXJL; — 分行分配关系记录
select
from XTB_FPGXRZ order by jlsj desc; — 分行分配关系记录(有时间记录)
总行业绩关系分配-客户级(导入) SP_EPMSJAVA_ZHYJGXKHDRJY
总行业绩关系分配-产品级(导入) SP_EPMSJAVA_ZHYJGXCPDRJY
总行业绩关系分配-明细级(导入) SP_EPMSJAVA_ZHYJGXZHDRJY
总行个贷业绩分配(导入) SP_EPMSJAVA_ZHYJGXZHDRJY
总行客户账户分配(导入) SP_EPMSJAVA_ZHYJGXKHZHDRJY
分行业绩关系分配-客户级(导入) SP_EPMSJAVA_YJGXKHDRJY
分行业绩关系分配-产品级(导入) SP_EPMSJAVA_YJGXCPDRJY
分行业绩关系分配-明细级(导入) SP_EPMSJAVA_YJGXZHDRJY
分行个贷业绩分配(导入) SP_EPMSJAVA_YJGXZHDRJY
分行客户账户分配(导入) SP_EPMSJAVA_YJGXKHZHDRJY
分行连根拔 SP_EPMSJAVA_JSZB_HYCX

  1. 郝英植
  2. 韩晓佳
  3. 刘华智

12.5.1.生产环境sql死锁,需要杀掉进程:
1. 查进程ID
select a.ID,a. from information_schema.processlist a where info is not null limit 100
2. 更新到doshell
#!/bin/sh
export v_dir=pwd
. $v_dir/sh_epmssys_config.sh
v_sql3=”kill 28642614; “
echo “v_sql3:${v_sql3}”
$MYSQL -e “$v_sql3”
exit 0
实际脚本:
select a.ID,a.
from information_schema.processlist a where info is not null limit 100
insert into CSB_SG_CXK (cxmc,cxlx,cxnr) values(lower(‘sh_epmsdoshell_190419.sh’),’1’, ‘
#!/bin/sh
export v_dir=pwd
. $v_dir/sh_epmssys_config.sh
v_sql3=”
kill 6195646;
kill 6195645;
kill 6195616;
kill 6195572;

echo “v_sql3:${v_sql3}”
$MYSQL -e “$v_sql3”
exit 0
‘);
然后调用更新程序(A21)
3.插入任务并手工调度A23作业:
实际脚本:
insert into XTB_SGDDRWB(CXBH,DDRQ) VALUES(990070,20200818),(990081,20200818);
最后调用A23作业即可。
4.小结:
A21作业是sh_epmssys_program_listener.sh
A23作业是手工调度。
990070 sh_epmssys_program_listener.sh 定时检查需要更新的程序
990081 sh_epmsdoshell_190419.sh doshell程序

  1. 邢世天
  2. 张睿杰
  3. 肖威
  4. 王宏
  5. 傅念

12.10.1.屏蔽 和释放
1.1客户类报表导出 STATU 1为屏蔽,0为释放
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘KHBBZHZKHJLDCKZ’ and xh >5;
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘KHBBZHZKHJLDCKZ’ and xh >5;
1.2.查询除【系统管理员2(新),(之前已屏蔽:客户经理,支行长,一级支行业务管理员苏州,支行管理员)】的其他角色,屏蔽和释放客户类报表导出
select from CSB_DMMSANKZ where dmmc = ‘KHBBZHZKHJLDCKZ’ and xh >5 and STATU=’1’ order by xh limit 100;
select
from CSB_DMMSANKZ where dmmc = ‘KHBBZHZKHJLDCKZ’ and xh >5 and STATU=’0’ order by xh limit 100;
2.1.指标下钻明细导出 STATU 1为屏蔽,0为释放
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘ZHZKHJLDCKZ’ and xh >5;
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘ZHZKHJLDCKZ’ and xh >5;
2.2.查询除【系统管理员2(新),(之前已屏蔽:客户经理,支行长,一级支行业务管理员苏州,支行管理员)】的其他角色,屏蔽和释放指标下钻明细导出
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘ZHZKHJLDCKZ’ and xh >5;
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘ZHZKHJLDCKZ’ and xh >5;
3.1个人桌面-客户排名-跳转到对公客户存款时点余额结构情况表,下钻链接展示
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘DGKHCKSDYEJGQKB’;
3.2.个人桌面-客户排名-跳转到对公客户存款时点余额结构情况表,下钻链接展示
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘DGKHCKSDYEJGQKB’;
4.1 联合营销考核业务调整汇总表弹窗控制 弹
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘LHYXTCKZ’;
4.2联合营销考核业务调整汇总表弹窗控制 不弹
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘LHYXTCKZ’;
5.1 总行管理员屏蔽利润表利润分析月表机构 查询和导出不可点击
update CSB_DMMSANKZ set STATU=’1’ where dmmc = ‘LRBLRFEBYJG’;
5.2总行管理员屏蔽利润表利润分析月表机构 查询和导出可点击
update CSB_DMMSANKZ set STATU=’0’ where dmmc = ‘LRBLRFEBYJG’;

  1. 信勇
  2. 胡其文

    12.12.1从业务角度查看指标是否出具

    检核方式一:
    逻辑:通过SQL查询与业务逻辑共同验证
    1、通过SELECT FROM XTB_YSZBJSRWB ORDER BY 1 DESC LIMIT 10 查询出批次状态:
    2、查看规模1、规模2和效益对应的指标
    SELECT
    FROM KHDX_ZBPCSZ LIMIT 600;
    pch为1代表规模1,pch为2代表规模2,剩余为效益
    3、查找出批次对应的指标,例如:
    规模1:对公结算存款年日均余额(2020年口径)
    规模2:个人贷款时点余额
    效益:营业净收入
    4、在机构指标查询,日期选择数据日期当天,机构选择中信银行,口径选择考核口径,指标选择要查看的指标
    ①若指标未出具,指标值展示为———
    ②若指标已出具,展示指标值
    检核方式二:
    逻辑:通过个人桌面考核表查看
    1、查看规模1、规模2和效益对应的指标
    SELECT FROM KHDX_ZBPCSZ LIMIT 600;
    pch为1代表规模1,pch为2代表规模2,剩余为效益
    2、查找出批次对应的指标,例如:
    规模1:对公结算存款年日均余额(2020年口径)
    规模2:个人贷款时点余额
    效益:营业净收入
    个人桌面考核表查看,首先查看考核表的数据日期,指标名称带
    代表考核表数据日期当天指标未出具。
    从下图可看出20200831规模1和规模2指标已出具,效益批未出具。
    绩效系统运维手册 - 图20

  3. 万梦杰