Я случайно изменил табличное пространство, чтобы добавить новый файл в текущее табличное пространство, но случайно использовал то же имя, что и существующий файл. Другими словами, я перезаписываю существующий.
Мои вопросы:
Если это поможет, запрос, который я использовал: ИЗМЕНИТЬ ТАБЛИЧНОЕ ПРОСТРАНСТВО [ИМЯ ТАБЛИЧНОГО ПРОСТРАНСТВА] ДОБАВИТЬ ФАЙЛ ДАННЫХ '[СУЩЕСТВУЮЩИЙ ФАЙЛ DBF]' РАЗМЕР 2000 МБ АВТОРАСШИРЕНИЕ НА СЛЕДУЮЩИЕ 10 МБ МАКС. РАЗМЕР 20000 МБ;
База данных не позволит вам добавить файл, который уже является частью базы данных
SQL> create tablespace demo datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;
Tablespace created.
SQL> alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m;
alter tablespace demo add datafile 'X:\ORADATA\DB18\PDB1\DEMO.DBF' size 10m
*
ERROR at line 1:
ORA-01537: cannot add file 'X:\ORADATA\DB18\PDB1\DEMO.DBF' - file already part of database
Значит, для этого должно было произойти что-то еще.
Но помимо этого, если какая-то внешняя операция съела этот файл данных, то единственный выход — восстановить этот файл из резервной копии и восстановить вперед. Дальнейшие действия зависят от того, какие резервные копии у вас есть, какой инструмент вы используете для резервного копирования и т. д.
Но если вы используете RMAN, то в стандартной документации есть набор сценариев, которые проведут вас через все необходимое.
https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/index.html
Спасибо, в данном случае вы правы. Затем я сверился с командой, и они подтвердили, что на этом сервере не существует файла с именем, который я создал сегодня утром.