• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Compact служебных баз

  • Автор темы Klido
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

Klido

Традиционное
"Error Compacting Database NAMES.NSF: Database Is Currently in Use by You or Another User." в ночном компакте + остальные с десяток баз вроде statrep.nsf и пр.
Сервер, понятно, не выключается...
Классически IBM "решило" (до конца неясно решение - то ли program-документ стартует компакт из ситемы, то ли решение - запускать его на вырубленном серваке....) ещё для 5.0 в документе и как-то или не было мессаг таких, или забивали на них, но... Решил вот разобраться - и не выходит :)

Пробую отдельный program-док делать с копистайлом для служебных баз и получаю нечто вроде
19.03.2010 02:30:48 Running Program document for 'Compact -c -L names.nsf'
19.03.2010 02:30:54 Error compacting names.nsf: Function to-be-defined
поиск про ошибку ни к чему не привел.... да, есть у многих, решений нет...

Итак, кто как компактит служебные базы на работающем сервере?
 
H

HotDog

А зачем Вам компактить служебные базы? :)
Какой в этом смысл?

При включенном сервере compact -c для names.nsf и многих других служебных баз не пройдет даже через документ program. Только при выключенном сервере

Вы также не сможете откомпактить с опцией -c любую другую открытую базу. Для этого нужно будет делать drop пользователям, юзающим эту базу
 
K

Klido

зачем Вам компактить служебные базы?
для порядка :) и чтоб не лезли в мониторинг ерроры...и не чтоб не вылезло какое глюкалово лишний раз...

Только при выключенном сервере
с консоли при определенных условиях компактится всё, кроме log.nsf, с програм-дока - не хочет...

делать drop пользователям
ночью нет пользователей. базы разве что сервером открыты...

HotDog
Если Вы прочитали линк на техноту IBM, то могли заметить, что у меня не вопрос можно или нельзя компактить служебные базы, а скорее верить или нет IBM :) и всё-таки можно ли не руками....
 
H

HotDog

для порядка :) и чтоб не лезли в мониторинг ерроры...и не чтоб не вылезло какое глюкалово лишний раз...


с консоли при определенных условиях компактится всё, кроме log.nsf, с програм-дока - не хочет...


ночью нет пользователей. базы разве что сервером открыты...

HotDog
Если Вы прочитали линк на техноту IBM, то могли заметить, что у меня не вопрос можно или нельзя компактить служебные базы, а скорее верить или нет IBM :) и всё-таки можно ли не руками....

Для порядка можно выполнять compact -b или -B
Что это за ерроры и глюки такие, что нужно выполнять такой компакт каждую ночь?
Может нужно найти причину появления этих ошибок, а не закрывать глаза, выполняя каждый раз компакт?

P.S. Я выполнял compact -c для системных баз при выключенном сервере только когда переходил с 7-ки на 8-ку для апгрейда ODS

P.P.S. У IBM есть дока по регламентному обслуживанию лотусовых баз.
 
K

Klido

У IBM есть дока по регламентному обслуживанию лотусовых баз.
конечно есть :) но есть и явная технота именно по работе COMPACT в program-доке, которая якобы решила все вопросы.. А на вид это - не так :)
Склоняюсь, что всё-таки ночью что-то кроме сервера держит базки - буду проверять...
 
H

HotDog

конечно есть :) но есть и явная технота именно по работе COMPACT в program-доке, которая якобы решила все вопросы.. А на вид это - не так :)
Склоняюсь, что всё-таки ночью что-то кроме сервера держит базки - буду проверять...


Замечено, что после старта сервера без проблем можно выполнить compact -c например базы statrep или admin4.
Но стоит ее хоть раз дернуть (например открыть), компакт (с консоли) не пройдет, даже если отцепить всех пользователей от нее.
Поэтому есть мнение что именно сервер держит эту базу, и в Вашей техноте в солюшене поэтому и говорится, что сначала нужно выполнить compact из ОС.
 
K

Klido

в Вашей техноте
технота IBM! :)

Там просто вопрос про програм-док, а решение - про запуск из ОС. Если понимать, что это решение IBM - тогда програм-док должен запускать системный компакт (для чего програм-док в общем и существует). Если IBM предлагает руками запускать на потухшем сервере - то это воркэраунд к проблеме :)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
странные вы люди, а что вам мешает выполнить команду dbcache flush и сразу компануть?
главное чтобы не шла репликация или не висел агент/юзер
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
drop all
dbcache flush
load compact...

чтобы не делать руками - пишем пакетный файл

 

k85

Lotus Team
11.10.2011
260
1
BIT
0
помогите, пожалуйста, создаю program, создаю файл, в необходимое время запускается compact, что видно по логам

> < task.txt

> drop all

> dbcache flush

> load compact -B

уже и "compact -B" и просто "compact" пробую, все равно на служебных бд одно и тоже:
Database is currently in use by you or another user
Просто, насколько я понимаю, успевает запуститься репликация.
Хотелось бы узнать, как обойти это и еще возможно ли запустить compact баз, но указать кроме, например mail\ или другой папки?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
если речь идёт о "служебных" базах - то это говорит о том, что домино их НИКОГДА не отпускает
отсюда один простой вывод - ТУШИМ сервер
и в самой ОС:
nCompact.exe -c
гарантированно откомпактит вам ВСЕ базы - ну если укажите конкретные то конкретную
 

k85

Lotus Team
11.10.2011
260
1
BIT
0
при потушеном сервере понятно как compact делать. Есть ли способ делать compact при запущенном сервере?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
при потушеном сервере понятно как compact делать. Есть ли способ делать compact при запущенном сервере?
для служебных баз нет
ну допустим компактишь ты log.nsf куда он будет писать рассширенный лог от компакта если ты забрал базу в монопольный режим?
 

k85

Lotus Team
11.10.2011
260
1
BIT
0
ToxaRat
с log можно и согласиться, но есть же и другие базы, вот например names.nsf, также реплики АК с других серверов
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
с log можно и согласиться, но есть же и другие базы, вот например names.nsf, также реплики АК с других серверов
в процесе компакта names.nsf пришло письмо или было отправлено на группы, или человек открыл ЛЮБУЮ базу и нужно просчитать его роли, группы, доступ и что серверу делать в такой ситуации? - правильный ответ выбить пользователю, письму, событию - НЕДОСТУПЕН
что с лёгкостью демонстрируется когда сервер потушен
так зачем платить больше? :)
 

k85

Lotus Team
11.10.2011
260
1
BIT
0
так зачем платить больше
причем здесь платить?! в час ночи не так уж и много писем отправляют на корпоративную почту, поэтому в том что кому-то бы пришел ответ , что письмо не доставлено нет ничего страшного...
меня интересовало вот это:
drop all
dbcache flush
load compact...

чтобы не делать руками - пишем пакетный файл

интересно получилось у кого-то настроить компакт так чтобы он срабатывал на служебные базы?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
что письмо не доставлено нет ничего страшного
если письмо не придет генеральному вам потом будет очень страшно :)
если вы нигде не находите подтверждения что служебные можно компактить в онлайн то зачем об этом спрашивать дальше?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!