The conversion package, which is delivered as a backup saveset, is used to convert the structure of a database from Version 4.1 (AXP) to Version 6.3 (Itanium).
Note:
The backup saveset is not provided in the installation kit, and must
be downloaded from Empower.
When converting a database, the nucleus must not be active or have an AUTORESTART pending. Furthermore, there must be no pending utility entries in the utility control block (UCB).
Warning: Only databases with block sizes that are multiples of 1K for all containers can be converted. |
It is strongly recommended to dump the database using the backup utility before the conversion.
The format of the sequential files has changed since Adabas version 6.1. All sequential files are now in the "Stream LF" format, which is not compatible with the sequential files from Adabas version 4. In order to prevent incorrect file headers for newly-created files, Software AG strongly recommends that you remove old sequential files from the target directory before creating new ones.
Note:
Existing applications must be recompiled on Itanium. The application
does not have to be modified, since the Adabas control block and the call
interface have not been changed, it just has to be linked with the shared
library libadalnkx.
The following topics are covered:
The conversion package is delivered as a backup saveset. In order to use the conversion utilities, you must first restore the saveset to SAG$ROOT.
The conversion package contains the following files:
File Name | Purpose |
---|---|
ADA_AXP_CONVERT.COM | Procedure to set up the necessary environment and perform the conversion |
ADACVT_V3.EXE | Conversion utility to convert a Version 4 AXP database into an intermediate state on Itanium |
ADADBM_V3.EXE | Procedure to convert the Address Converter from 3-byte to 4-byte RABNs |
ADAINV_V3.EXE | Procedure to reinvert all of the files in the database |
LIBADAUTL.EXE, LIBADACOM.EXE, LIBSAGIPC.EXE, LIBSAGRMSIO.EXE | Libraries required by the conversion utility |
ADAMSG.ENG | Message file |
The following prerequisites and restrictions apply to using the conversion package:
You must be running Adabas Version 6.3 or above.
The Adabas environment must be correctly set up - logical names such as ADADIR and ADAVERS and all symbols must be set.
Before you start the conversion, you should use the procedure SAG$ROOT:[adabas]database to set up the environment of the database to be converted - this sets the logical names for all of the ASSO, DATA and WORK containers for the conversion procedure.
You should ensure that there is sufficient free space in the ASSO containers before starting the conversion procedure:
The conversion procedure converts the Free Space Table from 3-byte RABNs to 4-byte RABNs, thus requiring additional space in the Free Space Table block.
The Address Converter for each file is also converted from 3-byte RABNs to 4-byte RABNs. Because the conversion procedure converts all of the AC blocks at once, the ASSO must have one third more free blocks than the total number of AC blocks used.
The conversion procedure does not convert floating point data. Floating point data in VAX/AXP databases are stored in the so-called VAX floating point format, whereas Adabas stores floating point data on Itanium in the IEEE format. Any files in the database to be converted that contain floating point data must be unloaded, converted and then reloaded manually.
As a result of a new format, system files will first be deleted by the conversion procedure and then created again later. If you want to reuse the data in the security and/or checkpoint file, you must unload it before running the conversion procedure, and then reload the appropriate field following the conversion.
The conversion procedure has no restart capability. If an error occurs during the conversion, you must first restore the database in question before restarting the conversion. One possible source of errors might be insufficient free blocks in the ASSO containers.
The conversion procedure will reinvert all files with the utility ADAINV. Depending on the number of file loaded, this may take a long time - consider using the optional parameter "noinvert" (see below) as an alternative to speed up the conversion.
To convert a database
Change your working directory to the directory in which the saveset was restored.
Call the conversion procedure by entering @ada_axp_convert <dbid>[noinvert], where <dbid> is the number of the database to be converted. "noinvert" is an optional parameter which forces the conversion procedure to skip the reinvert step and which creates a command procedure (invert_all_<dbid>), which can then subsequently perform the reinvert in batch and in parallel.
Call the conversion procedure by entering @ada_axp_convert <dbid> noinvert.
In order to customize the creation of the command procedures, some logical names are set by ada_axp_convert - you can edit ada_axp_convert.com and invert_all_<dbid>.com to set your own values.
You should start the database before running invert_all_<dbid>.com in order to avoid a 'checkpoint block overflow' error. invert_all_<dbid>.com submits a reinvert job (run_inv-batch.com) for each file in the database into a batch queue - the default name is ADACVT$BATCH, and this queue can be deleted once all conversions have been carried out.
It is also possible to migrate a database manually. The migration process can be divided into two parts - steps to be performed on the Alpha side, and steps to be performed on the OpenVMS/Itanium side. These steps are described below.
To start the migration (on theAlpha side)
Unload the data using ADAULD and decompress the data using ADADCU (with the DCUFDT parameter).
adauld db=<dbid>,file=<fileid> define dcufdt <name.fdt> define dcudta ulddta adadcu dcufdt
Transfer the file DCUFDT to the OpenVMS/Itanium machine (ASCII format).
Transfer the file DCUOUT to the OpenVMS/Itanium machine (binary format) - this will be used as the <in filename> when running cvt_fmt.
To finish the migration (on the OpenVMS/Itanium side)
Run ADAFDU with the file DCUFDT as input.
Note:
The parameters [NO]AUTOMATIC_ALLOCATION, ERASE, ISNSIZE and
[NO]PLOG can no longer be used.
Run cvt_fmt (with ADANUC online) by entering the following in the command line:
cvt_fmt -n -l <in filename> <out filename> [dbid file]
Compress the data with ADACMP using the <out filename> produced in the previous step as CMPIN.
define CMPIN <filename> define CMPFDT <filename> adacmp db=<dbid> update=<fileid> add
Load the data with ADAMUP, using the output of ADACMP from the previous step as the input.
adamup db=<dbid> update=<fileid> add
The usage of cvt_fmt is as follows:
cvt_fmt [opt] <in filename> <out filename> [<dbid> <file>]
Note:
<dbid> and <file> are only required in conjunction with
the options -f or -n.
The following options are available:
Newline format to exclusive length format
Fixed format to exclusive length format
Record unloaded from high-oder machine (default)
Record unloaded from low-order machine
2 byte exclusive length format to fix format, no length, no newline (fmt f), or fix format, no length but newline (fmt n)
RMS format to exclusive length format, record unloaded from high-order machine (order h), or record unloaded from low-order machine (order l)
Records including USERISNs
Print version
Records have NC status field
Check and trace