1、关于生产环境的吓人的事情。
(1)该银行由三个环境,开发环境、测试环境、生产环境。其中,开发环境和测试环境用的是一个库(之前是两个库),生产环境单独一个库。
(2)开发人员在开发或修改完报表之后会做一些测试,然后在同生产环境对比,这时显示结果可能不一样。
原因:1.报表开发过程中出错;
2.两个环境的数据不一样。
所以,一般我们会指定一个测试的点,把该点的数据从生产环境复制到测试环境。比如说,先将测试环境2016年3月3号的dept表中的数据删除,
在将生产环境的该天数据复制到测试环境,确保两个环境中的数据一致,来排查原因2.
另外,该公司用的是DBLink技术,由于比较粗心,所以使用delete dept@product where dateId = 20160303;把生产环境的数据给删去了
(很吓人,不很快解决会导致开发事故)。但是,也不必惊慌。
解决办法:如果使用PL/SQL 客户端,按Ctrl + E 快捷键会出现最近使用的SQL以及对应的时间;找到delete语句对应的时间t,如:2015-08-22 12:46:41,然后使 用.
insert into dept SELECT * FROM dept AS OF TIMESTAMP TO_TIMESTAMP('2015-08-22 12:46:41', 'YYYY-MM-DD HH24:MI:SS');
该方法利用了Oracle的闪回技术,此处不深入研究。
2、Cognos 开发过程遇到的版本问题。
(1)需求是:某个包下有多个表,开发过程分为两期,一期1,2,3 和 二期4,5,6,7 七张报表,一期优先级高。
(2)分两期发布测试,发布生产。
由于,刚开始一期报表修改完过后,发布测试。测试通过,接着又在该包中开发二期的报表。
一期的报表发布生产过后,又提来新的需求,要修改,然后接着改一期的报表,改完后,发布测试,此时包中已经包含了二期改过的Model,测试通过后发布生产。
这时生产环境的改过的二期报表肯定会报错。
解决办法:由于我们有生产环境数据库和生产环境Cognos的修改权限,而没有CCRC的版本修改权限,所以只有将在报表页面添加的字段删除,然后在生产数据库 中将对应表添加的字段删除。
如果没有生产环境权限,那就糟糕了。