Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пропали объекты в схеме SYSTEM / 9 сообщений из 9, страница 1 из 1
12.06.2018, 08:01
    #39659582
WillIm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
Доброго дня коллеги,

Oracle 12c EE
Physical Standby (хотя в данном случае, вряд ли имеет значение)

Такая ситуация: ребята запустили скрипт пересоздания схемы... Его нужно было запускать под тем же пользователем, т.к. он просто удаляет таблицы, а потом их создает заново, но скрипт запустили под SYSTEM. В общем скрипт удалил кучу таблиц, вьюх и всего остального в SYSTEM. База данных в этом режиме работает 4 дня. Ничего страшного в лог не пишет. Это хорошо, по крайней мере она работает. А теперь то, что плохо: нет возможности сделать expdp, т.к. используются объекты (таблицы, вьюхи) которых нет... Экспорт хотел сделать чтобы пересоздать БД и потом импортнуть пользовательские данные туда, но не получается такой подход.

Буду очень рад любому дельному совету, как спасти ситуацию.
...
Рейтинг: 0 / 0
12.06.2018, 10:43
    #39659616
maverick2104
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
WillIm,

Скрипт вручную запустили на стандбае ?

Какой размер базы ?
...
Рейтинг: 0 / 0
12.06.2018, 13:21
    #39659670
WillIm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
maverick2104WillIm,

Скрипт вручную запустили на стандбае ?

Какой размер базы ?

Не, на стэндбае ничего не запускали, стэндбай накатил архивные логи, ну и соответственно тоже "больной". Размер базы не большой, ~10Гб.
...
Рейтинг: 0 / 0
13.06.2018, 05:44
    #39659952
WillIm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
Update

После некоторого анализа удалось выяснить, что из всех таблиц в SYSTEM, скрипт сумел удалить только 5. В них содержится уникальная информация, поэтому перетянуть их с другой БД не вариант. Было решено восстановить бэкап (сделаный до происществия) на другой сервер и вытащить оттуда эти 5 таблиц. Foreign Keys у таблиц только между собой, поэтому сложностей с записями не будет. Список таблиц:
Код: plsql
1.
2.
3.
4.
5.
AQ$_INTERNET_AGENTS
AQ$_INTERNET_AGENT_PRIVS
AQ$_QUEUES
AQ$_QUEUE_TABLES
AQ$_SCHEDULES


Все остальные отсутствующие объекты будут созданы. Посмотрим что из этого получится.
Также был создан SR. Первое что сказал инженер - "удаление системных объектов - это unsupported case", однако запросил детали по схемам и объектам для анализа. Но на форумах писали, что похожий случай закончился тем, что support предложил восстановить БД из бэкапа и точка. Там правда вся схема system отсутствовала...
...
Рейтинг: 0 / 0
13.06.2018, 11:36
    #39660154
IgorSm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
А FLASHBACK от шаловливых не настроен?
...
Рейтинг: 0 / 0
13.06.2018, 23:43
    #39660544
WillIm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
IgorSmА FLASHBACK от шаловливых не настроен?
Настроен, но только 24 часа, а заметили 4 дня спустя.
...
Рейтинг: 0 / 0
14.06.2018, 09:32
    #39660611
JuliaTr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
А построить другую базу и перетащить все нужные таблицы через db link?
10гигов быстро будет.
А потом ту переименовать в первоначальную например...

Ну это так, как идея... если LOB'ов нет
...
Рейтинг: 0 / 0
14.06.2018, 09:55
    #39660622
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
Найти в ORACLE_HOME/rdbms/admin скрипт, которым они создаются (а лучше, если есть, и которым удаляются) и пересоздать
...
Рейтинг: 0 / 0
27.06.2018, 07:05
    #39666279
WillIm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пропали объекты в схеме SYSTEM
Update + solution

И снова доброго дня!

Спасибо всем, за советы, пригодились!

Ситуацию решил, буду предельно краток для экономии времени, опишу сам подход.

Доп информация к первому посту:
При детальном анализе выснил, что по какой-то причине скрипт не смог удалить много объектов (честно говоря, так и не понял почему, т.к. при поытки симуляуции ситуации удалялось намного больше объектов, чем в оригинале)
Единственные удаленные объекты это 5 таблиц:
Код: plsql
1.
2.
3.
4.
5.
SYSTEM.AQ$_SCHEDULES 
SYSTEM.AQ$_QUEUE_TABLES 
SYSTEM.AQ$_QUEUES 
SYSTEM.AQ$_INTERNET_AGENT_PRIVS 
SYSTEM.AQ$_INTERNET_AGENTS 



Итак, план решения:
1) Воспроизвести ситуцаию на другом сервере - server1.
2) Разрешить ситуацию путем: 1) восстановления бэкапа базы (сделанного до запуска скрипта) на server2, 2) копирования потерянных таблиц с данными (данные в таблицах оказались статическими)
3) Повторить решение на Prod Standby. (разрываем связь с Primary, делаем Restore Point, открывает Standby в RW режиме (activate standby), экспирементируем, возвращаемся к Restore Point, синхронизируем с Primary)
4) Применить решение на Prod Primary.

После восстановления таблиц, 185 из 195 инвалидных объектов удалось рекомпиллировать. Остальные 10 (views и synonyms) пересоздал предварительно отыскав в скриптах в $ORACLE_HOME/rdbms/admin.
На этом все!

К извечному вопросу об использовании SYS и SYSTEM для повседневных задач... Теперь все админы используют специально созданный аккаунт с ролью DBA. Если бы подобное предложение было принято двумя годами раньше, сразу после его озвучки, такой ситуации удалось бы избежать. Этой ситуации также можно было бы избежать, если бы админ взглянул что делает скрипт вендора, но он не взглянул, т.к. срипт назывался create_export_schema.sql, что звучит как звучит )) - "создание схемы". Для создания схемы нужны привилегии DBA, коими SYSTEM очень даже обладает, поэтому скрипт был живо запущен под привычнам для таких дел пользователем - SYSTEM. В реале же срипт вовсе не создает пользователя, а просто удаляет все его объекты и создает новые, запускаться должен был под уже созданным пользователем. В общем, целая цепочка факторов привела к такой ситуации.

Еще раз всем неравнодушным спасибо и пусть наш кейс останется хорошей историей без повторений.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пропали объекты в схеме SYSTEM / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]