|
|
|
DBMS_SCHEDULER
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. Анализирую ранее составленный DBMS_SCHEDULER... И так. Имеется DBMS_SCHEDULER... JOB настроен...расписание есть... все работает... Но за смущало следующее: Атрибут JOB_ACTION прописан следующим образом: Код: 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. В каждой процедуре очищается соответствующая таблица (DELETE FROM ...) и заполняется новыми данными (INSERT INTO ... <запрос>). Причем COMMITа нигде НЕ ПРОПИСАНО явно. Но т.к. JOB отрабатывает и данные заполняются... Меня заинтересовал вопрос, А когда COMMIT наступает ? Ощущение, что COMMIT происходит после окончания работы каждой процедуры P_№. Т.к. наблюдая за заполнением tablespaces TEMP... Он очищался после выполнения каждой процедуры P_№... Хотя по моему должно быть по крайне мере в конце работы JOB... Когда должен происходить COMMIT по теории ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 09:54 |
|
||
|
DBMS_SCHEDULER
|
|||
|---|---|---|---|
|
#18+
http://www.morganslibrary.org/reference/pkgs/dbms_scheduler.html Commit Semantics Name ........................................................... Description ABSORB_ERRORS Tries to absorb errors and attempts to make the listed job attribute changes and commits all successful changes STOP_ON_FIRST_ERROR The default: Returns on the first error and the previous attribute changes that were successful are committed to disk TRANSACTIONAL Returns on the first error and everything that happened before that error is rolled back ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 10:56 |
|
||
|
DBMS_SCHEDULER
|
|||
|---|---|---|---|
|
#18+
Хм... Нашел вот что: Пример внутреннего задания в виде неименованного блока PL/SQL: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Обратите внимание: 1. Обрамлять блок словами BEGIN и END не обязательно, так как код пакета DBMS_SCHEDULER это сделает самостоятельно (ради особой программной логики, добавляемой им к тексту пользователя). 2. Задание запускается в этом же сеансе и сопровождается неявной выдачей COMMIT. Похоже, что неявный COMMIT происходит в конце JOB_ACTION .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 12:05 |
|
||
|
DBMS_SCHEDULER
|
|||
|---|---|---|---|
|
#18+
Владимир САХм... Нашел вот что: Пример внутреннего задания в виде неименованного блока PL/SQL: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Обратите внимание: 1. Обрамлять блок словами BEGIN и END не обязательно, так как код пакета DBMS_SCHEDULER это сделает самостоятельно (ради особой программной логики, добавляемой им к тексту пользователя).Так же как и в DBMS_JOB Владимир СА2. Задание запускается в этом же сеансе и сопровождается неявной выдачей COMMIT. Создание комиттит, но задание вызывается в отдельной сессии Владимир САПохоже, что неявный COMMIT происходит в конце JOB_ACTION ....По окончанию сессии (задания), как и в DBMS_JOB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 12:40 |
|
||
|
DBMS_SCHEDULER
|
|||
|---|---|---|---|
|
#18+
Viewer, коммит_семантик мимо кассы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2017, 12:40 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1886204]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 481ms |

| 0 / 0 |
