RE: Upgrade IDS
Posted in 2020
Thanks Art and Luis for the competent and quick answer.
Now I know what happened and what I have to do.
Have a good time.
Heinz
WESTFLEISCH SCE mit beschränkter Haftung, Hauptsitz: Brockhoffstr. 11, 48143 Münster
Amtsgericht Münster: Gen.-Reg. 448
Aufsichtsratsvorsitzender: Josef Lehmenkühler
Vorstand: Dirk Niederstucke (Vorsitzender); Peter Piekenbrock; Gerhard Meierzuherde; Carsten Schruck, Johannes Steinhoff, Steen Sönnichsen (Geschäftsführer)
------Original Message------
I have encountered that error before, also during an upgrade to Informix version 12.10.XC13 ( from version 12.10.XC7 ).
What I think that is happening is that there is a correction to the ph_threshold table, in the check constraints:
DBSCHEMA Schema Utility INFORMIX-SQL Version 12.10.FC13
{ TABLE "informix".ph_threshold row size = 4652 number of columns = 6 index size = 269 }
create table "informix".ph_threshold
(
id serial not null ,
name varchar(254),
task_name char(36),
value lvarchar,
value_type varchar(254)
default 'STRING',
description lvarchar,
check (((UPPER(value_type ) MATCHES 'STRING' ) OR (UPPER(value_type ) MATCHES
'NUMERIC' ) ) OR (UPPER(value_type ) MATCHES 'NUMERIC(*,*)' ) )
) extent size 16 next size 16 lock mode row;
revoke all on "informix".ph_threshold from "public" as "informix";create unique index "informix".ix_ph_threshold_01 on "informix"
.ph_threshold (id) using btree in imon_dbs;
create index "informix".ix_ph_threshold_02 on "informix".ph_threshold
(name) using btree in imon_dbs;
The check constraint in the
value_type
column is expecting a comma for the decimal separator (
MATCHES 'NUMERIC(*,*)'
), but in previous versions of Informix, this threshold values for the low memory manager were defined using a period (
.
). When the script tries to copy the old values, the new corrected check constraint prevents it.
I opened a defect with IBM/HLC regarding the issue, but don't know if is already fixed in more recent versions ( 14.10.X versions ).
If you still have have Informix version 12.10.xC4 around, you can confirm that the threshold values for the low memory manager use a period instead of a comma:
dbaccess sysadmin
select * from ph_threshold where task_name = 'Low Memory Manager';One of the workarounds is to restart the Informix instance again. It will re-apply the low memory manager update, this time without errors. I don't know if it will reset the thresholds for the low memory manager ( I don't make use of the low memory manager ).
Best regards,
Luis Marques
------------------------------
Luis Marques
------------------------------
#Informix