Error messages from IQ

From SybaseWiki
Jump to: navigation, search

Sybase IQ sometimes gives some confusing error messages. Here are some messages and a possible solution

QDA11 - Transaction <nr> attempted to access an object created by transaction <other-number>

Exception Thrown from db_txnInfo.cxx:690, Err# 0, tid 478 origtid 478
   O/S Err#: 0, ErrID: 1025 (db_catalogException); SQLCode: -1000011, SQLState: 'QDA11', Severity: 14
[20671]: Transaction 156593 attempted to access an object created by transaction 156608. 
-- (db_txnInfo.cxx 690)

See http://www.petersap.nl/SybaseWiki/index.php/Versioning_and_locks for a detailed discussion.

QDA29 - Cannot open the requested object for write in the current transaction

Exception Thrown from db_txnInfo.cxx:833, Err# 1, tid 143 origtid 143
   O/S Err#: 0, ErrID: 1025 (db_catalogException); SQLCode: -1000029, SQLState: 'QDA29', Severity: 14
[20689]: Cannot open the requested object for write in the current transaction (1722819).   Another user has write access in transaction 1722818. 
-- (db_txnInfo.cxx 833)

When you get this message in the IQ message file, it means that only a single session can update the same table at the same time. Although the text of the message indicates that an exception in the catalog was detected, you will see this error also for base IQ tables.

QXA11 - Not enough server threads available for this query

Exception Thrown from st_cursor.cxx:1060, Err# 4, tid 522 origtid 522
   O/S Err#: 0, ErrID: 5123 (st_cursorexception); SQLCode: -1010011, SQLState: 'QXA11', Severity: 14
[21007]: Not enough server threads available for this query.

There are not enough server threads available to run the query. To see the current number of configured server threads you can look in the stderr file for the IQ server. By default this file is created in $ASDIR/logfiles, when the file is not there then check $ASLOGDIR. In the top of file you can see a like:

745 threads             (     -iqmt )

To configure IQ for more server threads, add the -iqmt parameter to the IQ configuration file (default name params.cfg). Stop and start the IQ server to activate the new setting.

Msg 17901 - The userid "<user-name>" cannot be found in the User Admin tables

Msg 17901, Level 16, State 0:
RAISERROR executed:  The userid "<user-name>" cannot be found in the User Admin tables.  See the database administrator.

Can be resolved when you run "sp_iqmodifyadmin 'enable'".