RSM0 Killed during Physical Standby conversion
Hope all of you are doing good.
Recently I was contacted by a client which were doing DR tests on its environment.
All databases have Physical Standby (DataGuard) as a DR solution. In all DataGuards they have DG Broker configuration in place.
Two weeks ago they have started the DR test, converting all Physical Standby to Snapshot Standby, obviously using DG Broker for that.
When DR tests ended, team proceed to convert DBs back to Phsical Standby. All DBs were converted with no issues, except the one used for DW solution. This one is the one which generated more flashback logs.
For this DW DB, after one hour the team has issued the “convert database xxx to snapshot standby” command, it was possible to find the following messages on alert.log:
2021-12-13T04:56:23.578060+00:00 Starting background process RSM0 2021-12-13T04:56:23.612062+00:00 RSM0 started with pid=104, OS id=14071 2021-12-13T04:57:25.223320+00:00 alter database convert to physical standby 2021-12-13T04:57:25.229211+00:00 ALTER DATABASE CONVERT TO PHYSICAL STANDBY (PB1) 2021-12-13T05:57:42.559725+00:00 Process RSM0, PID = 34690, will be killed
Check again the last message/line. It was displayed in the log exactly one hour after the conversion has been started.
After this, client did the DB restart and triggered again the conversion, which failed again after one hour.
There wasn’t any error message in the DataGuard Broker log.
This behavior matches the one found on the following bug below:
Bug 33225678 : DGMGRL CONVERT TO PHISICAL STANDBY FAILS AFTER TIMEOUT: ORA-16713
On this bug, the Broker process will kill all the processes that are waiting for more than one hour, so, the process RSM0 (the one used to flashback to the restore pooint during conversion) also will be killed.
This bug is fixed on the earlier RU’s, like 19.14 and newer. Client was running on 19.13 and the patching to 19.14 it was already scheduled to the next week.
Our “workaround” it was to execute the conversion steps manually using the sqlplus. Before this, we removed the standby from Broker configuration and shutdown the Broker process. Once conversion was done, we started the Broker process and re-added the DB to DataGuard configuration.
Hope it helps.
This site uses Akismet to reduce spam. Learn how your comment data is processed.