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的版本修改權限,所以只有將在報表頁面添加的字段刪除,然後在生產數據庫
中將對應表添加的字段刪除。
如果沒有生產環境權限,那就糟糕了。