Database Upgrades

Important information about database upgrades.

For detailed information about installing and upgrading SAP Sybase IQ, see the Installation and Configuration Guide.

CR# Description
726782
  • Drop Servers of Type asejdbc Before Migrating SAP Sybase IQ 12.7 Databases to SAP Sybase IQ 16.0 – The asejdbc server class is deprecated. Servers of type asejdbc must be dropped prior to running iqunload. SAP Sybase IQ 12.7 databases with remote server definitions based on the asejdbc driver will not have these definitions migrated to by the iqunload tool and will not give an error at the beginning of an unload saying that you need to drop any asejdbc servers (if there are any present).
702052
  • Drop all JOIN and all LD indexes. On multiplex, drop all logical servers named AUTO, COORDINATOR, ALL or DEFAULT – If you do not drop these objects and try to run an ALTER DATABASE UPGRADE in SAP Sybase IQ 16.0, the upgrade fails and the server returns a message that indicates that a database upgrade is not possible when these objects are in use.
  • Recovery Infomation – To recover from a failed upgrade, shutdown the 16.0 server, open the database with SAP Sybase IQ 15.x, and drop all LD and all JOIN indexes as well as any named logical servers before proceeding with the migration.
675890
  • ALTER DATABASE UPGRADE Fails with the Error "Not allowed while 'DBA' is using the database" – Database upgrade procedures in the Installation and Configuration Guide instruct you to use several startup flags to start or restart a server. If Sybase Control Center is running, or another process that automatically connects to SAP Sybase IQ, you must increase the number of connections using the -gm flag or the upgrade fails.

    In an environment where many processes automatically connect to SAP Sybase IQ, consider temporarily starting SAP Sybase IQ on a different port using the -x flag. This option prevents all existing processes from connecting to IQ since the port will be unknown to them. You can also use this method for any maintenance task that requires SAP Sybase IQ connectivity to be limited.

    For example, the SAP Sybase IQ upgrade procedure follows this sequence for a simplex server:
    1. Shut down the server, then restart with these startup flags:

      -gm 1 -iqro 1

    2. Run ALTER DATABASE UPGRADE.

      SAP Sybase IQ returns a Not allowed while 'DBA' is using the database error.

    Similarly, the IQ multiplex upgrade procedure follows this sequence:
    1. Shut down the multiplex, then restart the coordinator with these startup flags:

      -iqmpx_sn 1 -gm 1 -iqro 1

    2. Run ALTER DATABASE UPGRADE.

      IQ returns a Not allowed while 'DBA' is using the database error.

    • Workaround 1 – The -gm switch controls the number of connections when you start the server.
      1. Start the server with -gm 2 (which allows two connections), or drop the existing connection which is used by SCC when the server starts.
      2. Verify the number of connections using the sp_iqconnection command.
      3. If necessary, drop any connections used by SCC (or other processes) using the DROP CONNECTION <id_number> command.
    • Workaround 2 – Temporarily start IQ on a different port using the –x switch: The –x switch controls the port that IQ uses when you start the server.
      • On a simplex server, use the –x switch to specify a new port number: start_iq @yourserver.cfg yourdb.db -x 'tcpip{port=<new_port>}'
      • On a multiplex server, use both the –x switch and the iqmpx override switch to specify a new port number: start_iq @yourserver.cfg yourdb.db -iqmpx_ov 1 -x 'tcpip{port=<new_port>}'
732621
  • Cannot Enable Row-level Versioning in Upgraded Database – If you upgrade a database from 15.x to 16.0, you cannot enable row-level versioning (using the ALTER TABLE statement), or perform LOAD, INSERT or UPDATE statements on any IQ base table containing a CHAR, VARCHAR or VARBINARY column of width greater than 255. If your upgraded database contains a table having a column with these criteria, run the sp_iqrebuildindex procedure. After you run this procedure, you can enable row-level versioning and perform DML statements on these large-column tables.