Имя: Пароль:
1C
1С v8
Письмо о количестве Захваченных СУБД
0 zMorfiyz
 
03.02.15
13:16
Доброго времени суток, господа. Конфигурация УПП 8.1.15.14. При большом количестве Захваченных СУБД (в утилите администрирования кластеров) хочу сделать рассылку писем. Подскажите, в какую сторону копать, как лучше это реализовать?
1 Lama12
 
03.02.15
13:19
(0)Простите мое невежество. Что значит - "Захваченных СУБД"?
2 mehfk
 
03.02.15
13:20
all your base are belong to us
3 piter3
 
03.02.15
13:21
а большое это в граммах скока?
4 zMorfiyz
 
03.02.15
13:27
(1) В консоли кластеров есть колонка "Захвачено СУБД"
5 zMorfiyz
 
03.02.15
13:28
(3) Если по какой-то сессии более 100.
6 qwerty
 
03.02.15
13:28
Видимо люди из маски-шоу захватывают СУБД, а он им письмо хочет написать.
7 Maxus43
 
03.02.15
13:29
судя по СП - нельзя эти данные получить стандартно из соединенияИБ
8 zMorfiyz
 
03.02.15
13:30
(2) Yes
9 AndyR
 
03.02.15
13:30
СП: ConnectAgent, GetSessions, свойства сеанса.
Ну и регл заданием обернуть
10 shuhard
 
03.02.15
13:30
(0)[как лучше это реализовать]
фоновое задание цепляется к кластеру, читаем показатель, пишет письмо


1С пишет свою приблуду для мониторинга, наверно в 8.3.6 включит
11 Serg_1960
 
03.02.15
13:30
"Захваченных СУБД" - это колонка "Захвачено СУБД" (например, в ветке "Сеансы") в консоли/оснастке администрирования серверов 1С:Предприятие. Кто не в курсе - меню консоли "Вид" - "Добавить или удалить столбцы" - там их много разных :)
12 zMorfiyz
 
03.02.15
13:32
(6) смешно
13 zMorfiyz
 
03.02.15
13:34
(9) (10) Спасибо
14 break
 
03.02.15
13:34
а кому письмо?
15 pwei
 
03.02.15
13:34
Соединитель = Новый COMОбъект("V82.COMConnector");
Соединение = Соединитель.ConnectAgent(Сервер);
Кластеры = Соединение.GetClusters();
МаксимальныйИндексКластеров = Кластеры.GetUpperBound();
Для Каждого ТекущийКластер Из Кластеры Цикл
    Соединение.Authenticate(ТекущийКластер, АдминистраторКластера, ПарольАдминистратора);
    Базы = Соединение.GetInfoBases(ТекущийКластер);
    МаксимальныйИндексБаз = Базы.GetUpperBound();
    Для Каждого ОписаниеБазы Из Базы Цикл
        Sessions = Соединение.GetInfoBaseSessions(ТекущийКластер,ОписаниеБазы);
        Для каждого Session из Sessions Цикл
            ЗахваченоСУБД = Session.blockedByDBMS;
16 shuhard
 
03.02.15
13:36
17 zMorfiyz
 
03.02.15
13:36
(15) Огромное спасибо
18 AndyR
 
03.02.15
13:37
(15)
dbProcTook (dbProcTook)
Описание:

Тип: Число.
Содержит время соединение с СУБД с момента захвата в миллисекундах.
19 Maxus43
 
03.02.15
13:40
(15) Чот не сходится. Не вижу я там свойства нужного
Соединение (IInfoBaseConnectionInfo)
blockedByDBMS (blockedByDBMS)
Использование:

Только чтение.
Описание:

Тип: Число.
Идентификатор cоединения, блокирующего работу данного соединения (в СУБД).
20 zMorfiyz
 
03.02.15
13:42
(14) Себе
21 Maxus43
 
03.02.15
13:45
(5) 100 - мало, меньше 500 - 1000 думаю вообще беспокоится не надо
22 AndyR
 
03.02.15
13:51
В консоли администрирования выводится это время в секундах, из параметров сеанса (dbProcTook) можно получить в мс.
Кипишевать, имхо, можно начинать со 100..120 сек
23 break
 
03.02.15
13:55
захвачено СУБД не всегда говорит о блокировке объектов БД, например если создана временная таблица и не уничтожена (бывает в запросниках)
24 cincout
 
03.02.15
13:57
Ваши СУБД у нас. Если хотите получить их в целости и сохранности, шлите на указанный адрес мульён денег, а пока думаете - будете получать по одному отрезанному столбцу каждые пол-часа
25 break
 
03.02.15
13:57
я использую http://sqlblocks.narod.ru/, когда базе плохо всплываю предупреждения
26 zMorfiyz
 
03.02.15
15:19
(21) С этим параметром можно будет определиться, когда будет готова обработка.
27 zMorfiyz
 
03.02.15
15:20
(23) С этим проблем нет, прошерстили весь код, все ВТ удаляются.
28 zMorfiyz
 
03.02.15
15:20
(24) А по существу можете что-то написать?
29 zMorfiyz
 
03.02.15
15:26
(25) Спасибо, попробую.
30 zMorfiyz
 
04.02.15
11:19
(15) GetInfoBaseSessions в 8.1 нет
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан