日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle存储过程实例开发

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle存储过程实例开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,???????需求

登錄App的賬號是從兩個不同的系統過來,一個是zy,一個是mh。


2,???????實現機制

最初采用的是全量同步,即將本系統的信息一條條的與其他系統對比,沒有就新增多余就刪除。這樣全量同步導致的結果是過程時間執行太久,需要30分鐘左右。

然后考慮用增量同步,即其他系統送操作標識過來,每張表都新增一個op_flag,A代表新增,D代表刪除,M代表修改,根據這些標識進行更新。這樣修改后大大提高了同步效率,只需5分鐘即可完成,但出現另一個問題,維護成本太大。因為增量同步只涉及到本次的數據,上次出錯的數據是不會處理的。剛上線時,肯定大大小小會存在問題,所以每次修復問題后還要對歷史數據進行處理,工作量巨大,而且后續如果有新增的崗位信息,這也是個問題。

最后采用的是差集比較,全量同步和增量同步融合方式,對于具有有意義的唯一標識的表,如人員表,可將staff_id進行差集比較。對于關系表,如人員與小區的關系表,進行全量對比(staff_id必須加索引)。于非關鍵信息,進行增量同步,如人員的地址和姓名(只處理M)。這樣處理后,執行效率高,只需5分鐘左右;維護成本低,無需修復歷史數據;定位問題快,可直接定位到具體的記錄。

?

3,???????具體

1)必須建立回退和備份機制

回退:當突然出現大批量賬號問題導致無法登錄App時,首先將所有涉及的表回退,使之能正常登錄,然后才是分析和查找問題。

備份:賬號信息同步出錯時,必須分析是自己同步過程有誤還是賬號從其他系統過來就是錯的,所以必須建立備份機制才能分析到底是哪一方的問題。

?

2)必須建立同步日志和監控機制

日志:新建一張日志表,字段至少要有時間,具體的過程名,報錯或更新的信息,便于快速定位問題。

監控:將報錯的具體信息插入短信表,有個短信進程每隔半個小時會掃描,將短信發給負責人,負責人能實時監控同步過程的異常信息。

?

3)新建一個Package包,將所有過程放到包里,便于管理

?

4)新建一個過程用于job執行

該過程可控制不同過程的執行順序,如果新增或刪除,就不需要修改job,直接修改該過程即可生效。



5)問題的唯一標識

進入到每個游標里時,將唯一標識記錄下來,出錯時把唯一標識寫到表里,這樣拋錯的時候,不用一行行的去調試,直接定位問題所在,大大提升查找問題的效率


6)Insert語句

采用insert into table(字段)values(值)形式,不要用insert into table values()方式。因為table是鏈路過來的表的話,如果新增字段,沒有處理的話,則會報錯,采用第一種形式的話,就不會報錯。


7)Update、delete語句

不要寫沒有where條件的update或delete語句

?

4,???????其他

涉及到公司機密,具體代碼就不上傳了。

?

?

?

總結

以上是生活随笔為你收集整理的Oracle存储过程实例开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。