3

Transaction zapping in Sybase Replication Server

 2 weeks ago
source link: https://community.sap.com/t5/technology-q-a/transaction-zapping-in-sybase-replication-server/qaq-p/13689334
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Transaction zapping in Sybase Replication Server

DilipVoora

Participant

11 hours ago

- last edited

9 hours ago

Hi Experts,

Details :

PDS.PDB : ASE1.D30
RDS.RDB:ASE2.D30
SRS : ASE_RS

I tried zapping a transaction from the outbound queue of ASE2.D30 in two scenarios by using sysadmin sqm_zap_tran and they were successful with a message "The number of zapped/unzapped commands is xx" and also "END ZAPPED OR UNZAPPED TRANSACTION DUMP FOR 103:0" from RepServer errorlog. However when I dumped the outbound queue of ASE2.D30, I still see the details of the zapped transaction(secnario1) and the zapped transaction still got replicated to ASE2.D30(scenario2)

Scenario 1:

1. Created a test table Employee and inserted 10 rows(duplicates) with Emp_ID=10 in ASE1.D30 and it replicated successfully to ASE2.D30.
2. Deleted the inserted data (becauase to test the zapping) using a direct delete command (delete from Employee where Emp_Id=10 in ASE1.D30. DSI of the target(ASE2.D30) went down as expected and then I skipped the transaction to resume.
3. Dumped the outbound queue (ASE2.D30) and found the transactions and noted down the lqid to zap.
4. Took the second row using lqid 0:13:1 of the transaction I want to zap and zapped it using "sqm_zap_tran". 

Scenario 2:

1. Suspended DSI for target i.e; ASE2.D30.
2. Inserted a row in Employee table in ASE1.D30.
3. Checked the output of sqm(ASE2.D30) and noticed the data is in the queue as the FirstSeg.Block != LastSeg.Block
4. Dumped the outbound queue of ASE2.D30 and found the transaction.
5. Zapped the transaction using lqid and it was successful. 
6. Resumed the DSI of ASE2.D30.
7. The zapped transaction got replicated to the table in ASE2.D30 successfully.

Here I would like to get clarified on the below and help me to understand the behaviour.

1. How zapping a transaction internal works and how SRS will understand it and proceed with the next transaction in the queue?
2. Zapped transaction(s) won't be removed from the queue?
3. Zapped zransaction will be deleted from the queue only if the entire segment (64 blocks) is full?
4. Why the zapped transaction is replicated to target(w.r.t secnario 2) even though the zapping was successful?
5. RepServer's errorlog showed the zap status. Do we need to get anything other than this?
6. Do we need to do anything after zapping the transaction?

Attached the scenarios output, queue dump(file1,file-2 for scenario1 and the other for scenario2) before and after zapping the transaction.

Regards,
Dilip Voora


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK