I'm running Oracle 18.104.22.168.0 on HP-UX 9000; i have 3 controlfiles. The directory on witch one of them resides got full, and oracle failed to write to that controlfile.
1- why oracle doesn’t shutdown?
2- why oracle wrote to the 2 others control files while there no more on sync whit the one that failed?
3- how oracle writes to the CTL files (series or parallel?)
4- What happens if oracle fails to write to one of CTL?
In god i trust
1. Oracle didn't shutdown because other two control files were still available.
2. That is the feature in Oracle; If one control file fails or lost it continues to write to other control files.
3. It writes parallaly to the control files however redo log files are used in a cyclic manner.
4. If you have more than one control files (and you should always have it) nothing will happen to Oracle if it fails to write to one control file. You can just copy the good contol file after shutting down the database.
When startup oracle uses the first control file fo rinternal verification. You can change the order in the init file so the oracle doesnpt refer to the control file in trouble. If you have three control files you are safe 'cause if any one of the control files are corrupted then just replace the fiel with a uncorrupted one.
I agree with all the explanation and thanks for all.
Can u suggest peppers that i can red more about?
Oracle documentation doesn't help a lot!
In god i trust
you could read a book called Oracle 24 X 7 tips and techniques by venkat devraj which i think adreses a lot of questions in this area.
1) The Controlfile is the first control file, before shutting down Oracle Synchronizes the System Change Numbers.. It is unable to do that cos of the size got full.
2 & 3) As Oracle writes Parallaly in the control file it was able to write in Other files.
4) Oralce will generate an error message..
By removing the address of this Control file from INIT file.. will do
Click Here to Expand Forum to Full Width