Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CALL ADMIN_CMD в цикле по курсору
|
|||
|---|---|---|---|
|
#18+
Добрый день. Ниже процедурка, которая путем вызова системной ХП REORGCHK_TB_STATS получает список таблиц для реорга и пытается запускать его через XП ADMIN_CMD в цикле: Код: plaintext 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. При её вызове получается : Код: plaintext 1. 2. 3. 4. Если убрать вызов ADMIN_CMD, то отрабатывает. Но хочется реорг запускать. :) Как бы её забороть ? P.S. DB2 9.7.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 11:45 |
|
||
|
CALL ADMIN_CMD в цикле по курсору
|
|||
|---|---|---|---|
|
#18+
db2тестЕсли убрать вызов ADMIN_CMD, то отрабатывает. Но хочется реорг запускать. :) Как бы её забороть ?Добрый день. Похоже на то, что курсор внутри REORGCHK_TB_STATS открывается без указания with hold, а reorg делает commit перед выполнением, поэтому курсор закрывается. Выход может быть в том, чтобы переписывать result set процедуры REORGCHK_TB_STATS во временную таблицу, затем открывать with hold курсор на неё, и уже внутри цикла по этому курсору делать вызов admin_cmd. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2010, 09:57 |
|
||
|
CALL ADMIN_CMD в цикле по курсору
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Спасибо, но видимо дело не в этом. Переписал так, чтобы список нужных таблиц брался не из резалтсета процедуры REORGCHK_TB_STAT, а просто из локальной таблицы. Код: plaintext 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. Результат такой же. Странно как-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2010, 16:55 |
|
||
|
CALL ADMIN_CMD в цикле по курсору
|
|||
|---|---|---|---|
|
#18+
db2тест, REORG настолько суров, что закрывает все курсоры, даже WITH HOLD: --- Be sure to complete all database operations and release all locks before invoking REORG TABLE. This can be done by issuing a COMMIT after closing all cursors opened WITH HOLD, or by issuing a ROLLBACK. After reorganizing a table, use RUNSTATS to update the table statistics, and REBIND to rebind the packages that use this table. The reorganize utility will implicitly close all the cursors . --- т.е. можно делать типа такого что-то: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 09:52 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=36411729&tid=1602942]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 271ms |

| 0 / 0 |
