Description

When I deleted a large amount of data from a disam table in nav_util I had error message.

We used a condition statement and deleted each 1000 rows, for example:

"delete from tablename where col1 < 1000"

This is actually inconvenient.

Do you have any idea on how to delete large amounts of disam data ?

In the Attunity documentation I found how to clear disam data but it didn't work.

Solution

This a problem related to the DISAM files of the Staging Area (SA).

If this is the case then there is a parameter called eventExpirationHours, which defaults to 48 (hours).

This parameter can be edited using Attunity Studio, it resides in the Router's configuration.

With the current setting this means that an event residing more than 48 hours will be a candidate for deletion (or cleanup) from the SA files.

You should set the parameter to a value that suites your needs and you will not have to manually clean the DISAM files.

If you have a problem with the physical size of the DISAM files, you can perform maintenance on it every once in a while using the DPACK utility.

PLEASE NOTE:
- Deleting DISAM records, marks them for deletion and does not physically affect the file size.

The minimal expiration time for events is 1 hour. We don't support fractions. This is not a BUG, this is how the product is currently implemented.

Attunity does not support the manual deletion of the records from the DISAM staging area files.

Notes:-

* It's not reliable to limit the expirationHours for a fraction of time,
this could cause in situations of stress for the Client (which consumed the SA) to not get the changes.

* An expirationHours of 1, will perform automatic cleanup every hour which
is very reasonable if they consume the changes fast enough.

* The staging area deletes expired events as an idle time task. We in no way guarantee immediate deletion of events once they expire. Even if you set the expiration to 1 hour, it could be that events will actually be deleted after two or three hours. The design regards this as a housekeeping task that is lower in priority than capturing new events. It will delete old events only in quiet periods.