整合手機平臺待辦資料失敗問題跟蹤和處理(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 等資訊,批量生成刪除錯誤待辦的指令碼,即可批量修復待辦轉已辦失敗問題;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2671167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- linux swap掛載失敗問題處理Linux
- Oracle DG同步失敗故障處理(二)Oracle
- Oracle資料庫跟蹤SQLOracle資料庫SQL
- mongodb啟動失敗問題解決MongoDB
- 處理SQLServer errorlog滿問題SQLServerError
- Mac openssl 未找到 / 載入失敗問題處理Mac
- MochaImport+ for Mac - 匯入處理Mocha跟蹤資料AIImportMac
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- Oracle RAC+ADG新增資料檔案失敗處理(db_create_file_dest)Oracle
- SQLServer進行SQL跟蹤SQLServer
- Dede呼叫資料庫失敗,無法實現資料處理資料庫
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Aix 7一次補丁安裝失敗問題處理AI
- Gaussdb: CN修復失敗對openssl版本依賴問題處理
- 資料處理--pandas問題
- 剖析大資料平臺的資料處理大資料
- 【TRACE】如果通過10046跟蹤資料庫效能問題資料庫
- 大資料處理平臺都有哪些?大資料
- 網上 平臺玩提取平臺維護資料異常瀏覽失敗怎麼辦
- Oracle資料庫處理壞塊問題常用命令Oracle資料庫
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- 工業網際網路平臺“混戰”,資料安全問題待破解
- sp_trace_setfilter sqlserver篩選跟蹤或跟蹤過濾FilterSQLServer
- mongodb資料庫連結失敗如何解決MongoDB資料庫
- DB2資料庫連線失敗問題DB2資料庫
- ETL資料整合,RestCloud資料整合平臺RESTCloud
- 銀河麒麟系統安裝ORACLE資料庫問題處理Oracle資料庫
- oracle SP2-問題處理Oracle
- 22個大資料開發處理框架平臺和工具大資料框架
- 配置 Spring Batch 批處理失敗重試機制SpringBAT
- 海量資料處理問題知識點複習手冊
- 資料庫主機重啟卡住問題處理分享資料庫
- postgresql連線失敗如何處理SQL
- 使用 Emacs 進行社交併跟蹤你的待辦事項列表Mac
- Oracle impdp遷移資料後主鍵丟失故障處理Oracle
- dev-server失蹤問題devServer
- RocketMQ Connect 構建流式資料處理平臺MQ