【工作杂记】一次修改表字段名操作导致的报表缺失了2个小时的数据

  因为MSTR中设计实体的时候,字段名不一样的话两个表无法关联(很死板),故修改了表TBL_FACT_SKILL_RG96868_HOUR中的被叫字段名called_no->calleeno,大概9点20左右的时候做的修改列名操作。
  由于疏忽,忘记修改了前一日新增的存储过程中的PRC_SKILL_RG_96868_HOUR的insert操作列名还未修改,导致存储过程编译失败,由于该过程又被更高一级每半小时执行一次的过程sp_icd_h_job调用了,进一步导致此过程也编译失败,但是当时并没有做验证,9点30时,调度job开始执行存储过程,由于存储过程编译失败,导致此过程中的过程都没有执行成功,因此8点到9点数据都没有生成。大概10点左右的时候,出现了一次现场环境的大面积断网,直到11点10左右的时候,报表使用人员开始上报错误信息:MSTR报表WEB页面无法打开。于是就紧急重启了MSTR服务器(这是另外一个问题,在端午节的早上也出现了这种问题,目前还不知道是什么原因)。

  MSTR服务器重启好之后,MSTR的web可以正常登录,又过了一会儿,使用人员上报信息说今天的报表只能查到0点到7点的数据,8点到10点的数据没有显示。于是我从报表去取数的事实表开始顺藤摸瓜,发现是昨天新加的存储过程导致的,而且今天早上修改的表字段名也正是与这个存储过程相关的,我立即修改了存储过程中相应的字段名,重新编译存储过程,编译成功,然后立即开始执行数据更新,从8点开始,一致执行到11点的,执行过程中刚好遇到了半小时自动执行调度job,形成了冲突,导致11点-12点的自动job虽然执行成功,但是生成数据的缺失,我当时猜想是因为我在手动执行的存储过程与调度job自动执行的存储过程冲突了。
  查看存储过程执行日志,等待调度job执行完毕后,再次手动执行过程刷新11点到12点的数据,这次成功生成数据。

时间: 2024-09-30 00:27:28

【工作杂记】一次修改表字段名操作导致的报表缺失了2个小时的数据的相关文章

mysql中修改表字段名/字段长度/字段类型详解

先来看看常用的方法 MySql的简单语法,常用,却不容易记住.当然,这些Sql语法在各数据库中基本通用.下面列出: 1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空alter table user add COLUMN new2 VARCHAR(20) NOT NULL; //增加一个字段,默认不能为空 2.删除一个字段 alter table user DROP COLUMN ne

oracle修改表字段名时报错:ORA-00054:资源正忙,但指定以NOWAIT方式获取资源,或者超时失效的问题

打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, osuser FROM v$session where sid = 1; 查询出当前会话数的信息 ALTER SYSTEM KILL SESSION '200,2141'; 杀掉当前会话 注:'200,2141'是:SID和SERIAL字段进行拼接的

atitit查询表修改表字段没反应--解锁锁定的表

查询表修改表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweixin  MODIFY  awardChoiceNumLeft int(11) DEFAULT NULL #-----分析.. 1.首先,查询by另一个表格,  要是能查询,显示不是max conn的问题..也许表格锁定了.. 2. show full PROCESSLIST  要是看到个Waiting for table metadata lock

MySQL修改表的默认字符集和修改表字段的默认字符集

修改表的默认字符集: ALTER TABLE table_name DEFAULT CHARACTER SET character_name; 修改表字段的默认字符集: ALTER TABLE table_name CHANGE field field field_type CHARACTER SET character_name [other_attribute] 修改表的默认字符集和所有列的字符集: ALTER TABLE table_name CONVERT TO CHARACTER SE

MySQL生产库中添加修改表字段引起主从崩溃的问题总结

上周末和开发人员对线上库中的部分表的在线DDL和update,这过程中出现了一些意料之外的问题,现将过程.分析和解决方案在这里总结一下 一. 需求背景: 要在如下表中添加字段(modified_at)并且更改默认值 table_name { baby_compbaby_comp_statusbaby_usrbaby_ad_userbaby_campbaby_ordbaby_acc_eva } 每张表执行如下操作ALTER TABLE `$table_name` ADD COLUMN `modif

mysql修改表字段编码,使其支持emoji表情

普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xB0\xE5\x9C...' for column 'name' at row 1 将表字段的编码单独改成utf8mb4,即可支持emoji表情的插入. 修改的sql语句为 mysql> alter table user modify column name varchar(255) char

mysql修改表字段顺序

修改字段排列位置 ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2 参数说明 FIRST,可选参数 将字段1,修改为表的第一个字段. AFTER 字段名2 将字段1,插入到字段2的后面. 将数据表grade的username字段,修改未表的第一个字段 将数据表grade的id字段,插入到grade字段后面 原文地址:https://www.cnblogs.com/yuancr/p/9146196.html

PostgreSQL 修改表字段常用命令

--数据库.模式.表名 "identities"."Test"."tab_test" --修改字段名ALTER TABLE "identities"."Test"."tab_test" RENAME "u_name" to realname ; --添加字段ALTER TABLE "identities"."Test".&quo

Mysql---4 修改表字段操作(增,删,改,重命名)

1.修改表名: alter table  [表1]  rename  as [表2] 2.增加表字段: alter table [table1] add  列名 INT(4)--数据类型 3.修改表字段:change 重名字段名    modify 修改字段数据类型和约束 alter table [table1] modify  列名 varchar(4) alter table [table1] change 列名  列名1 int(4) 4.删除表字段: alter table [table