Для открытия базы данных должны быть выполнены несколько обязательных условий.

Чтобы открыть базу данных:
Все управляющие файлы должны присутствовать и быть синхронизированными
Все онлайновые файлы данных должны присутствовать и быть синхронизированными
По крайней мере один элемент каждой группы журналов транзакций должен присутствовать
Когда база данных переходит из стадии завершенной работы до полного открытия, она выполняет внутренние проверки непротиворечивости со следующими этапами:
NOMOUNT: Чтобы экземпляр перешел в состояние NOMOUNT (также известное как STARTED), он должен считать файл параметров инициализации. Никакие другие файлы базы данных не проверяются, в то время как экземпляр переходит в состояние NOMOUNT.
MOUNT: Когда экземпляр переходит в состояние MOUNT, он проверяет, присутствуют ли все управляющие файлы, перечисленные в файле параметров инициализации, и синхронизированы ли они. Если даже один управляющий файл отсутствует или поврежден, экземпляр возвращает ошибку администратору (указывающую на отсутствие управляющего файла) и остается в состоянии NOMOUNT.
OPEN: Когда экземпляр переходит из состояния MOUNT в состояние OPEN, он делает следующее:
Проверяет, имеют ли все группы журналов транзакций, известные управляющему файлу, по крайней мере один существующий элемент. Любые недостающие элементы отмечаются в журнале предупреждений.
-
Проверяет, что все файлы данных, известные управляющему файлу, присутствуют, если они не были переведены в режим офлайн. Офлайновые файлы не проверяются, пока администратор не попытается перевести их в режим онлайн. Администратор может перевести файл данных в офлайн и открыть экземпляр, если файл данных не принадлежит табличным пространствам SYSTEM и UNDO. Если какие-либо файлы отсутствуют, возникает ошибка, указывающая первый недостающий файл, и экземпляр остается в состоянии MOUNT. Когда экземпляр обнаруживает файлы, которые отсутствуют, только первый файл, вызвавший проблему, появляется в сообщении об ошибке. Чтобы найти все файлы, которые нуждаются в восстановлении, администратор может проверить динамическое представление производительности v$recover_file, чтобы получить полный список файлов, которым необходимо уделить внимание:
SQL> startup ORACLE instance started. Total System Global Area 171966464 bytes Fixed Size 775608 bytes Variable Size 145762888 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes Database mounted. ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf' SQL> SELECT name, error 2 FROM v$datafile 3 JOIN v$recover_file 4 USING (file#); NAME ERROR ----------------------------------- ------------------ /oracle/oradata/orcl/users01.dbf FILE NOT FOUND /oracle/oradata/orcl/example01.dbf FILE NOT FOUND
Проверяет, что все файлы данных, которые не являются офлайновыми или только для чтения, синхронизированы с управляющим файлом. В случае необходимости восстановление экземпляра выполняется автоматически. Однако, если файл испытывает недостаток синхронизации до такой степени, что он не может быть восстановлен при использовании онлайновых групп журналов транзакций, тогда администратор должен выполнить восстановление носителей. Если какие-либо файлы требуют восстановления носителей, сообщение об ошибке, отмечающее первый файл, требующий восстановления носителя, возвращается администратору, и экземпляр остается в состоянии MOUNT:
ORA-01113: file 4 needs media recovery ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf'
Снова, v$recover_file дает полный список файлов, которым необходимо уделить внимание. Файлы, которые присутствуют и требуют восстановления носителей, перечисляются в этом списке, но никакое сообщение об ошибке не выводится на экран.