ORA-01274: cannot add data file that was originally created

Материал из sysadm
Перейти к навигации Перейти к поиску

Ссылки по теме:

Если не включен Standby и автоматический режим управления файлами, то при применении архивных логов, которые содержат операции создания новых файлов табличных пространств возникает данная ошибка. Это происходит потому что вы не указали системе путь и имя нового файла.

Решение

Укажите системе путь к новому файлу и продолжите восстановление. Все операции выполняются на сервере резервной базы данных.

1. Проверьте что параметр standby_file_management имеет значение MANUAL

show parameter standby_file_management

2. Прервите Standby

recover managed standby database disconnect from session;

3. Определите проблемный файл

# определите номер проблемного файла
select * from v$datafile_header where ERROR='FILE MISSING';

# определите текущий путь к файлу
select name from v$datafile where file#=18;

NAME
--------------------------------------------------------------------------------
/oracle/app/oracle/product/12.1.0.2/dbhome_1/dbs/UNNAMED00005

4. Создайте файл по правильному пути

alter database create datafile '/oracle/app/oracle/product/12.1.0.2/dbhome_1/dbs/UNNAMED00005' as '/new/path/to/datafile'

После этого, применение проблемного архив-лога не должно вызывать ошибки.

Если необходимо, включите автоматический режим управления файлами и включите Standby.

alter system set standby_file_management=AUTO scope=both;

alter database recover managed standby database disconnect from session;