Блокированные пользователи жрут лицензии
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Июн 28, 2012 08:22  Блокированные пользователи жрут лицензии |
|
Полезность: Нет оценки
|
Всем здрасьте.
Конечно у ЦФТ дурацкая система лицензирования, опирается только на "галочки" в свойствах пользователя во вкладке "Доступ" и не берёт во внимание, статус пользователя в Оракле, но деваться некуда.
Я вижу дисбаланс, отчёт по лицензиям выдаёт на 7 использованных лицензий больше, чем скрипт по неблокированным пользователям:
Код: |
select * from users
where type='U'
and lock_status is null
|
Где храниться информация о том, что у пользователя включена галочка "НАВИГАТОР"? А то, каждый раз, бегать по свойствам всех пользователей и искать эту галочку, как то напрягает  |
|
 |
prog Эксперт
Вступление в Клуб: 03.03.2008
|
Чт Июн 28, 2012 08:27   |
|
Полезность: Нет оценки
|
для ТЯ 7.1.1.6 количество пользователей считается так:
Код: | select u(count(1)) in USERS%rowtype where u.[TYPE]='U'
and (u.[LOCK_STATUS] is null or u.[LOCK_STATUS] not in ('DELETED','LOCKED'))
and (instr(u.[PROPERTIES],'|LOCK')=0 or instr(u.[PROPERTIES],'|REVISOR')>0)
and instr(u.[PROPERTIES],'|SYSUSER')=0
and u.[USERNAME] not in (inst_info.gowner,inst_info.owner)
and (instr(u.[PROPERTIES],'|OPEN_SESSION') = 0 and instr(u.[PROPERTIES],'|INIT_SESSION') = 0
or
(
(select mr(count(1)) in method_rights%rowtype where mr.subj_id=u.username and rownum=1)=1
or (select cr(count(1)) in class_rights%rowtype where cr.subj_id=u.username and rownum=1)=1
or (select cr(count(1)) in criteria_rights%rowtype where cr.subj_id=u.username and rownum=1)=1
or (select se(count(1)) in subj_equal%rowtype where se.subj_id=u.username and se.subj_id<>se.equal_id and rownum=1)=1
)
) |
что интересно, раньше считался иначе:
http://www.cftclub.ru/viewtopic.php?t=1292&highlight=USERS%25rowtype |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Июн 28, 2012 09:08   |
|
Полезность: Нет оценки
|
Спасибо, сходится, но ситуация стала ещё более непонятная
Единственное, что стало понятно, что галки не влияют на заблокированном пользователе. Но при этом в оракле незаблокированных пользователей 140 вместе с истёкшими паролями 156, а лицензий тратиться 147.
Кто на пальцах может пояснить на что ориентироваться, кроме скрипта? |
|
 |
prog Эксперт
Вступление в Клуб: 03.03.2008
|
Чт Июн 28, 2012 09:20   |
|
Полезность: Нет оценки
|
Если у вас тя 7.1.1.6, то результат скрипта должен соответствовать показаниям ЛО |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Июн 28, 2012 09:33   |
|
Полезность: Нет оценки
|
У нас 7.1.1.5
Спасибо, сходится с предыдущим скриптом, но хотелось бы понять предметную часть вопроса, скрипт ответа на вопрос "почему так" не даёт, к сожелению  |
|
 |
prog Эксперт
Вступление в Клуб: 03.03.2008
|
Чт Июн 28, 2012 09:40   |
|
Полезность: Нет оценки
|
Потому что аналитики цфт так решили. другого ответа думаю нет |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Чт Июн 28, 2012 10:46   |
|
Полезность: Нет оценки
|
yaffil пишет: | Спасибо, сходится, но ситуация стала ещё более непонятная
Единственное, что стало понятно, что галки не влияют на заблокированном пользователе. Но при этом в оракле незаблокированных пользователей 140 вместе с истёкшими паролями 156, а лицензий тратиться 147.
Кто на пальцах может пояснить на что ориентироваться, кроме скрипта? |
В лицензиях не учитывается IBS и другие служебные пользователи.
Кроме того, не учитываются пользователи, у которых нет ни одного объекта доступа. |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Чт Июн 28, 2012 11:06   |
|
Полезность: Нет оценки
|
prog пишет: | devor пишет: | Кроме того, не учитываются пользователи, у которых нет ни одного объекта доступа. |
странно. по проверочному скрипту и не скажешь
Код: | or
(
(select mr(count(1)) in method_rights%rowtype where mr.subj_id=u.username and rownum=1)=1
or (select cr(count(1)) in class_rights%rowtype where cr.subj_id=u.username and rownum=1)=1
or (select cr(count(1)) in criteria_rights%rowtype where cr.subj_id=u.username and rownum=1)=1
or (select se(count(1)) in subj_equal%rowtype where se.subj_id=u.username and se.subj_id<>se.equal_id and rownum=1)=1
)
) |
|
ну это же как раз проверка на то, что у пользователя должны быть в доступе операции или кслассы или представления или пользователь входит в группу. |
|
 |
prog Эксперт
Вступление в Клуб: 03.03.2008
|
Чт Июн 28, 2012 11:16   |
|
Полезность: Нет оценки
|
согласен, скобку не заметил |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Чт Июн 28, 2012 11:26   |
|
Полезность: Нет оценки
|
Всем спасибо, теперь более наглядно видно список пользователей кто попадает в лицензии, а значит намного удобнее управлять ими.
Например, сразу вижу 10 старых юзеров со статусом EXPIRED, которые в ЦФТ никогда и не заходили, а значить их можно смело лочить. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|