Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отключить пользователя от базы в FB 1.5 / 13 сообщений из 13, страница 1 из 1
09.07.2004, 17:27:43
    #32598041
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Словом стоит FB 1.5 SuperServer (что-нинаетсь самый обычный).
Нужно отключить определенного пользователя от базы.
Если кто знает подскажите как это сделать.
И еще - как выглядит запрос, который выполняется IBExpert-ом при ShutDown?
Заранее всем спасибо за помощь
...
Рейтинг: 0 / 0
09.07.2004, 17:41:50
    #32598069
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Почитай обсуждение. Только всё почитай.
...
Рейтинг: 0 / 0
09.07.2004, 18:09:50
    #32598113
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
МимопроходящийПочитай обсуждение.
Прочитал все - по gfix нашел кое-какую информацию, но вот как работать с помощью этой же (если не ошибаюсь) утилиты с функией isc_database_info( ) не могу разобраться.
С FB я начал работать не так давно, не подскажете где можно документацию почитать по утилитам командной строки, которые входят в комплект поставки?
Спасибо за помощь
...
Рейтинг: 0 / 0
09.07.2004, 18:21:51
    #32598133
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
если я не ошибаюсь, то
isc_database_info( ) - это функция Interbase API
а с помощью gfix ты можешь отключить всех пользователей
...
Рейтинг: 0 / 0
09.07.2004, 18:31:52
    #32598158
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
visесли я не ошибаюсь
Скажу честно - я не знаю, но вот очень хочется разобраться.
На сколько я понял gfix - отрубит всех пользователей, только ОДНОГО никак не получится.
Конечно предлагают (уже много где искал) либо использовать post event (не подходит при пакетном добавлении записей), либо средства самой ОС (что очень привязывает базу и проги к конкретной ОС).
Так как быть, разве нет ничего подобного как в Oracle "kill"???
Про isc_database_info( ) и isc_info_user_names - словом: где и как???
...
Рейтинг: 0 / 0
09.07.2004, 18:37:17
    #32598177
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Ключевое слово - SuperServer .
У него один единственный pid .
Если ты его kill-яешь, то умирает весь сервер целиком, вместе со всеми коннектами и служебными потоками.
Если бы у тебя был ClassicServer, то в этом случае, каждый коннект порождал бы свой собственный процесс. Тогда можно было бы стрелять выборочно.
Но небесзопасно !
...
Рейтинг: 0 / 0
09.07.2004, 18:41:17
    #32598185
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
МимопроходящийЕсли бы у тебя был ClassicServer
Хорошо, тогда как это можно сделать в CS???
...
Рейтинг: 0 / 0
09.07.2004, 19:07:56
    #32598214
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Средствами ОС.
Какая ОСь у тебя на сервере стоит?
...
Рейтинг: 0 / 0
09.07.2004, 21:53:18
    #32598315
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Прежде всего оговорюсь, что все мои утверждение это лишь субъективное понимание вопроса, которое не претендует на истину.
Так вот:
1. Pid - идентификатор текущей активной транзакции, который является уникальным для каждого клиента выполняющего какие-либо действия с БД. Значит чтобы "убить" изера нужно получить pid активных транзакций и выполнить для нужной "rollback". Pid не может быть один, это реализовано для поддержки OLCP-моделей транзакци (не скажу от куда я это вычитал, потому как забыл), т. е. поддержания актуальности данных для "продолжительных" и "коротких" транзакций. Не прав???
2. Про isc_database_info( ) и isc_info_user_names - скажите пожалуйста что это за звери и как с ними бороться???
3. Ой как не хочется средства самой ОС использовать, но на войне все средства хороши. Стоит на сервере Windows 2000 Server.
4. А где можно почитать еще об отличиях SuperServer и ClassicServer???

На всякий случай объясню зачем мне такой геморой нужен:
У меня БД, с которой работают 2 типа пользователей - операторы и аналитики. Каждый оператор имеет свой login, а у аналитиков он один для всех. Каждый оператор работает только со своей частью БД, а вот аналитики почти со всей сразу. Периодически приходится добавлять или изменять объекты БД, вследствии чего постоянно наступаю на грабли вроде "index in use" . Приходится посылать предварительно сообщения всем операторам и ставить ShutDown, а нужно то бывает связать лишь справочник с таблицей.
А необходимо-то отрубить всего одного оператора и всех аналитиков
...
Рейтинг: 0 / 0
10.07.2004, 15:19:51
    #32598545
doroshka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Это не ответ на вопрос, поэтому не бейте ногами, но:
автор
Периодически приходится добавлять или изменять объекты БД, вследствии чего постоянно наступаю на грабли вроде "index in use".


Это делается на рабочей базе? Мне думается такие вещи правильнее делать на копии рабочей базы, а потом, когда все эксперименты прекращены и изменения "приняты к внедрению" можно сделать скриптик, который по расписанию может выполниться в то время когда в базе никого нет. Тем самым нет опасности убить/вывести из рабочего состояния на какое-то время базу, не надо дергать пользователей и т.д.
...
Рейтинг: 0 / 0
12.07.2004, 08:36:56
    #32598981
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
doroshkaЭто делается на рабочей базе? Мне думается такие вещи правильнее делать на копии рабочей базы
Эх, если бы было все так просто, то я так бы и делал...
Похоже, раз никто не знает, придется реализовывать Post Event.
Вообще-то где-то на www.interbase-world.com я уже находил, что такая "задокументированная" возможность будет реализована только в FB 2.0, но думал мож кто знает че-нить нестандартное.
Но всеравно всем спасибо за помощь
...
Рейтинг: 0 / 0
12.07.2004, 09:16:07
    #32599026
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
Можна я отвечу а то МП удар хватит

PID это не идентификатор транзакции а идентификатор процесса, т.е. у каждого процесса в лююой системе есть индентификатор если у тебя стоитт ВЫНЬ2000 то это значит что (как и во всей этой линейке ОСЬ ВЫНЬ) ты вызываешь диспетчер задач нажимаешь на закладку процессц и гришь снеть задачу, а в юникс системах ты гришь kill (желательно 9 :-) про IOT OAT и все остальное про транзакции надешь здесь и вообще прочиай еще раз обсуждение МП прохого не посоветует и почитай где я сказал там всю и его много
...
Рейтинг: 0 / 0
12.07.2004, 09:34:05
    #32599045
wolverin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить пользователя от базы в FB 1.5
alex777Можна я отвечу а то МП удар хватит
PID это не идентификатор транзакции
Извиняюсь, за свою тупость... может я чето напутал...
поуду читать ссИльку, пасиб
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как отключить пользователя от базы в FB 1.5 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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