The Post is stopped due to error and the following message shows up in event_log:
Error 2017-12-28 14:45:54.208236 5269 3 s:3 Poster: Operation on "OWNER"."TABLE_NAME" references column not defined in object cache (posting from o.SID1, queue QUEUE_NAME, to o.SID2) [module opo]
Corruption in object cache by way of missing entries can result in Post referencing column(s) not existing in target table.
The object cache is SharePlex’s representation of the structure of the table. Since the target object cache is corrupted, it can still be recreated from the source object cache. Create the missing object cache on the target using the latest Capture object cache from source and start post. Here are the steps involved:
1. Stop Capture on the SOURCE. Make sure that it is “stopped by user” and not “stopping” when issuing “status” on source sp_ctrl
2. Restart it.
3. Login to the source database as Shareplex user and query the Shareplex_actid table. Note down the value in the actid column.
4. Go to vardir/state dir on the SOURCE and look for *objcache_sp_ocap.<actid value from Step 3.>
5. Copy the above object cache file in binary format to vardir/state on target.
6. On the target rename this file to same name as the name of the missing file reported in the target event_log,
mv *objcache_sp_ocap.<actid value from Step 3.> 0x0a01009c+PP+server+sp_opst+o.SID1-o.SID2-objcache_sp_opst.4
7. Make sure that the ownership/permissions of the newly created object cache are same as those of the other object cache files (identified by the string *objcache*) in the /vardir/state directory on target.
8. Start post.
Another way to resolve it is to use the SharePlex command "copy cache". Here is the syntax as taken from the help command in sp_ctrl:
With the advent of Open Targets, the object cache error messages have changed slightly to include two different components, namely the database identifier or name is preceded by ‘r.’ and not ‘o.’, and the process is denoted by sp_xpst and not sp_opst as the following entry for object cache name shows:
0x0a3cb40a+PP+davldb0190+sp_xpst+o.SID1-r.DATABASE_NAME-objcache_sp_xpst.5 (posting from ldb0190+o.SID1, queue queue_name, to r.DATABASE_NAME) [module osp]
The rest of the resolution remains same, namely recreating Post object cache on target from Capture object from source.
---------------------------------------------------------------
© ALL RIGHTS RESERVED. Feedback Terms of Use Privacy Cookie Preference Center