The order in which you upgrade multiplex servers depends on the versions of Sybase IQ on the servers.
If you plan to run a mixed-version multiplex, upgrade query servers before the write server as described in the section “Running a mixed-version multiplex”.
If you plan to run one version across the multiplex, you may upgrade servers in any order as long as you follow the procedure in this section.
To upgrade multiplex databases from 12.6 to 12.7, perform the following steps.
Upgrading 12.6 multiplex
databases
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. A full backup is unnecessary because ALTER DATABASE UPGRADE modifies only the catalog.
Install Sybase IQ 12.7 on the write server’s system. (See Chapter 1.) You can do this before shutting down the servers.
If you plan to run only 12.7 servers, skip to Step 4. To run 12.6 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.6 servers, but you must start 12.6 servers with a 12.6 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.6 agent is S99SybaseIQAgent1260.
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. (On Windows, this is not needed because the IQ agent starts automatically during reboot.)
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.
Disconnect Sybase Central and SQL Remote from the database.
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.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.
If upgrading a database created with a Sybase IQ version before 12.7, use a high checkpoint interval on the start_asiq command line, for example -gc 1440
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. For suggested syntax, see “Upgrading databases”.
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 command:
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 about the ALTER DATABASE UPGRADE statement, see the Sybase IQ Reference Manual.
Reset the SQL Remote configuration by issuing the SQL statements:
call sp_iqmpxdroppublication()
call sp_iqmpxcreatepublication()
To check the multiplex configuration, issue this statement:
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 each 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.