Гость
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Мониторинг хранимых процедур в Teradata / 10 сообщений из 10, страница 1 из 1
18.03.2015, 19:34
    #38908980
andrej59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
Добрый день!

Подскажите, пожалуйста, как в Teradata можно узнать список текущих запущенных процедур?
Вообще это можно узнать метаданных базы данных Teradata ?
...
Рейтинг: 0 / 0
18.03.2015, 20:31
    #38909044
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
andrej59,

вот в этих табличках нет того что вы ищите? http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/Database_Management/B035_1092_111A/Overview.013.08.html
...
Рейтинг: 0 / 0
18.03.2015, 23:01
    #38909147
PaulEr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
А для чего нужна такая информация?
...
Рейтинг: 0 / 0
19.03.2015, 09:23
    #38909352
andrej59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
PaulEr

Информация нужна такая, чтобы решить задачу.
Задача заключается в следующем, есть приложение, есть список процедур. Пользователь 1 запускает процедуру (процедура выполнятся долго). Когда другой Пользователь 2 пытается запустить любую другую процедуру - запретить этот запуск, пока не выполниться первая запущенная процедура.
...
Рейтинг: 0 / 0
20.03.2015, 23:47
    #38911659
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
это делается разграничением ресурсов пользователей, а не запретом вызова процедуры
...
Рейтинг: 0 / 0
21.03.2015, 08:59
    #38911765
andrej59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
Бумбараш, вы можете по подробнее сказать, что вы имели ввиду под "разграничением ресурсов пользователей"?
Мне вот заказчик сказал так чтобы пока одна процедура запущено, другие ждут её окончания выполнения.
...
Рейтинг: 0 / 0
22.03.2015, 02:16
    #38912194
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
Ресурсы я имел ввиду физические - спул и cpu. Они для пользователей ограничиваются административными средствами, в которых я не силен. Есть вариант, что если область ресурсов, отведенная под группу пользователей, уже исчерпана одним пользователем, то другой пользователь ограничивается в ресурсах и его запросы выполняются медленнее. Но это делается для управления производительностью, а не для "ограничения запуска процедур".

Пользователь в запуске процедур ограничен только тем, есть ли у него на неё права или нет.

Возможно, приостановить выполнение одной процедуры при выполнении другой можно залочив одну таблицу на время выполнения всей процедуры. Типа

replace procedure proc()
begin

begin transaction;
locking table somedatabase.sometable for exclusive;

bla bla;
bla bla;

end transaction;
end;

И следующий, кто запросит лок, будет ждать завершения уже начавшейся транзакции другого пользователя. Теоретически, я так не пробовал. Проблема может быть в том, что если транзакция упадет, то всё откатится, а это может быть нежелательно в некоторых случаях.

Про Locking request modifier написано тут
http://www.info.teradata.com/edownload.cfm?itemid=131540020
про транзакционность тут
http://www.info.teradata.com/edownload.cfm?itemid=131540016
...
Рейтинг: 0 / 0
22.03.2015, 02:20
    #38912195
Бумбараш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
Вообще задача про "запрет запуска процедур" странная. Какие цели она преследует?
Если они у вас из приложения запускаются - запрещайте в приложении.
...
Рейтинг: 0 / 0
22.03.2015, 13:32
    #38912339
andrej59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
Бумбараш, спасибо за содержательный ответ.
Запускать процедуру только одному пользователю - это бизнес-требования по приложению, потому что запустив параллельно вторую процедуру, можно сломать данные и они будут не корректны.
Чтобы запретить запуск процедуры из приложения, я хотел узнавать о запущенных процедурах из словаря БД Teradate, но ни какой информации там не нашел. А запрет запуска, я естественно делаю из приложения, вопрос возникал только в том, где брать информацию о запущенных процедурах, или если такой информации нет, где хранить данную информацию. Пока я остановился на хранении статического массива запущенных процедур в приложении.
...
Рейтинг: 0 / 0
24.03.2015, 04:21
    #38914317
Apex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг хранимых процедур в Teradata
andrej59Бумбараш, спасибо за содержательный ответ.
Запускать процедуру только одному пользователю - это бизнес-требования по приложению, потому что запустив параллельно вторую процедуру, можно сломать данные и они будут не корректны.
Чтобы запретить запуск процедуры из приложения, я хотел узнавать о запущенных процедурах из словаря БД Teradate, но ни какой информации там не нашел. А запрет запуска, я естественно делаю из приложения, вопрос возникал только в том, где брать информацию о запущенных процедурах, или если такой информации нет, где хранить данную информацию. Пока я остановился на хранении статического массива запущенных процедур в приложении.
Using LOCKING ROW
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Мониторинг хранимых процедур в Teradata / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]