How to trigger flush of aloverflow db

Find and share HowTos to various installations / configurations!

Post Reply
3 posts • Page 1 of 1
Posts: 41
Joined: Thu Sep 22, 2011 12:57 pm

How to trigger flush of aloverflow db

Post by ozangor » Tue Sep 15, 2020 6:17 am

Hi there,

I am having issues with alert overflow db and figuring out how it works.

From help, I can say that if the received timestamp is not in the scope of current file set, it is written to the overflow db. And WinCC OA cyclically flushes the overflow db entries, into proper file-sets (when the archive is full). However, I have never seen that the file goes smaller even when the db is full. After the db is full I start getting file record limit exceeded errors and my database is corrupt afterwards.

Is there a way to flush the overflow db on request or at least control when it automatically does the switch.

This is really an important topic right now to our project, so I would appreciate any kind of help on this :)
2020-09-15 09_15_25-aloverflow.png

Posts: 41
Joined: Thu Sep 22, 2011 12:57 pm

Re: How to trigger flush of aloverflow db

Post by ozangor » Tue Sep 15, 2020 11:27 am

I set up my system to do file switch every 1 hour, or if adynvar.db file of the active fileset exceeds 50 mb(checked every 5 minutes). So all of my filesets have 50 to 100mb of data in them.

After my overflow db is full, the automatic flushing to the proper filesets did not take place. So the overflow db exceeded the file record limit, and broke my data manager.

I am sure that I have enough space in all of the filesets to write overflow db content.
However, it is basically not doing it at all, and if I keep receiving data for an older fileset, data manager tries to write it to the overflow db which results in:

WCCILdata (0), 2020.09.15 14:12:28.141, SYS, SEVERE, 69, Database error, DataManTask, dbError, RAIMA Database Error *** Code:-909 (SYSTEM/OS error: -909
file record limit exceeded
C errno = 0: No error
FILE: D:\workspaces\workspace\ExternLibs\rdm45\runtime\Dio.c(2096))
WCCILdata (0), 2020.09.15 14:12:28.145, SYS, SEVERE, 69, Database error, AlertCacheItem, flush, Code :101
MultipleInstanz_WarningsGenerator_DBarInstAlarmarInstAlarm1.alarm:_alert_hdl.._value (Type: 0 Sys: 0 Dp: 40992 El: 2 : _alert_hdl.._value)
TIME_VAR 196608 Tue Sep 15 14:02:00 2020 295

I really need a way to trigger the flush before it fails to write on overflow db anymore. Since this might be a real production case in the long run even if all the device times are synced. I am constantly receiving 150 alarms every second (75*2 - came&went). Can this block the work queue of the data manager? But it took quite few hours to fill the overflow db, so i think data manager could have found some time to do the operation even before the file set is full.

Posts: 69
Joined: Wed Oct 20, 2010 10:25 am

Re: How to trigger flush of aloverflow db

Post by mkerk » Wed Sep 16, 2020 10:40 am

there is no possibility to trigger flush of alert overflow db!.

I would rather recommend you to analyse and solve the root causes of this problem:

1- why received alarms have timestamp not in the scope of current file? are they in the past or in the future? are they received via a driver or triggered via a script?

2- continues load of 150 alarms every second (75*2 - came&went) seems for me not as a normal situation on production servers. is this only a test from you? or do you really have this alarm load?

Please contact our support team, in order to check how to reinitialize the overflow DB (this can only be done when the project is stopped).


Post Reply
3 posts • Page 1 of 1