|
|
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle. Код: plsql 1. Код: html 1. 2. 3. 4. 5. 6. 7. Код: plsql 1. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При передачи параметра :lv_v1 = '0' - получаем результат как и планировалось 4 строки. На 12 версии - 0 строк при том же значении параметра. Код: html 1. 2. 3. 4. 5. 6. 7. Если же передавать два параметра - оба с значением '0', то результат так же становится - 4 строки. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При использовании в PLSQL такой проблемы не наблюдается. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код: html 1. Прошу помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 10:21:01 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
umalovпри подготовки При передачи параметра При использовании в PLSQLНепоследовательное изложение. Либо ошибаться надо во всех окончаниях, либо при сравнении вариантов соотносить с инвариантной категорией. Передача параметров не противоречит использованию в plsql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 11:51:48 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
-2-, За плохое знание родного русского языка прошу прощения. Не могу понять, почему если в запросе использовать две переменные : lv_v1 и : lv_v2, то работает. Если только одну – не работает. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 13:08:03 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
umalovЕсли только одну – не работает.Клиент разучился биндить одноименные параметры. Включи трассировку с биндами и посмотри фактические значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 14:24:47 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
-2-, Да, вы правы. Bind#1 No oacdef for this bind. Код: html 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 16:41:54 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
umalov, Похоже баг оператора TABLE: Код: 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. В тоже время: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Лечится: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 17:38:50 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
SY, Проверил ваш вариант - работает - снял trace Код: 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. Так же работает и такой вариант. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 09:02:01 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. Декларируете long, потому что лень явно указать длину 32767 см? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 09:12:08 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
В 11.2.0.{3,4} поведение аналогично наблюдаемому в 12.0.1.2, так что "сломали" TABLE раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 14:24:50 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
AsmodeusВ 11.2.0.{3,4} поведение аналогично наблюдаемому в 12.0.1.2, так что "сломали" TABLE раньше. офтоп ну, сломали и сломали, мало ли что ломают? а вот то, что с тех пор не починили - это (имхо) симптом того, что нафиг оно.. (т.е. горячим спросом не пользуется ) тут обсуждались похожие дрова via gtt соответственно, ещё +1 за gtt (просто не ходите по болоту..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 14:43:44 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
не понял по поводу "работает", если в трейсе все равно присутствует второй бинд и все также не прикаян. попробуй теперь вместо '0' задать '1,2'. но вообще, биндь массив, а не строку. и функция тогда не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 14:56:10 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
инстр/лайк (неиндекс)не понял по поводу "работает", если в трейсе все равно присутствует второй бинд и все также не прикаян.Кто-то что-то точно не понял . И ТС тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:03:30 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
так все ок:umalov Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. и при материализации тоже: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А если для дебага создать такую функцию: Код: plsql 1. 2. 3. 4. 5. и запустим запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. то увидим, что функция вообще не вызывалась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:56:28 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
какая-то хрень именно при hash join/hash join semi... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:01:24 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
xtender, Код: 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. надо смотреть ссылку Елика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:09:34 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
dba123, а по ссылке ничего не объясняется и никак не описана зависимость от плана. Проблема только при HASH JOIN / HASH JOIN SEMI: HJ Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. MERGE JOIN Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Результаты: HJ Код: 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. MERGE JOIN Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:26:16 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
Имхо очевидно, что проблема в построении hash-таблицы, т.к. если изменить порядок, то тоже все ок: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:30:46 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
еще забавно, что так все ок: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а вот так - опять все плохо Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и опять ничего не str_debug не выводит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 17:49:32 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
Снял trace на 9-ке. Выборка работает - но так же в trace присутствует - bind 1: (No oacdef for this bind) Код: plsql 1. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2016, 09:31:53 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
umalovно так же в trace присутствует - bind 1: (No oacdef for this bind)Раз уж так и не понял, что это значит, то хотя бы перестань обращать на это внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2016, 09:51:42 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
xtender, На мой взгляд, есть некоторая зависимость от плана Видимо сейчас, когда присутствует коллекция и таблица|представление надо строить ключи хэш-таблицы именно по коллекции(use leading|ordered), а не по таблице|вьюхе, какими бы мелкими последние не были. Между таблицами у меня не получилось воспроизвести. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2016, 15:47:43 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
dba123, я же все это более понятно описал выше: xtenderПроблема только при HASH JOIN / HASH JOIN SEMI:xtenderИмхо очевидно, что проблема в построении hash-таблицы, т.к. если изменить порядок, то тоже все ок: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2016, 16:07:55 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
dba123Между таблицами у меня не получилось воспроизвести.это тоже очевидно, т.к. простая материализация помогает: 19267733 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2016, 16:11:17 |
|
||
|
Возникла непонятная ситуация при подготовки к переходу с 9 на 12-ю версию Oracle.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Наконец пришёл ответ из саппорта. Сначала предложили использовать хинт /*+ merge_sj */ /*+ merge_sj */ Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. На наш вопрос, можно ли решить проблему без изменения кода, прислали такой вариант. Код: plsql 1. Проверил - работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2016, 15:10:05 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39251186&tid=1887838]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 495ms |

| 0 / 0 |
