macahu
19th September 2005, 11:42
Hi all,

I'm trying the full update of sales statistics (tdsst0201m000) with no success.
the tdsst tables 010, 015 and 018 are cleared correctly but for the 020 i get an error : "Fatal error : error 2562(bdb_errno 2562) on tdsst020908 in clear_table
Fatal error : Can not continue in tdsst0201m000 (tdsls.dll0022.array.length)
there are 4108763 records in tdsst020 table and the program run under Rollback segment of 2500 Mo.

Recently, i get the last script of tdsst0201 (dated from 23/03/2004) and their I find a correction on db.clear.table function :
db.clear.table(ttdsst020,no.rollback)
My question is : is this correction sufficient to run the program properly ?
and what it means "no.rollback"


Thanks for your help

sportingt
22nd March 2008, 11:36
Hello,

we had a similar Problem with running a full update (tdsst0201m000).
I think, it's a problem of to few pages in the logical logs of your Database (if it is Informix).

tdsst0201m000 creates a very long transaction order in database. For long transaction you will need much more space than for short transactions.

First Check your server-variable
LOGFILES 360 (default 6)
LOGSIZE 30000 (default 500)
LOGSMAX 360 (default 6)
LBU_PRESERVE 1 (default 0)

check your chunk-space and location with onstat -d

If you have not enough logs and space, stop database change variables in the config file of your instance, start server then add chunk and logs.

- stop instance(user informix)
> onmode -ucky
- edit config file
- start instance in single user mode
> oninit -s
- create a new and emty ASCII-File in path where you store logical logs
(e.g. H:\IFMXDATA\baandb_Llog\baandb_llog.02, loction see onstat -d)
- add new chunk to your logical logs dbspace and format new file (size 2GB, Windows restriction)
> onspaces -a baandb_llog -p H:\IFMXDATA\baandb_Llog\baandb_llog.02 -o 0 -s 2097144
- perform a log-switch and checkpoint
> onmode -l; onmode -c
- add your amount of new logfiles (e.g. 10, or Max 360 depending on LOGSMAX )
> for %I in (0 1 2 3 4 5 6 7 8 9) do onparams -a -d baandb_llog
- make logs available for use
> ontape -s
- start database in multi user mode
> onmode -m

If you had configured enough space in the logs the programm tdsst0201m000 should be run properly.

best regards
sportingt

mig28mx
24th March 2008, 19:59
Hello,
As a matter of fact, when you run a full update statistics,the system first try to delete all the sales statistics tables. When I was on Informix database, and reported this problem, the infor solution was to delete the tables manually. Then run update full sales statistics.
The no.rollback instruction, prevents to store the table on rollback segments before drop the table and do the commit command.

For example, before to delete a table, this table stores on rollback segments (before version 9i) and then delete it. If the rollback segments are small or not enough to store the whole table, then an error is displayed and the table is not deleted.

In theory, this instruction (no rollback) have to be enough to delete the whole table without problems.

Hope this helps.