Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Ошибка ORA-01157: cannot identify/lock data file в Oracle DB — решение

Обновлено: 26.08.2026  ·  Официальная база знаний
  • Ошибка 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.dbf

3. Исправление пути при перемещении файла на другой диск

-- В состоянии 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;
Практический опыт инженера: Если сервер работает на NFS-хранилище, проверьте параметры монтирования в `/etc/fstab`. Некорректные флаги `hard,nointr,actimeo=0` часто вызывают ложную ошибку ORA-01157 при перезапуске сетевых служб.

Частые вопросы (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, сообщающий ядру, что файл более не подлежит накату журналов.