Upgrade all multiplex databases to version 12.5 before following the instructions in this section.
Sybase Central uses default settings for server start-up
switches from the params.cfg file. The default
values of some start-up options, such as those that control cache
sizes, may be insufficient for migrating large multiplex servers. For
best results, create a configuration file with higher values for
switches such as -c, -cl and -ch.
Specify this file explicitly when starting the multiplex server for
database upgrade. For details about configuration files, see “Configuring the Sybase IQ Server”.
To upgrade multiplex databases from 12.5 to 12.7, perform the steps that follow on each server in the multiplex.
To upgrade 12.6 databases, see “Upgrading 12.6 multiplex databases to 12.7”.
Wherever backup is recommended, you should back up the write server and any query servers where you created an IQ Local Store.
Upgrading 12.5 multiplex databases
On UNIX systems, you may optionally install 12.7 Sybase IQ software on all the servers in a separate directory from the previously installed version before starting the upgrade process. Once the separate directories are ready, follow the steps below.
Shut down all the servers.
As a backup, copy the .db and .log files for the database immediately before you run ALTER DATABASE UPGRADE. Perform these backups before you start the server.
Install Sybase IQ 12.7 on the write server’s system. (See Chapter 1.) On UNIX, you can do this before shutting down the servers. On Windows, installation forces a system reboot.
If you plan to run only 12.7 servers, skip to Step 4. To run 12.5 servers in the same multiplex as 12.7, install a 12.7 agent on the write server. The 12.7 IQ plug-in is compatible with 12.5 servers, but you must start 12.5 servers with a 12.5 agent and 12.7 servers with a 12.7 agent.
To install the standalone agent, use the following command on UNIX or Linux systems:
sybinstall -add_agent
After this install, you have two IQ agents:
The agent for your existing version, which runs on the default port. The 12.5 agent is S99SybaseIQAgent.
The 12.7 agent, which requires its own port. The 12.7 agent is S99SybaseIQAgent12.
Stop the IQ agent on the write server’s system and restart it using the 12.7 installation environment.
First, use the ps
command
to locate the java process for the IQ agent:
ps -ef | grep jre
fionat 5795 5705 0 17:46:49 pts/8 0:00 grep jre
fionat 5781 5755 0 17:46:49 pts/8 0:00 /wrk/sybcentral/java/jre2/bin/../bin/sparc/native_threads/java -ms8m -m
To determine if the process is the IQ agent or the client process for the Sybase Central viewer, repeat the command with the parent process’s ID:
ps -fp 5755
UID PID PPID C STIME TTY TIME CMD
fionat 5755 1 0 17:45:09 pts/8 0:00 /bin/ksh /work ASIQ-12_5/bin/scjview -mainclass sybase.scf.ro.SCAgent -1
At the end of the line, sybase.scf.ro.SCAgent indicates the IQ agent. (If the parent process ends with scjview, it is the client process for the Sybase Central viewer, not the agent.)
To stop the agent in the preceding example, enter:
kill -HUP 5781
Remove any -n <servername> switch in a params.cfg file used to start a multiplex database.
(Mixed-version multiplex only) Edit the params.cfg file in the database directory on each query server to set the following switch(es):
Set -iqnomain 1
If the query server has local stores, set -iqnolocalreplay 1
You must set these switches before you run ALTER DATABASE UPGRADE and they must still be set when you synchronize query servers.
Start the write server in single node mode using the -iqmpx_sn 1 switch. If you use a server name different from the write server name, you must also use the override switch, -iqmpx_ov 1.
If upgrading a database created with a Sybase IQ version before 12.7, use a high checkpoint interval, for example -gc 1440
Use a unique server name that you have not previously used, as follows:
start_asiq @params.cfg -n <upgrade_server> -iqmpx_sn 1 -x 'tcpip{port=<writer_port>}' <dbfile>
You may use the write server’s normal TCPIP port.
Disconnect Sybase Central and SQL Remote from the database.
Sybase IQ 12.6 and higher releases enforce column
and table CHECK constraints that were previously unenforced, but
only on inserts, updates, and loads of new data. Before you upgrade
the database, Sybase suggests that you follow the procedure in “Preserving check constraints before database upgrade” to record
and recreate constraints.
Connect to the server to be upgraded with dbisqlc or dbisql as DBA. Make sure that no other users connect during the upgrade process. See “Upgrading databases” for recommended syntax to restrict users.
Make sure that you have performed the preceding steps in this chapter and installed any available EBFs. For details, see “Finding the latest information on EBFs and software maintenance”.
Issue a CHECKPOINT statement.
Upgrade the database by issuing the following statement:
ALTER DATABASE UPGRADE
If the database you are upgrading was created with the Java options set off, append the keywords JAVA OFF JCONNECT OFF to the preceding command. For more information about the ALTER DATABASE UPGRADE statement, see the Sybase IQ Reference Manual.
The defaults for MAIN_RESERVED_DBSPACE_MB
and TEMP_RESERVED_DBSPACE_MB were increased
in version 12.5 for newly created databases. If these options are
set to less than the 200MB in your database, set the options to
200MB or 50% of the size of the last dbspace before or
immediately after upgrading your database.
If your multiplex has a write server with no query servers, issue the following statement to convert to a non-multiplex database.
call sp_iqendmpx();
After you run sp_iqendmpx, you have a non-multiplex database. Skip the remaining steps in this procedure, see “Enforcing referential integrity”, and complete the remaining tasks in “Upgrading non-multiplex databases” instead.
Reset the SQL Remote configuration by issuing the SQL statements:
call sp_iqmpxdroppublication()
call sp_iqmpxcreatepublication()
You can check the multiplex configuration by issuing:
call sp_iqmpxvalidate()
It should indicate that dbremote is not running for this server, but there should be no other errors.
Install Sybase IQ 12.7 on each query server system, if not done in advance.
Stop and restart the IQ agent in the 12.7 environment on each query server.
Start Sybase Central, connect, and run Synchronize from the write server.
(Mixed-version multiplex only) Edit the params.cfg file in the database directory on the upgraded query server as follows:
Remove the -iqnomain 1 switch
If the query server has local stores, remove the -iqnolocalreplay 1 switch
Restart the query server that you just upgraded.
Perform the ALTER DATABASE UPGRADE and subsequent steps on each query server in the multiplex.
All upgraded servers in the multiplex environment are now running version 12.7.
Because the shared top-level directory is not a good location for database files, you should move these files to directories local to each server in the multiplex environment. For instructions, see the section “Migration” in Chapter 14, “Data Backup, Recovery, and Archiving” in the Sybase IQ System Administration Guide. After you move all database files, you can remove the shared top-level directory from the server systems if desired.
See also “After you upgrade” for other items you may want to check after upgrading.