整合手機平臺待辦資料失敗問題跟蹤和處理(Mongodb、Oracle、SQLServer)
整合手機平臺待辦資料失敗問題跟蹤和處理
Mongodb 、 Oracle 、 SQLServer
場景:
公司的整合手機平臺後臺的核心資料庫採用的Mongodb 讀寫分離架構,所有異構系統平臺 ( 財務、ERP 、計劃 ......)( 對應的資料庫ORACLE 、 SQLServer 、 Mysql ......) 流程待辦會實時推送到Mongodb 庫裡,實現所有系統手機端移動審批。
問題:
各個系統供應商對接整合手機平臺系統水平參差不齊,經常出現個別系統待辦未推到整合手機平臺或待辦轉已辦失敗的問題;
解決方案:
各個系統供應商最佳化介面週期長,在最佳化完成之前,需要有手動處理機制,即出現待辦未推送或待辦轉已辦失敗問題,可以及時知道並及時手動處理。
一:待辦出現問題時,第一時間向相關係統管理員傳送預警郵件,及時手動干預,避免問題升級;
二:監控大屏實時展示失敗的待辦資訊;
三:當失敗的待辦數量很龐大,批次修復並定期集中處理歷史失敗的待辦;
一:待辦出現問題時,第一時間向相關係統管理員傳送預警郵件,及時手動干預,避免問題升級;
由於待辦出現問題時會在相應系統資料庫裡生成一條日誌記錄,可以透過觸發器實現郵件預警,以SQLServer 資料庫為例:
二:監控大屏實時展示失敗的待辦資訊
透過Grafana 監控平臺,可以新增 SQLServer 等資料來源,實時展現失敗待辦資訊;
三:當失敗的待辦數量很龐大,批次修復或定期處理歷史失敗的待辦
可以透過整合手機平臺資料庫(Mongodb) 的待辦表和各個系統資料庫 (ORACLE 、 SQLServer 、 Mysql) 待辦表做對比:
1 整合手機平臺資料庫 (Mongodb) 的待辦資料多於各個系統資料庫待辦資料,表示待辦轉已辦失敗,需要手動刪除多餘的待辦資訊;
2 整合手機平臺資料庫 (Mongodb) 的待辦資料少於各個系統資料庫待辦資料,表示待辦推送失敗,需要手動重推;
那麼如何批次查出所有系統待辦轉已辦失敗的資料 呢 ?
(1) 匯出整合手機平臺資料庫(Mongodb) 的待辦資料到 execl
Mongodb 所在伺服器作業系統為 Centos7.5, 可以在自己電腦上安裝一個 Mongodb 客戶端,使用 mongoexport 工具匯出資料;
匯出語句:
D:\MongoDB\Server\3.4\bin>
mongoexport.exe --csv --host 192.100.100.100:27017 /d testdb /c TEST_TdUndo /f "_id,userName,account,createTime,content" /q "{"delete": false}" /o C:\Users\Administrator\Desktop\all cjc _Undo1219a.csv
預設情況下開啟CSV 檔案中文是亂碼的:
透過如下方式解決亂碼問題:
--- 開啟方式 ( 記事本 )--- 格式 --- 字型 --- 中文 GB2312--- 儲存 ----csv 方式開啟 --- 調整格式 --- 另存為 execl 格式檔案
( 2 ) 匯出各個系統資料庫(ORACLE 、 SQLServer 、 Mysql) 的待辦資料到 execl
例如 系統1 :
select Name, Account , Ini Date, content from undoerp
where UnDoStatus=' 待辦 '
and CreateDate>='2019-11- 01 08:00:00.000'
and CreateDate<='2019-12- 01 23:59:00.000';
(3) 對比資料
---1 整合手機平臺資料庫 (Mongodb) 的待辦資料多於各個系統資料庫待辦資料,表示待辦轉已辦失敗,需要手動刪除;
---2 整合手機平臺資料庫 (Mongodb) 的待辦資料少於各個系統資料庫待辦資料,表示待辦推送失敗,需要手動重推;
資料對比有兩種方式:
1 :透過execl 函式對比各個系統資料,找出待辦轉已辦失敗的資料和待辦未推的資料;
但是實際情況可能會比較複雜,比如各系統時間格式不一致、推送待辦有延時、標題不一致等問題,透過execl 很難對比資料,可以透過 SQL 語句實現資料對比;
2 :將所有系統對應的Mongodb 、 Oracle 、 SQLServer 、 Mysql 待辦資料匯出到execl 中,在將所有系統execl 資料透過plsql 全部匯入到 oracle 資料庫中,透過 sql 對比找出想要的資料,例如 Mongodb 資料表左連線各系統Oracle 、 SQLServer 、 Mysql 資料表,匹配不上的資料,既是待辦轉已辦失敗的資料。 Oracle 、 SQLServer 、 Mysql 資料表左連線 Mongodb 資料表,匹配不上的資料,既是未推待辦的資料。
(1)oracle 先建立多張表,並透過plsql 匯入各個系統資料;
例如:
create table undo cjc (id varchar2(500),userName varchar2(500),account varchar2(100), updateTime varchar2(100),content nvarchar2(2000));
select * from undo cjc for update;
create table undo erp (userName varchar2(500),account varchar2(100), updateTime varchar2(100),content nvarchar2(2000),isstart varchar2(100));
select * from undo erp for update;
……
(2) 透過sql 進行資料對比
select distinct a.id,a.username cjc 使用者名稱,
a.account cjc 登入名,
a.updatetime cjc 到達時間,
a.content enanar 標題 ,
b.username erp 使用者名稱 ,
b.account erp 登入名 ,
b.updatetime erp 到達時間 ,
b.content erp 標題
from undo cjc a
left JOIN undoerp b
on a.account = b.account
and a.content like '%' || b.content || '%'
where a.content = ‘ xxx 系統 ’
order by erp 登入名 ;
右側沒有匹配上的資料,既是待辦轉已辦失敗的資料;
邏輯刪除有問題的待辦:
即透過主鍵ID 唯一定位到有問題的待辦,將 delete 欄位值由 false 改成 true ;
單條語句如下:
db.T_ChenUndo.update({"_id":ObjectId("5dd3xxxxx"),"account":"cjc","delete":false},{$set:{delete:true}},{multi:true});
根據ID 等資訊,批次生成刪除錯誤待辦的指令碼,即可批次修復待辦轉已辦失敗問題;
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2671167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 某省ORACLE10G RAC資料庫CRS啟動失敗問題處理Oracle資料庫
- SQLServer執行儲存過程失敗(sys.xp_cmdshell)問題處理SQLServer儲存過程
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- linux swap掛載失敗問題處理Linux
- mongodb啟動失敗問題解決MongoDB
- oracle schedule 任務失敗處理Oracle
- oracle對JOB失敗的處理Oracle
- Mac openssl 未找到 / 載入失敗問題處理Mac
- oracle10g會話跟蹤處理Oracle會話
- MochaImport+ for Mac - 匯入處理Mocha跟蹤資料AIImportMac
- Oracle DG同步失敗故障處理(二)Oracle
- Oracle資料庫跟蹤SQLOracle資料庫SQL
- 處理SQLServer errorlog滿問題SQLServerError
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- Oracle_dg歸檔丟失問題處理Oracle
- session跟蹤失效的問題和原因Session
- Dede呼叫資料庫失敗,無法實現資料處理資料庫
- Oracle資料庫無效物件問題處理Oracle資料庫物件
- Oracle中su切換進去sqlplus登入失敗的問題處理OracleSQL
- 剖析大資料平臺的資料處理大資料
- sqlserver、oracle資料庫排序空值null問題解決辦法SQLServerOracle資料庫排序Null
- 網上 平臺玩提取平臺維護資料異常瀏覽失敗怎麼辦
- SQLServer進行SQL跟蹤SQLServer
- 大資料處理平臺都有哪些?大資料
- Aix 7一次補丁安裝失敗問題處理AI
- Gaussdb: CN修復失敗對openssl版本依賴問題處理
- 資料處理--pandas問題
- ETL資料整合,RestCloud資料整合平臺RESTCloud
- Oracle跟蹤事件和dumpOracle事件
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- 近期處理的Oracle資料庫問題總結Oracle資料庫
- oracle 跟蹤檔案理論整理Oracle
- mongodb資料庫連結失敗如何解決MongoDB資料庫
- 有關計算機和網路卡對資料處理的問題計算機
- Oracle全部索引丟失導致的效率問題處理Oracle索引
- 22個大資料開發處理框架平臺和工具大資料框架
- DB2資料庫連線失敗問題DB2資料庫
- jivejdon程式碼跟蹤問題