I have set manager process with following parameters:
UserID oggadmin@orcl, Password oggadmin
Autostart Replicat *
AutoRestart Replicat *, WaitMinutes 1
PurgeOldExtracts dirdat\*, UseCheckpoints
Here is what I did:
Added a record in source database.
Replicat failed due to error in executing a trigger on target.
For the time being, I disabled the trigger, and waited for replicat to restart again automatically, but it didn't restart.
Manually restarted replicat, and it went well replicating a single record.
I would like to know why the replicat didn't restart automatically. I was expecting manager to check the status of replicat process every minute, and try restarting it, if it is abended.
Am I missing something here or we need to restart the process manually in such cases?
Appreciate your answers.
The mgr would restart the abended replicat only after 2 minutes.
Waitminutes : On some research i found that : "It's actually the time to wait after checking if the process is abended. On the first minute it would check if the process is abended, then it would wait another minute to restart the process". WAITMINUTES 1 is default.
It waitminutes 2 is used, it would restart the process in 3 minutes.
Correction Done: Default value of waitminutes
Edited by: Kamal -Oracle on Dec 29, 2012 5:47 PM
Thanks for this information, but I found that if there is some network issue, like when network connectivity is lost, replicat restarts automatically after connection is established back. In case of database issue like I mentioned, trigger failure, it won't start even after correcting the issue, but if manually restarted, it will apply the changes correctly.
I have my database in noarchivelog mode. I will be testing only short transactions, like iinerting/updating/deleting only a couple of tables and rows at a time, so don't think this could be an issue. Manager can apply the changes once issue is corrected, and replicat is restarted manually, so basically, it is able to find changes in trail files.
This happened a couple of times, let me check once again by reproducing the scenario.
There are three arguements you can define with AUTORESTART
The maximum number of times that Manager should try to restart a
process before aborting retry efforts. The default number of tries is 2.
The amount of time, in minutes, to pause between discovering that a
process has terminated abnormally and restarting the process. Use this
option to delay restarting until a necessary resource becomes available or
some other event occurs. The default delay is 2 minutes.
The window of time, in minutes, during which retries are counted. The
default is 120 minutes (2 hours). After the time expires, the number of
retries reverts to zero.
In your case you have just defined WAITMINUTES as 1. SO RETRIES is 2 and RESETMINUTES is 120.
So by the time you disabled the trigger your extract had already exhausted its 2 tries within first 2 minutes and was waiting for 120 minutes to try again.
You can check with something like the below and see
AUTORESTART REPLICAT *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 20
Edited by: satrap on Jan 3, 2013 8:29 AM