|
oracle держит датафайлы из дропнутого тайблспейса
|
|||
---|---|---|---|
#18+
Перенес все данные из тейбспейса в другой, дропнул его без опции INCLUDING CONTENTS AND DATAFILES. тайблспейс успешно дропнулся его и дата-файлы не видно во вьюхах. но не получается удалить файлы из ОС. процесс ораклы держит их. Только рестарт поможет или есть варианты? не хочется прод останавливать, но и файлы большие мешают ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 14:53 |
|
oracle держит датафайлы из дропнутого тайблспейса
|
|||
---|---|---|---|
#18+
Да, есть такое поведение. Без рестарта вроде никак, хотя коллеги мож и поправят. Вообще, трюк в таких случаях - раз удалить нельзя, надо сделать resize, типа до 1 МБ или вроде того. Файлы будут отсвечивать до рестарта и реального удаления, но хотя бы место отдадут. Другой вопрос - как теперь это сделать, раз база про эти файлы уже "забыла". Можно попробовать создать заного тот же тейблспейс, и указать эти же датафайлы, с опцией REUSE. Если получится - тогда уже им сказать ALTER DATABASE DATAFILE.... RESIZE 1M, и снова удалить тейблспейс. Хотя в этом случае, если INCLUDING CONTENTS AND DATAFILES удалит датафайлы - то RESIZE получается уже был не нужен. Но лучше сделать, вдруг опять файлы останутся. Или попробовать не создавать тейблспейс, а напрямую, по абсолютному пути попробовать ALTER DATABASE DATAFILE.... RESIZE 1M. Кстати, Вы не указали ни ОС, ни версию базы, ни где лежат датафайлы (ASM или FS). Как всегда впрочем. Если у Вас там Linux/Unix - можете с помощью lsof посмотреть, кто держит файлы и не даёт удалить. Там в выводе скорее всего будет "вся толпа" - и background процессы, и сессии. Но эта информация от lsof скорее для интереса ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 16:17 |
|
oracle держит датафайлы из дропнутого тайблспейса
|
|||
---|---|---|---|
#18+
ora 11204 под win 2016 я пробовал добавить новый тейблспейс указав файл с опцией реюз, получил ORA-01119: error in creating database file 'D:\ORACLE\ORADATA\GSMSK\LARGE_INDX_9.DBF' ORA-27086: unable to lock file - already in use OSD-00002: additional error information O/S-Error: (OS 32) The process cannot access the file because it is being used by another process. ладно, придется окошко для рестарта найти держит точно оракла, я посмотрел, ее процесс ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 16:39 |
|
oracle держит датафайлы из дропнутого тайблспейса
|
|||
---|---|---|---|
#18+
Не, ну с Oracle на Windows - это отдельная песня, лучше не связываться. Есть конечно инструменты - в пакете Sysinternals Suite была утилита (может даже просто Process Explorer?), с помощью неё можно вычислил нити (threads кажется в терминологии Windows), которые внутри процесса oracle.exe и представляют собой сессии, которые держат Ваши датафайлы. И вроде их можно найти и поубивать. Ещё есть на Windows утилита orakill.exe. И ещё можно пойти по пути oradebug. Но лучше не связываться, завалите Prod, будет только хуже в итоге. Лучше дождаться окна на рестарт и сделать все чисто. Дел на 10 сек, если подготовиться, и сразу обратно startup. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 17:38 |
|
|
start [/forum/topic.php?desktop=1&fid=52&tid=1879805]: |
0ms |
get settings: |
22ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
43ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
126ms |
get tp. blocked users: |
1ms |
others: | 2778ms |
total: | 2984ms |
0 / 0 |