|
Fbi валидность
|
|||
---|---|---|---|
#18+
Как можно узнать реальную валидность функционального индекса? Сейчас при изменении исходной функции funcidx_status не меняется, сравнить текущую сигнатуру с сигнатурой на момент создания индекса вручную нельзя. Есть ли выход? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2019, 14:26 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
Swsovсравнить текущую сигнатуру с сигнатурой на момент создания индекса вручную нельзя.Сравнивай не вручную. С другой стороны, в чем смысл проверять "сигнатуру"? Можно оптимизировать код с сохранением результата, можно изменить логику результата и индекс перестанет возвращать данные, хотя сигнатура вызова не изменилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2019, 14:50 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
-2-, Если изменить логику функции, то индекс останется валидным и будет возвращать старые неверные данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2019, 15:00 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
Oracle тут знатно накосячил. Он не связывает ф-цию как обьект с FBI индексом напрямую. Посему пока индекс не перестроишь будет лажа. Попробуй через invisible calculated column. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2019, 15:51 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SYOracle тут знатно накосячил.Инвалидировать индекс на каждый чих было бы хуже. Мне помнится, что еще в девятке функцию нельзя было менять, пока не сделаешь индекс disable. Индекс мог становился disable неявно, если функция инвалидировалась или отменялся грант на функцию. Документация по прежнему (19c) утверждает:альтер индексENABLE applies only to a function-based index that has been disabled, either by an ALTER INDEX ... DISABLE statement, or because a user-defined function used by the index was dropped or replaced . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 07:44 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
По поводу "Oracle тут знатно накосячил": Код: 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.
Т.e. Oracle решил "что написано пером..." SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 16:20 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SYOracle решил "что написано пером..." Объект меняет тип с 8 на 10, который в dba_objects отсутствует, но есть в dba_objects_ae Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 16:41 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
-2-, Ну и с какого пeрепугу обьект вообще существует? Ведь все по-фэншую. Вначале удалил индекс и только потом ф-цию. Явный косяк. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 17:59 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SYНу и с какого пeрепугу обьект вообще существует?Не соглашусь! non-existent как на английский переводится? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 18:39 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
[quot -2-]SYНе соглашусь! non-existent как на английский переводится? Я не о том. NON-EXISTENT нужен когда, например, ф-цию удалили при живом индексе. А тут индекс удалили а затем ф-цию. Я прекрасно понимаю почему тут NON-EXISTENT - ORACLE просто не захотел, по какой-то причине, использовать метод подсчета исользований (как с NOT NULL). Так-что при использовaнии ф-ции в FBI выставляется флажок а нe используется инкремент (и декремент при удалении индекса). В результате при удалении ф-ции есть флажок - в NON_EXISTENT независимо используется ф-ция в каких-либо FBI или уже нет. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 19:35 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
Кстати, интересно потянет-ли exp/expdp за собой этот мусор? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 19:38 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SY, non-existent объекты обычно вычищаются при рестарте базы ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 20:08 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
xtenderSY, non-existent объекты обычно вычищаются при рестарте базы Не в этом случае. Флажок-то говорит хоть ф-ция и NON_EXISTENT но используeтся в FBI так-что "трогать ее не моги за ее малый рост, малый рост". SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2019, 23:39 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SYНе в этом случае. Флажок-то говорит хоть ф-ция и NON_EXISTENT но используeтся в FBI так-что "трогать ее не моги за ее малый рост, малый рост". Какой флажок? NON-EXISTENT не связаны с FBI. Код: 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.
xtendernon-existent объекты обычно вычищаются при рестарте базы Самое древнее, что есть под рукой, это 12.1. Очистка NON-EXISTENT выполняется с помощью CLEANUP% jobs. Надо потыкать 11.2, где ввели EBR, как там, но я бы предположил, что там этим занимался SMON. Для меня NON-EXISTENT ассоциируются с stub-объектами EBR. Быстрый поиск ведет на: whitepaper от Bryn Llewellyn , где, в том числе, про drop и NON-EXISTENT кое-что есть. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 19:53 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SeaGateДля меня NON-EXISTENT ассоциируются с stub-объектами EBR.В 10g (наверняка, и ранее) каждый синоним на чужую схему в _dependencies дополнялся NON-EXISTENT-ом в своей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 21:03 |
|
Fbi валидность
|
|||
---|---|---|---|
#18+
SeaGate, Я просто помню, что non-existent объекты созданные collect в древних версиях вычищались при ребуте ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2019, 22:51 |
|
|
start [/forum/topic.php?desktop=1&fid=52&tid=1882743]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
3ms |
others: | 284ms |
total: | 410ms |
0 / 0 |