|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Добрый день. Есть SQL-скрипт примерно на 400 строк: 1. Идет обращение к другой базе через DBlink 2. Создаются исходные таблицы с текущей датой в названии таблицы 3. Идет преобразование путем создания и удаления промежуточных таблиц на основе исходных 4. Формируются конечные таблицы Далее по расписанию у меня запускается скрипт на Python, обращается к конечным таблицам базы и делает рассылку аналитических отчетов по почте пользователям. Задача запускать этот скрипт автоматически по расписанию, либо по обращению через Python. Пробовал сделать PROCEDURE через EXECUTE IMMIDIATE, но похоже, что весь скрипт туда полностью вставить нельзя. Код: sql 1. 2. 3. 4. 5. 6. 7.
Код: sql 1. 2. 3.
Error report - ORA-00911: неверный символ ORA-06512: на "test", line 4 ORA-06512: на line 2 00911. 00000 - "invalid character" *Cause: identifiers may not start with any ASCII character other than letters and numbers. $#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain any character other than a doublequote. Alternative quotes (q'#...#') cannot use spaces, tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual. *Action: Как возможно автоматизировать эту задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 18:46 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
RoomonКак возможно автоматизировать эту задачу? Бардак автоматизации не поддаётся. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:01 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
RoomonКак возможно автоматизировать эту задачу? Велосипедостроительство вечно :) Воспользуйтесь лучше ETL-инструментами. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:03 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, почему же. Если автоматизировать бардак, то будет автоматизированный бардак )) andrey_anonymous, согласен, что велосипед строю, но есть скрипт, который работает. Запускаю его по запросу коллег и высылаю результаты. Хотелось бы минимальными усилиями поставить на поток. С ETL-инструментами боюсь быстро не разберусь... А если про конкретику говорить, то в рамках EXECUTE IMMIDIATE невозможно запустить последовательно несколько команд? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:11 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
RoomonЕсли автоматизировать бардак, то будет автоматизированный бардак )) Тогда cron тебе в руки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:23 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Roomonминимальными усилиямиа нажатие кнопки "выполнить скрипт" это максимальные усилия? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:24 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, буду смотреть в эту сторону. Спасибо. -2-, "нажатие кнопки" это не поставить на поток. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 19:30 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Roomon, 1. execute immediate выполняет стейтмент, а не "скрипт" в твоем понимании. 2. зачем таблицу дропать? Чистить не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 20:34 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
oragraf2. зачем таблицу дропать? Чистить не вариант? Очевидно он прогулял лекцию на которой рассказывали о GTT. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2019, 21:06 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovGTT + Private Temporary Tables in Oracle Database 18c ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 08:29 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Viewer+ Private Temporary Tables in Oracle Database 18c + пресловутый execute immediate на все манипуляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 09:20 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
oragraf, я понял, что execute immediate выполняет только один стейтмент. Есть похожая штука, чтобы выполнить несколько стейтментов, не выделяя каждый отдельный стейтмент через execute immediate? Таблицы могу и чистить (и временные использовать при необходимости), но это же всё равно будет несколько стейтментов, или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 09:41 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
RoomonЕсть похожая штука, чтобы выполнить несколько стейтментовSQL*Plus ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 10:30 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
RoomonА если про конкретику говорить, то в рамках EXECUTE IMMIDIATE невозможно запустить последовательно несколько команд? Но никто не запрещает выполнить последовательность EXECUTE IMMIDIATE ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 11:13 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Roomonoragraf, я понял, что execute immediate выполняет только один стейтмент. Есть похожая штука, чтобы выполнить несколько стейтментов, не выделяя каждый отдельный стейтмент через execute immediate? Таблицы могу и чистить (и временные использовать при необходимости), но это же всё равно будет несколько стейтментов, или нет? Читаем определение, что есть statement в oracle. Немного думаем, пытаемся выполнить Код: plsql 1. 2. 3.
, медитируем над результатом. Потом ищем инфу про DML и DDL и понимаем, что скрипт as is в execute immediate запихнуть не получится. PS: python launcher.py script.sql засунуть в cron не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:01 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
MazoHistчто скрипт as is в execute immediate запихнуть не получится Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:15 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
merch, снимись с ручника. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:16 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Elic, вероятно, чтение темы было слишком поверхностным. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:18 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
ViewerDimitry SibiryakovGTT + Private Temporary Tables in Oracle Database 18c Этакий унитаз, у которого, сделав дела, не нужно руками дергать ручку смыва. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 13:24 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
[quot AmKad]ViewerЭтакий унитаз, у которого, сделав дела, не нужно руками дергать ручку смыва. я мечтал о тмп табличках (пусть и global) без генерации undo/redo (без возможности rollback) ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:04 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Staxя мечтал о тмп табличках (пусть и global) без генерации undo/redo (без возможности rollback)Есть с 8.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 15:42 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
-2-Staxя мечтал о тмп табличках (пусть и global) без генерации undo/redo (без возможности rollback)Есть с 8.0 не знал для общего развития можно ссылку? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 16:57 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
Staxдля общего развития temporary tablespace не защищается redo :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 17:14 |
|
Запуск скрипта по расписанию
|
|||
---|---|---|---|
#18+
-2-Есть с 8.0 Но с UNDO. Без UNDO в 12C если TEMP_UNDO_ENABLED=TRUE. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2019, 17:27 |
|
|
start [/forum/topic.php?fid=52&fpage=82&tid=1882687]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 443ms |
0 / 0 |