Upgrading non-UTF-8 installations from Actian Ingres 11.2 to Actian Ingres 12.0 on Linux
The following steps are necessary only if all the conditions specified below are true:
• Installation is using the non-UTF8 charset
• Installation is using X100 tables
• Installation is using a location folder with a path that contains non-ASCII characters
IMPORTANT! These steps must be done before running the upgradedb utility. This implies that while installing the upgrade, the following question needs to be answered with "n":
Upgrade all databases in this Actian Ingres instance now? (y/n) [y] n.
The following example uses an de_DE.ISO8859-1 installation, please adjust according to your actual codeset and path names.
Note: Use a consistently configured terminal, i.e. select the respective charset in the terminal configuration and export the respective language:
export LANG=de_DE.ISO8859-1
For this example, the following has been used in Actian Ingres 11.2:
mkdir /myfolder/mylöcätions
sql iidbdb
create location myloc1 with area='/myfolder/mylöcätions', usage=(database)\g
createdb dbü
extenddb -lmyloc1 -Uwork,data dbü
config.dat
ii.ubuntu_actian_com.dbms.*.x100_insertmode: BULK
sql dbü
create table tableÖ (cÄ int) with structure=x100, location=(myloc1)\g
insert into tableÖ values(1)\g
commit\g
1. Create an offline backup of your database.
2. Examine location_map of your database.
For the example database dbü, the location_map file can be found here:
$II_DATABASE/ingres/data/vectorwise/dbü/wal/location_map
The location_map reads:
default,data,/home/ingres/work/checkTranslit/iidatabase/ingres/data/vectorwise/dbü/CBM/default
_ii_work,work,/qa1/installs/II/ingres/work/vectorwise/dbü
_myloc1,data,/myfolder/mylöcätions/ingres/data/vectorwise/dbü
_myloc1,work,/myfolder/mylöcätions/ingres/work/vectorwise/dbü
If you view through a terminal configured for UTF-8, the location_map reads:
default,data,/home/ingres/work/checkTranslit/iidatabase/ingres/data/vectorwise/db�/CBM/default
_ii_work,work,/qa1/installs/II/ingres/work/vectorwise/dbü
_myloc1,data,/myfolder/mylöcätions/ingres/data/vectorwise/dbü
_myloc1,work,/myfolder/mylöcätions/ingres/work/vectorwise/dbü
The file contains a mix of ISO8859-1 and UTF-8 strings.
Viewing /myfolder, reads:
drwx------ 3 ingres ingres 4096 Mai 16 10:19 mylöcätions
drwxrwxr-x 3 ingres ingres 4096 Mai 16 10:15 mylöcätions
3. Rename and move the folders containing UTF-8, non-ASCII-7 characters contained in the location_map.
This applies to the last three lines of the example location_map, but not the first line.
cd /qa1/installs/II/ingres/work/vectorwise
mv dbü dbü
cd /myfolder/mylöcätions/ingres/data/vectorwise
cp -r dbü /myfolder/mylöcätions/ingres/data/vectorwise/dbü
cd /myfolder/mylöcätions/ingres/work/vectorwise
cp -r dbü /myfolder/mylöcätions/ingres/work/vectorwise/dbü
cd /myfolder
rm -rf mylöcätions
4. Update all names in the location_map, using your ISO 8859-1 charset.
The location_map should now read:
default,data,/home/ingres/work/translit/iidatabase/ingres/data/vectorwise/dbü/CBM/default
_ii_work,work,/qa1/installs/II/ingres/work/vectorwise/dbü
_myloc1,data,/myfolder/mylöcätions/ingres/data/vectorwise/dbü
_myloc1,work,/myfolder/mylöcätions/ingres/work/vectorwise/dbü
5. Convert the location_map into UTF-8.
cat location_map | iconv -t UTF8 > location_map.utf8
rm location_map
mv location_map.utf8 location_map
6. Run the upgrade utility on this database.
upgradedb dbü