Recently, one of my customers encountered an error below in the middle of running the iqunload utility in order to upgrade their IQ database to IQ 16.

2014-07-06 20:14:13 Unloading table definitions

2014-07-06 20:14:13  SA tables

2014-07-06 20:14:18  SA columns

2014-07-06 20:14:44  IQ tables

2014-07-06 20:15:06  IQ columns

2014-07-06 20:15:23  IQ indexes

2014-07-06 20:16:23  SA indexes

2014-07-06 20:16:32 Unloading index definitions

2014-07-06 20:16:32 Unloading functions

2014-07-06 20:16:32 Unloading view definitions

2014-07-06 20:16:32 Unloading procedures

2014-07-06 20:16:32 Unloading triggers

2014-07-06 20:16:32 Unloading SQL Remote definitions

2014-07-06 20:16:32 Unloading MobiLink definitions

2014-07-06 20:16:35 Creating new database

Exception Thrown from stcxtlib/st_database.cxx:1938, Err# 49, tid 2 origtid 2

   O/S Err#: 0, ErrID: 5120 (st_databaseException); SQLCode: -1000338, SQLState: ‘Q0038’, Severity:14

[21221]: Insufficient cache to allocate free list. Main buffers required: 136; main buffers avaliable:31.

— (stcxtlib/st_database.cxx:1938) .

***** SQLerror: Insufficient cache to allocate free list. Main buffers required: 136; main buffers avaliable:31.

— (stcxtlib/st_database.cxx:1938) .

The customer ran the iqunload utility as follows :

iqunload -p8192 -au -c “UID=DBA;PWD=SQL;ENG=DBPADW1;DBF=/asiq/DBPADW1/DEV/DBPADW1.db;start=@DBPADW1.cfg” -o unload.out -ms_filename “/dev/radw500gl001“ -v

While searching for the solution, I found a unfamiliar option “-new_startline” and its usage in iqunload utility.

The reason the error above happens is as below.

“Insufficient cache memory causes migration errors. iqunload uses default values for various cache sizes (catalog cache, main buffer cache, temp cache).

If the legacy database requires higher cache values, use the -ch and -cl options as part of the START connection parameter to increase the cache size.

Default cache settings for large schemas may be too small and can exhaust dynamic memory in the iqsrv16 server.

Use the -c switch to increase the server cache memory and -new_startline to pass the switch to the server.”

So, I was able to resolve the problem by specifying the “-new_startline” option so that the utility_db server can use it to create the new catalog store.

iqunload -p8192 -au -c “UID=DBA;PWD=SQL;ENG=DBPADW1;DBF=/asiq/DBPADW1/DEV/DBPADW1.db;start=@DBPADW1.cfg” -o unload.out -ms_filename “/dev/radw500gl001“ -v -new_startline “-ch 2048M -iqmc 4000 -iqtc 4000”

Please refer to the manual page describing the option.

[IQ 16.0]
http://help.sap.com/saphelp_iq1608_iqmig_lin/helpdata/en/a8/70a1b984f21015b6fc845d0c93df3e/content.htm?frameset=/en/a8/70a1b984f21015b6fc845d0c93df3e/frameset.htm&current_toc=/en/a8/8cb5ae84f210158632dabe4df1f2d4/plain.htm&node_id=78
http://help.sap.com/saphelp_iq1608_iqmig_lin/helpdata/en/a6/859fc384f21015be8dde2c42f1bd77/content.htm?frameset=/en/a6/859fc384f21015be8dde2c42f1bd77/frameset.htm&current_toc=/en/a8/8cb5ae84f210158632dabe4df1f2d4/plain.htm&node_id=84

[IQ 15.4]
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30051.1540/doc/html/san1282692549548.html
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30051.1540/doc/html/san1282692546876.html

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply