ids 9.21 ER
Posted in 2012
User encountered error -310 when setting up CDR (Change Data Replication) in Informix 9.21, failing to create the syscdrserver view during syscdr database initialization. Expert diagnosed the issue as leftover syscdrserver view in sysmaster database from a previous incomplete CDR database drop.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: High Availability & Replication, Versions, Editions & End-of-Life
Hello: Someone Knows anything about this issue?. 21:01:49 Building 'syscdr' database ... 21:01:49 CDR catalog statement failed 'create view syscdrserver ( servid, servername, connstate, connstatechange, servstate, ishub, isleaf, rootserverid, forwardnodeid, idletimeout, sendqueueloc, rcvqueueloc, atsdir, risdir) as select a.servid, a.servname, a.cnnstate, a.cnnstatechg, a.servstate, a.ishub, a.isleaf, a.rootserverid, a.forwardnodeid, a.timeout, b.sendqdbs, b.recvqdbs, b.atsdir, b.risdir from syscdrs a, outer syscdr:servdef b where a.servid = b.servid' error: -310 0 21:01:49 'syscdr' database built successfully. 21:01:49 CDR Initialization failed (Catalog Initialization Failed). 21:01:49 CDR GC: operation updateCDRState failed (error 62). 21:01:49 CDR Initialization failed (CDRStartSub). 21:01:49 CDR GC: operation updateCDRState failed (error 62). Thank you.
Needless to say 9.21 is quite old. It means that the syscdrserver view is already in the sysmaster databas= e. My guess is that someone dropped the syscdr database without doing all = of the required cleanup and thus the views that are created in the sysmast= er database still exist. That makes it difficult to do a subsequent "cdr define server". M.P. From: "Juan Francisco Gonz=E1lez Navarro" <jfrancisco.navarro@gmail.com> To: ids@iiug.org, Date: 07/26/2012 01:18 PM Subject: ids 9.21 ER [27847] Sent by: ids-bounces@iiug.org Hello: Someone Knows anything about this issue?. 21:01:49 Building 'syscdr' database ... 21:01:49 CDR catalog statement failed 'create view syscdrserver ( servid, servername, connstate, connstatechange, servstate, ishub, isleaf, rootserverid, forwardnodeid, idletimeout, sendqueueloc, rcvqueueloc, atsdir, risdir) as select a.servid, a.servname, a.cnnstate, a.cnnstatechg, a.servstate, a.ishub, a.isleaf, a.rootserverid, a.forwardnodeid, a.timeout, b.sendqdbs, b.recvqdbs, b.atsdir, b.risdir from syscdrs a, outer syscdr:servdef b where a.servid =3D b.servid' error: -310 0 21:01:49 'syscdr' database built successfully. 21:01:49 CDR Initialization failed (Catalog Initialization Failed). 21:01:49 CDR GC: operation updateCDRState failed (error 62). 21:01:49 CDR Initialization failed (CDRStartSub). 21:01:49 CDR GC: operation updateCDRState failed (error 62). Thank you. ***********************************************************************= ******** Forum Note: Use "Reply" to post a response in the discussion forum. =
Yes, my informix is quite old. That's the reason why we are setting up er, because we have a new informix 11.7 and we need to put this two database online. If we get set up er between this servers, we can point our client to the newest one. Anyway, do you know how many views are created by cdr and where? Do you know where can i find documentacion in order to delete it and set up syscdr correctly? Thank you. El 26/07/2012 21:41, "Madison Pruet" <mpruet@us.ibm.com> escribió: > Needless to say 9.21 is quite old. > > It means that the syscdrserver view is already in the sysmaster databas= > e. > > My guess is that someone dropped the syscdr database without doing all = > of > the required cleanup and thus the views that are created in the sysmast= > er > database still exist. That makes it difficult to do a subsequent "cdr > define server". > > M.P. > > From: "Juan Francisco Gonz=E1lez Navarro" > > <jfrancisco.navarro@gmail.com> > To: ids@iiug.org, > Date: 07/26/2012 01:18 PM > Subject: ids 9.21 ER [27847] > Sent by: ids-bounces@iiug.org > > Hello: > > Someone Knows anything about this issue?. > > 21:01:49 Building 'syscdr' database ... > 21:01:49 CDR catalog statement failed 'create view syscdrserver ( > > servid, > > servername, > > connstate, > > connstatechange, > > servstate, > > ishub, > > isleaf, > > rootserverid, > > forwardnodeid, > > idletimeout, > > sendqueueloc, > > rcvqueueloc, > > atsdir, > > risdir) > > as select > > a.servid, > > a.servname, > > a.cnnstate, > > a.cnnstatechg, > > a.servstate, > > a.ishub, > > a.isleaf, > > a.rootserverid, > > a.forwardnodeid, > > a.timeout, > > b.sendqdbs, > > b.recvqdbs, > > b.atsdir, > > b.risdir > > from syscdrs a, outer syscdr:servdef b > > where a.servid =3D b.servid' error: -310 0 > 21:01:49 'syscdr' database built successfully. > 21:01:49 CDR Initialization failed (Catalog Initialization Failed). > 21:01:49 CDR GC: operation updateCDRState failed (error 62). > 21:01:49 CDR Initialization failed (CDRStartSub). > 21:01:49 CDR GC: operation updateCDRState failed (error 62). > > Thank you. > > ***********************************************************************= > ******** > > Forum Note: Use "Reply" to post a response in the discussion forum. > > = > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --20cf300fae8f0c778104c5c111e3
Probably the easiest thing to do is to rebuild the sysmaster database b= y running $INFORMIXDIR/etc/buildsmi as user informix. You may have other problems, however, if the previous instantiation of = ER used timestamp conflict resolution. If that was the case, then you wil= l also need to get rid of the shadow tables. They would have a name something like cdr_deltab_00001... M.P. From: "Juan Francisco Gonz=E1lez Navarro" <jfrancisco.navarro@gmail.com> To: ids@iiug.org, Date: 07/26/2012 02:04 PM Subject: Re: ids 9.21 ER [27850] Sent by: ids-bounces@iiug.org Yes, my informix is quite old. That's the reason why we are setting up = er, because we have a new informix 11.7 and we need to put this two databas= e online. If we get set up er between this servers, we can point our clie= nt to the newest one. Anyway, do you know how many views are created by cdr and where? Do you= know where can i find documentacion in order to delete it and set up sy= scdr correctly? Thank you. El 26/07/2012 21:41, "Madison Pruet" <mpruet@us.ibm.com> escribi=F3: > Needless to say 9.21 is quite old. > > It means that the syscdrserver view is already in the sysmaster datab= as=3D > e. > > My guess is that someone dropped the syscdr database without doing al= l =3D > of > the required cleanup and thus the views that are created in the sysma= st=3D > er > database still exist. That makes it difficult to do a subsequent "cdr= > define server". > > M.P. > > From: "Juan Francisco Gonz=3DE1lez Navarro" > > <jfrancisco.navarro@gmail.com> > To: ids@iiug.org, > Date: 07/26/2012 01:18 PM > Subject: ids 9.21 ER [27847] > Sent by: ids-bounces@iiug.org > > Hello: > > Someone Knows anything about this issue?. > > 21:01:49 Building 'syscdr' database ... > 21:01:49 CDR catalog statement failed 'create view syscdrserver ( > > servid, > > servername, > > connstate, > > connstatechange, > > servstate, > > ishub, > > isleaf, > > rootserverid, > > forwardnodeid, > > idletimeout, > > sendqueueloc, > > rcvqueueloc, > > atsdir, > > risdir) > > as select > > a.servid, > > a.servname, > > a.cnnstate, > > a.cnnstatechg, > > a.servstate, > > a.ishub, > > a.isleaf, > > a.rootserverid, > > a.forwardnodeid, > > a.timeout, > > b.sendqdbs, > > b.recvqdbs, > > b.atsdir, > > b.risdir > > from syscdrs a, outer syscdr:servdef b > > where a.servid =3D3D b.servid' error: -310 0 > 21:01:49 'syscdr' database built successfully. > 21:01:49 CDR Initialization failed (Catalog Initialization Failed). > 21:01:49 CDR GC: operation updateCDRState failed (error 62). > 21:01:49 CDR Initialization failed (CDRStartSub). > 21:01:49 CDR GC: operation updateCDRState failed (error 62). > > Thank you. > > *********************************************************************= **=3D > ******** > > Forum Note: Use "Reply" to post a response in the discussion forum. > > =3D > > > > ***********************************************************************= ******** > Forum Note: Use "Reply" to post a response in the discussion forum. > > --20cf300fae8f0c778104c5c111e3 ***********************************************************************= ******** Forum Note: Use "Reply" to post a response in the discussion forum. =
this script should fix your problem if you have not sorted it yet.
Written by Andrew Priest who used to work here.
# EMERGENCY kill of replication by direct deletions of tables, database and
views.
# to be run as user informix - 9.40 version.
# this is necessary sometimes when image has been restored to foreign host and
replication
# database is also restored but has wrong host and other params
# this is the SHELL version
if [ `whoami` != "informix" ]
then
echo " Please run this script as informix user"
exit 1
fi
# open sysmaster database and get databases to file db1
echo "select name from sysdatabases" | dbaccess sysmaster > /tmp/db1
2>/dev/null
# cat /tmp/db1
# get table names from each database (make command file db2, ouput in db3)
echo "scanning databases for cdr_deltab tables"
awk '
BEGIN { OFS=""; FS=" "; }
/name/ {
print ("echo DATABASE " , $2);
print ("echo \\\\"select tabname from systables\\\\" | dbaccess ", $2, "
2>/dev/null" );
} ' /tmp/db1 > /tmp/db2 2>/dev/null
. /tmp/db2 > /tmp/db3
# cat /tmp/db2
# finally ! create drop commands for each cdrdeltab table
echo "Dropping cdr_deltab tables"
awk '
BEGIN { OFS=""; FS=" "; }
/DATABASE/ {
db=$2;
}
/cdr_deltab/ {
print ("echo \\\\"DB ", db, " Dropping Table ", $2 "\\\\"");
print ("echo \\\\"drop table ", $2 ,"\\\\" | dbaccess ", db, " 2>/dev/null" );
} ' /tmp/db3 > /tmp/db2
# cat /tmp/db2
. /tmp/db2
# Now drop the cdr extra tables and views;
echo "Cleaning out sysmaster replication tables"
echo " drop view syscdrgrp" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrserver" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrerror" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrgrppart" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrrepl" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrpart" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrqueued" | dbaccess sysmaster 2>/dev/null
echo " drop view syscdrtxproc" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrack_buf where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrack_txn where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrctrl_buf where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrctrl_txn where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrprog where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrq where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrrecv_buf where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrrecv_txn where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrs where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrsend_buf where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrsend_txn where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrsync_buf where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrsync_txn where 1=1" | dbaccess sysmaster 2>/dev/null
echo "delete from syscdrtx where 1=1" | dbaccess sysmaster 2>/dev/null
echo "Dropping syscdr"
echo "drop database syscdr" | dbaccess sysmaster 2>/dev/null
rm /tmp/db1
rm /tmp/db2
rm /tmp/db3
echo "clean up is done !!"
Hello:
It's works!!!!!!. :-)
Thank you very much.
2012/7/26, KARL OLIVER <karl.oliver@maf.govt.nz>:
> this script should fix your problem if you have not sorted it yet.
> Written by Andrew Priest who used to work here.
>
> # EMERGENCY kill of replication by direct deletions of tables, database and
>
> views.
> # to be run as user informix - 9.40 version.
>
> # this is necessary sometimes when image has been restored to foreign host
> and
> replication
> # database is also restored but has wrong host and other params
>
> # this is the SHELL version
>
> if [ `whoami` != "informix" ]
> then
> echo " Please run this script as informix user"
> exit 1
> fi
>
> # open sysmaster database and get databases to file db1
>
> echo "select name from sysdatabases" | dbaccess sysmaster > /tmp/db1
> 2>/dev/null
>
> # cat /tmp/db1>
> # get table names from each database (make command file db2, ouput in db3)
> echo "scanning databases for cdr_deltab tables"
>
> awk '
> BEGIN { OFS=""; FS=" "; }
>
> /name/ {
> print ("echo DATABASE " , $2);
> print ("echo \\\\"select tabname from systables\\\\" | dbaccess ", $2, "
> 2>/dev/null" );
>
> } ' /tmp/db1 > /tmp/db2 2>/dev/null
>
> .. /tmp/db2 > /tmp/db3
>
> # cat /tmp/db2>
> # finally ! create drop commands for each cdrdeltab table
>
> echo "Dropping cdr_deltab tables"
>
> awk '
> BEGIN { OFS=""; FS=" "; }
>
> /DATABASE/ {
>
> db=$2;
>
> }
>
> /cdr_deltab/ {
>
> print ("echo \\\\"DB ", db, " Dropping Table ", $2 "\\\\"");
>
> print ("echo \\\\"drop table ", $2 ,"\\\\" | dbaccess ", db, " 2>/dev/null" );
>
> } ' /tmp/db3 > /tmp/db2
>
> # cat /tmp/db2>
> .. /tmp/db2
>
> # Now drop the cdr extra tables and views;
> echo "Cleaning out sysmaster replication tables"
>
> echo " drop view syscdrgrp" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrserver" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrerror" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrgrppart" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrrepl" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrpart" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrqueued" | dbaccess sysmaster 2>/dev/null
> echo " drop view syscdrtxproc" | dbaccess sysmaster 2>/dev/null
> echo "delete from syscdrack_buf where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrack_txn where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrctrl_buf where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrctrl_txn where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrprog where 1=1" | dbaccess sysmaster 2>/dev/null
> echo "delete from syscdrq where 1=1" | dbaccess sysmaster 2>/dev/null
> echo "delete from syscdrrecv_buf where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrrecv_txn where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrs where 1=1" | dbaccess sysmaster 2>/dev/null
> echo "delete from syscdrsend_buf where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrsend_txn where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrsync_buf where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrsync_txn where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "delete from syscdrtx where 1=1" | dbaccess sysmaster 2>/dev/null
>
> echo "Dropping syscdr"
>
> echo "drop database syscdr" | dbaccess sysmaster 2>/dev/null
>
> rm /tmp/db1
> rm /tmp/db2
> rm /tmp/db3
>
> echo "clean up is done !!"
>
>
>
*******************************************************************************
>
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>