Ошибка ORA-01157: cannot identify/lock data file в Oracle DB — решение
- Ошибка
ORA-01157: cannot identify/lock data file 4 - see DBWR trace fileпри запуске базы. - Фоновый процесс записи буферов
DBWRне может получить файловый дескриптор. - База данных останавливается на этапе
MOUNTи выдаетORA-01110.
1. Просмотр трассировочного файла процесса DBWR
Найдите причину сбоя I/O в файле *dbw0*.trc в каталоге trace:
SELECT value FROM v$diag_info WHERE name = 'Diag Trace';2. Проверка прав и владельца файла данных
# Владельцем должен быть пользователь oracle и группа oinstall/dba
ls -l /u01/app/oracle/oradata/datafile_name.dbf
# Исправление прав:
chown oracle:oinstall /u01/app/oracle/oradata/datafile_name.dbf
chmod 660 /u01/app/oracle/oradata/datafile_name.dbf3. Исправление пути при перемещении файла на другой диск
-- В состоянии MOUNT
ALTER DATABASE RENAME FILE '/old_disk/data01.dbf' TO '/new_disk/data01.dbf';
ALTER DATABASE OPEN;4. Удаление потерянного пустого файла данных (Offline Drop)
Если файл принадлежал временному или неиспользуемому табличному пространству:
ALTER DATABASE DATAFILE 4 OFFLINE DROP;
ALTER DATABASE OPEN;
DROP TABLESPACE test_tablespace INCLUDING CONTENTS AND DATAFILES; Частые вопросы (FAQ)
Почему DBWR блокирует файлы данных при старте?
В процессе открытия базы DBWR накладывает эксклюзивные блокировки на заголовки всех файлов данных, чтобы предотвратить одновременный запуск двух разных экземпляров к одной базе без кластеризации RAC.
Что делать, если ORA-01157 возникла на хранилище ASM?
Проверьте права доступа в группе ASM (asmcmd ls -l +DATA/...), а также доступность прав OSDBA / OSASM у демона базы данных.
Может ли антивирус или резервное копирование ОС вызвать ORA-01157?
Да. Сторонние агенты бэкапа на уровне файловой системы или антивирусные сканеры, блокирующие файлы на монопольное чтение, вызывают сбой вызова open/lock процессом DBWR.
В чем разница между OFFLINE и OFFLINE DROP?
В режиме ARCHIVELOG используется OFFLINE (файл можно восстановить позже). В NOARCHIVELOG используется OFFLINE DROP, сообщающий ядру, что файл более не подлежит накату журналов.