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

Откуда:
Сообщений: 6
Здравствуйте!

В БД возникло несколько ошибок ORA-00600[12803], ORA-00600[kdnpin-2], ORA-00600[kokaocr]. После чего начались проблемы:
+

при обращении к dbms_output
ORA-22303: type "SYS"."DBMSOUTPUT_LINESARRAY" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_OUTPUT"
ORA-06512: at line 1

при попытке expdp
UDE-00018: Data Pump client is incompatible with database version 11.2.0.1.0

при попытке exp отдельных схем
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."KU$_STATUS1020" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_AW_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_AW_EXP.schema_info_exp
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."KU$_STATUS1020" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_CUBE_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_CUBE_EXP.schema_info_exp
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."ORA_MINING_VARCHAR2_NT" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_DM_MODEL_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_DM_MODEL_EXP.schema_info_exp
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."KU$_DUMPFILE_INFO" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_DATAPUMP"
ORA-06512: at "SYS.DBMS_RULE_EXP_UTL", line 50
ORA-06512: at "SYS.DBMS_RULE_EXP_RULES", line 147
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_RULE_EXP_RULES.schema_info_exp


Понятно, что вопрос к support, но у нас уже месяц тянутся оргвопросы с передачей лицензий между юрлицами и support нам пока не доступен.

Что пробовал:
1) откатить за день до ORA-600 - не помогло: те же ошибки - видимо, побилось раньше, а я не заметил. Буду искать еще старее бэкапы на лентах.
2) прогонять catalog.sql, catproc.sql - лучше не стало, прибавилось 400+ инвалидов.
3) exp, expdp full и отдельных схем - падает

Red Hat Enterprise Linux Server release 6.5
Oracle 11.2.0.1 EE x86_64

Останавливать/перезагружать БД можно. Select из пользовательских таблиц работает. Просмотреть код пакетов/процедур и т.п. можно. Теоретически, можно написать скрипт, который пройдется по всем таблицам и CTAS, а потом пакеты/процедуры создать. Но выглядит слишком трудоемким.

Есть соображения, как попроще вытянуть пользовательские объекты? Спасибо
7 май 15, 15:23    [17613490]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Я самый умный и крутой!
Guest
В чём проблема
1. создать новую базу
2. сделать дблинк на старой
3. На старой сгенерировать скрипт create vseh table as select from dblink; и запустить на новой
4. На старой выбрать весь ддл и перенести его на новую бд.
7 май 15, 15:34    [17613554]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
Что там трудоёмкого-то? Дблинк на исходную базу в целевой и цикл с execute immediate. Пять минут трудоёмкость.
7 май 15, 15:37    [17613572]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
_S_T_O_N_E_
Member

Откуда: Moscow
Сообщений: 196
можно ещё TTS попробовать, если соответствующие пакеты валидны
7 май 15, 15:48    [17613643]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Антон Николаев,

примерно так и бывает, если грант например на исполнение dbms_output забрать у паблика

шутников с правами вокруг вас не водится?
7 май 15, 15:57    [17613682]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Антон Николаев
Member

Откуда:
Сообщений: 6
_S_T_O_N_E_
можно ещё TTS попробовать, если соответствующие пакеты валидны

TTS пробовал - падает на этапе expdp метаданных
7 май 15, 16:23    [17613819]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Антон Николаев
Member

Откуда:
Сообщений: 6
orawish
Антон Николаев,

примерно так и бывает, если грант например на исполнение dbms_output забрать у паблика

шутников с правами вокруг вас не водится?


права у PUBLIC на dbms_output есть. Даже специально повторно выдал, но ошибки те же
7 май 15, 16:29    [17613875]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Антон Николаев
orawish
Антон Николаев,

примерно так и бывает, если грант например на исполнение dbms_output забрать у паблика

шутников с правами вокруг вас не водится?


права у PUBLIC на dbms_output есть. Даже специально повторно выдал, но ошибки те же

дык у меня шансов угадать не было - если кто их вам и сломал, то, в натуре, не я
проведите анализ ошибок в хранимом коде на предмет недостатка(т.е. утраты) прав
7 май 15, 16:51    [17614074]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Антон Николаев
В БД возникло несколько ошибок ORA-00600[12803], ORA-00600[kdnpin-2], ORA-00600[kokaocr].
Ты их не показал (и даже не объяснил где именно и при каких действиях они появились)
Антон Николаев
После чего начались проблемы:
Может просто совпало?
Опять же, что происходило (вот что-то мне подсказывает, что накатывался какой-либо системный скрипт под левым пользователем)
Антон Николаев
при обращении к dbms_output
ORA-22303: type "SYS"."DBMSOUTPUT_LINESARRAY" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_OUTPUT"
ORA-06512: at line 1
Отсюда и подозрение на системный скрипт левым пользователем
select owner, object_type, status, created from dba_objects where object_name='DBMS_OUTPUT'
Антон Николаев
при попытке expdp
UDE-00018: Data Pump client is incompatible with database version 11.2.0.1.0
Этот вариант ты тоже проверил? (ошибку прочитал, надеюсь)
Антон Николаев
при попытке exp отдельных схем
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."KU$_STATUS1020" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_AW_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_AW_EXP.schema_info_exp
И тут с версиями утилиты и самой БД тоже все нормально? (версия утилиты не больше версии БД)
Антон Николаев
2) прогонять catalog.sql, catproc.sql - лучше не стало, прибавилось 400+ инвалидов.
В режиме startup upgrade? Под учеткой AS SYSDBA? UTLRP.SQL после этого не смог их перекомпилить?
8 май 15, 03:02    [17615967]     Ответить | Цитировать Сообщить модератору
 Re: Как спасти данные, если побились объекты SYS?  [new]
Антон Николаев
Member

Откуда:
Сообщений: 6
Не сразу заметил сообщение Вячеслава. Отвечаю.

Вячеслав Любомудров
Антон Николаев
В БД возникло несколько ошибок ORA-00600[12803], ORA-00600[kdnpin-2], ORA-00600[kokaocr].
Ты их не показал (и даже не объяснил где именно и при каких действиях они появились)
Исправляюсь - прикрепил alert.log
Антон Николаев
После чего начались проблемы:
Может просто совпало?

Напишу поточнее историю вопроса, чтобы яснее было:
21.04.2015 в БД возникло несколько ошибок ORA-00600[12803], ORA-00600[kdnpin-2]. Это мешало работе приложения.
Решил перезапустить БД.
При ALTER DATABASE OPEN получил ошибку ORA-00600[kokiasg1], БД не открылась.
Пытался сделать FLASHBACK DATABASE – получил ошибки, с которыми не стал разбираться из-за срочности.
Выяснил, что есть возможность откатить БД на сутки назад – восстановил из бэкапа, запустилось.
После этого часть проблем в приложении ушла, но некоторые проблемы остались – например, не работает DBMS_OUTPUT
Пытался экспортировать пользовательские данные, чтобы залить в чистую БД – получил непреодолимые ошибки:

Опять же, что происходило (вот что-то мне подсказывает, что накатывался какой-либо системный скрипт под левым пользователем)
Антон Николаев
при обращении к dbms_output
ORA-22303: type "SYS"."DBMSOUTPUT_LINESARRAY" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_OUTPUT"
ORA-06512: at line 1
Отсюда и подозрение на системный скрипт левым пользователем
select owner, object_type, status, created from dba_objects where object_name='DBMS_OUTPUT'
Антон Николаев
при попытке expdp
UDE-00018: Data Pump client is incompatible with database version 11.2.0.1.0
Этот вариант ты тоже проверил? (ошибку прочитал, надеюсь)
версии одинаковые (запускал на сервере из единственного ORACLE_HOME)
Антон Николаев
при попытке exp отдельных схем
EXP-00008: ORACLE error 22303 encountered
ORA-22303: type "SYS"."KU$_STATUS1020" not found
ORA-00942: table or view does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_AW_EXP"
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_AW_EXP.schema_info_exp
И тут с версиями утилиты и самой БД тоже все нормально? (версия утилиты не больше версии БД)
версии одинаковые (запускал на сервере из единственного ORACLE_HOME)
Антон Николаев
2) прогонять catalog.sql, catproc.sql - лучше не стало, прибавилось 400+ инвалидов.
В режиме startup upgrade? Под учеткой AS SYSDBA? UTLRP.SQL после этого не смог их перекомпилить?
Под sys as sysdba. Без startup upgrade, но без пользовательских сессий. utlrp не помог


К сообщению приложен файл (alert_BPM.zip - 15Kb) cкачать
19 май 15, 19:05    [17663489]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить