|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
Всем привет! На ровном месте, при компиляции пакета, на операторе MERGE вылезла ошибка: ORA-01031: insufficient privileges Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
MERGE выполняется для таблицы в моей схеме, пакет тоже в моей схеме. Я эту таблицу только что сам создал. Никаких хитростей в ней нет, самая обычная таблица. Селект из секции USING, как просто запрос выполняется нормально. Полностью весь MERGE привести не могу, там 1500 строк. Уже всю голову сломал. Я понимаю, что информации мало, но может кто-то встречался с такой ситуацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 20:37 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
ПавелZZ Селект из секции USING, как просто запрос выполняется нормально. А выполните его в процедурке pl/sql. Простой курсорный цикл. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 20:49 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
ПавелZZ Селект из секции USING, как просто запрос выполняется нормально. нормально это в процедуре? Скорее всего в USING таблица/ы на который/е SELECT через роль. А definer rights (default) процедуры роли игнорируют. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 22:07 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
SY Скорее всего в USING таблица/ы на который/е SELECT через роль. А definer rights (default) процедуры роли игнорируют. Я тоже сначала дернулся в FAQ отправить, а потом вспомнил, что при компиляции в означенном сценарии получаем -942, а не -1031 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2021, 22:09 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
andrey_anonymous SY Скорее всего в USING таблица/ы на который/е SELECT через роль. А definer rights (default) процедуры роли игнорируют. Я тоже сначала дернулся в FAQ отправить, а потом вспомнил, что при компиляции в означенном сценарии получаем -942, а не -1031 Значит SELECT через роль и какая-то другая напрямую: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 00:11 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
SY какая-то другая напрямую Спасибо, интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 10:07 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
Всем спасибо за ответы. Действительно, сделал тестовый пакет с этим мерджем. В схеме с админскими правами он скомпилировался. Но! В изначальной схеме, где я делал пакет, я добавил в пакет процедуру с простым мерджем в эту таблицу. Пакет скомпилировался, процедура выполнилась. Добавил процедуру с простым курсорным циклом с селектом из секции USING. Пакет скомпилировался, процедура выполнилась. Ситуация для меня не понятна. (( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 10:51 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
ПавелZZ Добавил процедуру с простым курсорным циклом с селектом из секции USING. цикл не пустой, что-то считали (напр n+1 и вывод n после)? может соптимизировало? ps я проверял не циклом, а напр sum/count .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 11:40 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
Stax цикл не пустой, что-то считали (напр n+1 и вывод n после)? может соптимизировало? Да, считал количество записей: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Количество записей совпало с count(1), если выполнить в виде простого запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 11:50 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:01 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
ПавелZZ Уже всю голову сломал. если MERGE заменить на insert select из MERGE (мона добавить напр and sin(rownum)>rownum) ошибка пропадает? ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:22 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
Stax если MERGE заменить на insert select из MERGE (мона добавить напр and sin(rownum)>rownum) ошибка пропадает? Да, сделал: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Процедура выполнилась, все строки добавились. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 12:52 |
|
MERGE ORA-01031: insufficient privileges
|
|||
---|---|---|---|
#18+
ПавелZZ Да, сделал: я имел чутку другое (по сути тоже) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
тупо по тексту заменить мерже на инсерт, мож где-то око замылилось, и имя таблички визуально не распознать ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2021, 13:20 |
|
|
start [/forum/topic.php?fid=52&msg=40095686&tid=1879920]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
181ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 531ms |
0 / 0 |