... and be sure to not execute this function with '0' ("off") paramter while the table still is being captured.
The correct sequence is:
- stop capture
- turn off full row logging
- perform your alters
- turn full row logging back on
- start new capture session
Just saying as it currently still is possible differently and possibly looking right and a good way to get around that error, yet it might yield undesirable effects ;-)
You shouldn't
continue capturing across a schema change. You would be able to capture across the point of the schema change
afterwards if the alters were "in-place alters". (With "slow alters" I guess the behavior is somewhat undefined, but probably not good.)
Ideally your capture session had captured all recent changes, so up to current log position, as the initial step zero in above list.
------------------------------
Andreas Legner
------------------------------
Original Message:
Sent: Thu June 10, 2021 11:32 AM
From: Mike Walker
Subject: Cannot perform this operation on a table defined for replication
What error does the user get when trying to execute cdc_set_fullrowlogging? Could be lack of permissions.
The user will need DBA permission in the syscdcv1 database in order to be able to connect to the database and execute the cdc_set_fullrowlogging function. Or just have CONNECT permission to the database and EXECUTE permission on the function itself.
Also be sure to run the function in the syscdcv1 database and not the regular database, eg.:
execute function syscdcv1:cdc_set_fullrowlogging ("stores_demo:informix.mwrepl",1);
Mike
------------------------------
Mike Walker
Original Message:
Sent: Thu June 10, 2021 10:27 AM
From: John Dargan
Subject: Cannot perform this operation on a table defined for replication
On our system we have certain tables in one of our main databases that are associated with "data capture" and full-row logging (a.k.a., "log snooping").
The "cdc_set_fullrowlogging" command can be used to either enable full-row logging or disable full-row logging. My experience has been that only the "informix" user can successfully run this command. If we have another user on the same database that has DBA permissions, then even if that user can create tables, etc., it cannot successfully run this "cdc_set_fullrowlogging" command. Does anyone have an insight on why this is true or how to overcome this problem?
Here is a link that describes this command:
https://informix.hcldoc.com/14.10/help/index.jsp?topic=%2Fcom.ibm.cdc.doc%2Fids_cdc_059.htm
| John Dargan, Database Administrator II - Information Technology LAURA E. ROTH, Clerk of the Circuit Court Seventh Circuit, Volusia County, Florida |
|
#Informix