Which two are true about Oracle instance recovery? (Choose two.)
Which two are true about Oracle instance recovery? (Choose two.)
Oracle instance recovery begins from the last checkpoint position that was recorded in the control file by the checkpoint process (CKPT). This ensures that the recovery process starts from a consistent state. During recovery, Oracle reads the redo logs from this checkpoint position until the end of the redo thread, applying all necessary changes to the data files. This recovery process ensures any committed transactions are retained, and subsequently, the database can be opened. Finally, SMON rolls back any uncommitted transactions to maintain consistency and data integrity.
I think E - F are correct. E: Instance recovery is the process of applying records in the online redo log to data files to reconstruct changes made after the most recent checkpoint. Instance recovery occurs automatically when an administrator attempts to open a database that was previously shut down inconsistently. .. The checkpoint process (CKPT) is responsible for writing checkpoints to the data file headers and control file. F: Oracle Database can roll back multiple transactions simultaneously as needed. All transactions that were active at the time of failure are marked as terminated. Instead of waiting for the SMON process to roll back terminated transactions, new transactions can roll back individual blocks themselves to obtain the required data. https://docs.oracle.com/cd/E25178_01/server.1111/e25789/startup.htm
Agre with E The checkpoint process (CKPT) updates the control file and data file headers with checkpoint information and signals DBWn to write blocks to disk. Checkpoint information includes the checkpoint position, SCN, location in online redo log to begin recovery, and so on.
Should be E and F are correct. D is wrong, SMON rollback transaction after DB is open which make F correct. After the database has been opened, those uncommitted transactions are rolled back.
E, F "The database can be opened as soon as cache recovery completes" Cache Recovery- >DB OPen-> Transaction Recovery Cache Recovery = Roll Forward Redo Transaction Recovery = rollback segments to undo the uncommitted changes
SMON performs instance recovery DURING the database startup phase! not after the database is open
Agreed D E are correct to confirm when SMON starts SQL> shutdown immediate; ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory Additional information: 4376 Additional information: 896876471 Process ID: 0 Session ID: 0 Serial number: 0 SQL> !ps -ef | grep smon | grep -v smon Note -- Confirmed after shutdown DB, no SMON -- SQL> startup nomount ORACLE instance started. Total System Global Area 1124073328 bytes Fixed Size 9133936 bytes Variable Size 721420288 bytes Database Buffers 385875968 bytes Redo Buffers 7643136 bytes SQL> !ps -ef | grep smon | grep -v grep oracle 19323 1 0 23:30 ? 00:00:00 ora_smon_cdb1 Note: -- Database is not in open state yet --
E. During instance recovery, the database must apply the changes that occur between the checkpoint position and the end of the redo thread. Of course CKPT is responsible for updating control files with checkpoint information and also two other activities F. No comments https://docs.oracle.com/database/121/CNCPT/startup.htm#CNCPT1290 (see the last paragraph after figure 13-6)
Couple of years ago I performed following test - backup control file to trace, shutdown abort (so recovery wil be required), drop all controlfiles, create fresh controlfile using SQL command from trace file, mount, open. It succeed. So you do not need in fact controlfile to perform recovery - it's enough for Oracle to read headers of datafiles and redo logs. So... C and F.
in exam, BF
did you pass the exam?
<BF>In my opinion, for incomplete recovery, you don't need a control file. The recovery trigger is the SCN required to recover the datafile.
... to make you sure I'm right about C - I've just performed the same test again and it succeed, I also found in alert log: 2021-05-20T17:26:37.896591+02:00 Started redo scan 2021-05-20T17:26:38.374728+02:00 Completed redo scan
D and E. F is incorrect. SMON does a cleanup upon instance startup, not after. DBWR is a 'very lazy' background process, but LGWR is more 'awake' and the CKPT process ensures regular checkpoints between LGWR . In short, CKPT overlooks LGWR, which in turn overlooks DBWR. Remember, the control file has the record of the most current checkpoint info, including the SCN.
I think D is incorrect Rolling backward phase starts after the database has been opened. F is correct. https://docs.oracle.com/cd/B19306_01/backup.102/b14192/intro004.htm#i1022212
I will choose D and E. D because for me the database is opened only after the rollback of any dead transaction finished.