如何處理大資料量抽數長期無響應

2021-09-08 03:41:39 字數 1681 閱讀 4985

在乙個專案上線過程中,由於一些模型資料量巨大,抽數十分緩慢,長期在黃燈狀態,

monitor

的訊息是:

missing messages.

處理幾次類似問題後,總結了一點經驗:

首先檢查系統的一些引數設定是否正確,和抽數相關的引數包括:

1. sm59

2. s

biw進行傳輸設定:

idoc

頻率:多少個資料

idoc

後返回乙個訊息

idoc

(monitor

中,要收到訊息

idoc

才能確認資料傳輸完成,否則一直等待直到報

missing messages

錯誤)。當

idoc

資料報比較大時,建議降低頻率,這樣可以及時發現問題。一般在

5-10

之間,不超過20。

idoc

資料報:每個資料報包含幾條記錄

,通常在

5000~20000

之間。一般,每個載入程序不要超過

100個資料報,因此大抽取大量業務資料時,最好將該值設得大一點。例如:

50000

(oracle/sql server)

或10000

(informix)

3. 根據資料量,估計設定

infopackage

執行時的最長等待時間

, 並設定好

timeout

的時間

4. 設定trfc

最大連線數:

sm58

然後,根據監控器反饋的資訊及時處理問題:

1. 若監控器的

***x from yyyy

一直在變化,說明資料一直在傳輸中,正常情況下會一直到

***x=yyyy

,yyyy

為源的資料量。

2. 若監控器的

***x from yyyy

不動了,則有問題,應當看看

detail

的訊息。一般會出現

missing messages,

是抽數執行緒太多造成

sql

死鎖。這時,則應通過

sm50

觀察抽數程序是否扔在工作。若抽數程序不動了,應去

sm58

觀察trfc

的情況,手工執行

(f6)

死鎖的trfc

以及長時間等待的

trfc

。此時sm50

中的程序應該繼續工作了。

3. 觀察監控器,直到資料全部抽取到

bw並完成處理。若資料全部抽完(

***x=yyyy)

,但一直出於

missing messages

的黃燈或紅燈狀態,則可以手工置紅

request

,然後手工更新資料報,然後再手工置綠。有時,還需要手工

roll up.

4. 資料量大的話,最好先做

full update,

然後再做無資料的

initial

5. 資料量很大的話(千萬以上),

full update

時,最好按時間段或憑證號分次上數。

...滿懷希望,期待未知的旅程。

pasted from <>

大資料量處理

看看這個,異曲同工,永遠不超時 該程式是針對非常龐大的資料庫開發的,沒有用迴圈 用途 對過萬條資料的資料庫字段內容批量替換 資料庫連線 dim beeyee dbname,connstr,conn,intsn1 dim content,num,intsn,intidno,strcodea,strco...

航測大資料量處理 大資料量處理及優化措施

1 首先考慮垂直拆分庫,不同的表拆分到不同的庫中,例如使用者庫 產品庫 支付庫 2 然後考慮水平拆分庫,將乙個表的資料放到多張表中,例如按照使用者 時間 訂單號 3 插入資料的時候不建立索引 4 待資料已經插入完成後,建立索引 5 正確的指定索引字段 6 使用批量插入資料庫的方式代替單條資料的插入 ...

mysql大資料量處理

2008 07 11 10 41 58 分類 mysql 舉報 字型大小訂閱 以下是個人的總結,有不對的地方大家指點 設計上 冗餘 有些能冗餘的就冗餘吧,盡量少關聯表 垂直分割槽,一條記錄中有text,varchar 這些能拆出來就拆出來,能用小的型別就用小的型別,如 char替換varchar之類...