Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
oracle 12.1.0.2

бд контейнерная, тестовая, в неархивлоге. интерес спортивный.
случайно снесли каталог со всеми файлами одной из пдб-шек)
на close abort этой pdb и shutdown immediate cdb ругань
ORA-01116: ошибка при открытии файла ххх базы данных
ORA-01110: файл данных ххх: 'бла-бла/PDBNAME/system01.dbf'
ORA-27041: невозможно открыть файл
Linux-x86_64 Error: 2: No such file or directory

есть идеи, как можно выкосить эту пдб, сохранив в работоспособности всё остальное? (создать новую бд и перетащить живые пдбшки туда - слишком просто)
9 янв 17, 11:47    [20084156]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
landy
Member

Откуда:
Сообщений: 1439
Если БД не закрыта - то файлы в linux должны еще быть в памяти

lsof | grep deleted

можно восстановить(google - см восстановление удаленных файлов в linux )
а если БД закрыта - drop ...
9 янв 17, 12:52    [20084480]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
Тролин
Member

Откуда:
Сообщений: 349
AlexVin,
shu abort работает?
9 янв 17, 13:13    [20084561]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
про восстановление убитых файлов - наплевать на них. возможен же вариант, что их не добыть.
сама пдб сейчас в read write статусе.
close abort именно её не проходит.
а целиком гасить в голову инстанс пока не хотелось бы.
интересно - можно ли только эту pdb как-то ножницАми того?
9 янв 17, 13:44    [20084649]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
landy
Member

Откуда:
Сообщений: 1439
Если они открыты - они в память отмаплены
посмотри

lsof |grep deleted

к примеру
https://www.linux.com/news/bring-back-deleted-files-lsof
9 янв 17, 13:59    [20084696]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
AlexVin,

можно попробовать так:

alter session set container = CDB$ROOT;

accept pdbname prompt Enter PDB''s name to drop its files:  

set term off verify off feedback off timing off pages 9999 lines 300 trims on heading off

spool drop_&&PDBNAME._files.sql

select 'alter session set container = &&pdbname ;' from dual;
select 'alter database datafile ''' || name || ''' offline for drop;' 
  from v$datafile 
 where con_id = (select con_id from v$pdbs where name = '&&pdbname');

spool off
exit


@drop_&&PDBNAME._files.sql
alter session set container = CDB$ROOT;
drop pluggable database &&PDBNAME including datafiles;
9 янв 17, 19:31    [20086070]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
suPPLer
можно попробовать так


попробовать можно, но ничего не выйдет:
SQL> alter session set container = BROKEN_PDB;
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01116: error in opening database file 600
ORA-01110: data file 600: '/data/BROKEN_PDB/system01.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
10 янв 17, 07:16    [20087298]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
восстановил файл тс system ака lsof |grep deleted - dbw
потом получилось зайти alter session в pdb и выполнить offline for drop
после этого shutdown abort pdb и drop

но хотелось бы узнать решение от оракела, ведь файл может быть и невосстановим
12 янв 17, 08:45    [20096674]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
AlexVin,

drop pluggable database в режиме mount не помогает?
12 янв 17, 09:04    [20096739]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
не поверишь, но в маунте
SQL> drop pluggable database dbtest including datafiles;
drop pluggable database dbtest including datafiles
*
ERROR at line 1:
ORA-01109: database not open
28 авг 17, 00:26    [20752551]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1235
AlexVin,
19001390.8
28 авг 17, 07:45    [20752652]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
отлично, спасибо

а подскажите еще - как открыть cdb, не открывая при этом PDB у которых save state в open?
28 авг 17, 08:43    [20752686]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
ап тема)

12.2.0.1.180717

есть CDB noarchivelog без одной PDB (отсутствует систем её)
база не открывается, пдб не удаляется как описано выше

что можно замутить?
CREATE CONTROLFILE SET DATABASE "CDB" RESETLOGS FORCE LOGGING NOARCHIVELOG
исключая отсутствующие файлы

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       MOUNTED

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oracle/oradata/CDB/system01.dbf'
24 авг 18, 14:54    [21653231]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
ничего за эти годы не придумали нового?
потому как реально выходит, что при потере система одной pdb (если этот system невосстановим)
теряется вся cdb с остальными pdb-шками. это как-то жестоко
18 июн 20, 18:01    [22153112]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9899
A DROP PLUGGABLE DATABASE не работает?

SY.
19 июн 20, 13:45    [22153645]     Ответить | Цитировать Сообщить модератору
 Re: потеряны файлы данных одной pdb - как её убить?  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1007
спрашивали уже тут и отвечал)

в маунте дроп не дает ORA-01109: database not open
а открыть не может (даже в рестрикт) из-за отсутствия система одной из пдб
22 июн 20, 10:33    [22154975]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить