|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите, пожалуйста, как в Teradata можно узнать список текущих запущенных процедур? Вообще это можно узнать метаданных базы данных Teradata ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 19:34 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
andrej59, вот в этих табличках нет того что вы ищите? http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/Database_Management/B035_1092_111A/Overview.013.08.html ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 20:31 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
А для чего нужна такая информация? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2015, 23:01 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
PaulEr Информация нужна такая, чтобы решить задачу. Задача заключается в следующем, есть приложение, есть список процедур. Пользователь 1 запускает процедуру (процедура выполнятся долго). Когда другой Пользователь 2 пытается запустить любую другую процедуру - запретить этот запуск, пока не выполниться первая запущенная процедура. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 09:23 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
это делается разграничением ресурсов пользователей, а не запретом вызова процедуры ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 23:47 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
Бумбараш, вы можете по подробнее сказать, что вы имели ввиду под "разграничением ресурсов пользователей"? Мне вот заказчик сказал так чтобы пока одна процедура запущено, другие ждут её окончания выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2015, 08:59 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
Ресурсы я имел ввиду физические - спул и 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2015, 02:16 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
Вообще задача про "запрет запуска процедур" странная. Какие цели она преследует? Если они у вас из приложения запускаются - запрещайте в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2015, 02:20 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
Бумбараш, спасибо за содержательный ответ. Запускать процедуру только одному пользователю - это бизнес-требования по приложению, потому что запустив параллельно вторую процедуру, можно сломать данные и они будут не корректны. Чтобы запретить запуск процедуры из приложения, я хотел узнавать о запущенных процедурах из словаря БД Teradate, но ни какой информации там не нашел. А запрет запуска, я естественно делаю из приложения, вопрос возникал только в том, где брать информацию о запущенных процедурах, или если такой информации нет, где хранить данную информацию. Пока я остановился на хранении статического массива запущенных процедур в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2015, 13:32 |
|
Мониторинг хранимых процедур в Teradata
|
|||
---|---|---|---|
#18+
andrej59Бумбараш, спасибо за содержательный ответ. Запускать процедуру только одному пользователю - это бизнес-требования по приложению, потому что запустив параллельно вторую процедуру, можно сломать данные и они будут не корректны. Чтобы запретить запуск процедуры из приложения, я хотел узнавать о запущенных процедурах из словаря БД Teradate, но ни какой информации там не нашел. А запрет запуска, я естественно делаю из приложения, вопрос возникал только в том, где брать информацию о запущенных процедурах, или если такой информации нет, где хранить данную информацию. Пока я остановился на хранении статического массива запущенных процедур в приложении. Using LOCKING ROW ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 04:21 |
|
|
start [/forum/topic.php?fid=56&fpage=5&tid=2015154]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
285ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 395ms |
0 / 0 |