|
|
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
Диспозиция: есть БД, работающая под СУБД 11g, состоящая из нескольких схем данных, у владельцев которых мало того, что есть права на коннект, так еще по умолчанию выдаются права DBA. Жесткач. 15 DBA админов в одной базе, под которыми с ней соединяются приложухи. К разработчику обращаться бесполезно - его как бы больше нет. Собрал конфиг в тестовом варианте, где отобрал все DBA и заменил грантами на объекты. Все в целом получилось, за исключением одной странной ошибки. Ошибка: Периодически у всех "низложенных" DBA возникает следующая ошибка: *** 2017-12-26 13:12:54.748 dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0) ----- Error Stack Dump ----- ORA-00942: table or view does not exist ----- Current SQL Statement for this session (sql_id=3hbmrh43j1qmt) ----- table_4_d_d0_0_0_0 Запрос, предшествующий ошибке (в логе): SELECT obj_type, plan_id, comp_data FROM sqlobj$data WHERE signature = :1 AND category = :2 Где-то вычитал, что во избежание ошибки у пользователя должен быть грант ADMINISTER SQL MANAGEMENT OBJECT. Применил. Не помогло. В связи с чем прошу помощи у сообщества, может у кого-нибудь есть опыт борьбы с этой проблемой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:09 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
Подсказка. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:16 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
PyroTechnictable_4_d_d0_0_0_0это типичный pseudo cursor: https://juliandontcheff.wordpress.com/2013/02/17/pseudo-cursors-and-invisible-sql/ Там же увидишь как найти проблемный объект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:26 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
PyroTechnic, И смотри ноту ORA-00942: table or view does not exist with pseudo cursor (Doc ID 1609511.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:29 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Это таблица SYS.SQLOBJ$DATA. Грантов на нее по умолчанию нет. И нет public синонима, то есть даже с грантом DBA этот запрос у "низложенных" DBA не должен был выполняться. Я так понимаю, что доступ к этой таблице приходит через другие объекты и привилегии, скорее всего из разряда системных. Вот только какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:36 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
xtender, Ну да, это таблица SYS.SQLOBJ$DATA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 14:38 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
PyroTechnic, Проблема не в грантах. У псевдокурсоров гранты не проверяются, это рекурсивные внутренние запросы ,считай что они выполняются из под sys. Смотри указанную ноту, там снизу список багов , в одном из них и найдешь воркэраунд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 15:12 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
xtender, Спасибо за подсказку, нота говорит, что можно забить на эту ошибку, потому как она из разряда "handled" и полезла в логи только из-за того, что я включил трассировку 942 ошибки по level 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 16:27 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
Судя по всему проблема связана с работой оптимизатора. Во всяком случае применил решение: optimizer_capture_sql_plan_baselines=false; optimizer_use_sql_plan_baselines=false (по умолчанию - true); предложенное в одном из воркэраундов, посмотрю на реакцию, завтра отпишусь по результатам. Пока сразу назревает другой вопрос: ввиду очень не оптимизированного и вследствие этого ресурсозатратного приложения как может повлиять на производительность системы отключение вышеуказанных параметров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 17:48 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
Отключение не спасло. Ошибка продолжается. В других багах воркэраундов не было. Соответственно остаюсь верен основной рекомендации "Ignore this ORA-00942 as this may not be the one application encountered" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 17:24 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
PyroTechnic, так ты event 942 errorstack то выключил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 20:50 |
|
||
|
Проблема с ORA-00942 и table_4_d_d0...
|
|||
|---|---|---|---|
|
#18+
xtenderPyroTechnic, так ты event 942 errorstack то выключил? Так в этом-то и проблема - не могу отключить пока его, потому что нужно отслеживать реальные 942 и добавлять гранты. В целом привык, хотя ввиду того, что измененная система практически устоялась, вылавливать нужные ошибки из этого вороха 942 становится все муторней. Вопрос закрыт, спасибо всем за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2018, 16:20 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=128&tid=1884523]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 458ms |

| 0 / 0 |
