Отследить процесс репликации, сжатия и др.

  • Автор темы AlexeyStaf
  • Дата начала
A

AlexeyStaf

Добрый день!
При репликации БД на локальный компьютер сам процесс репликации очень хорошо отображается в закладке Репликаций. Если же репликация идет между серверами, то этого окна нет. Собственно, об это говорит и сама справка. Но существует ли какой-нибудь способ отследить как идет процесс репликации в этом случае? Пусть даже в каком-нибудь логе, либо через сторонние утилиты может быть, но чтобы узнать, например, что среплицировано 24% документов или что-то вроде. Аналогичный вопрос и про процесс восстановления и сжатия БД - можно ли как-то отследить ход выполнения этих задач?
 
H

HotDog

Добрый день!
При репликации БД на локальный компьютер сам процесс репликации очень хорошо отображается в закладке Репликаций. Если же репликация идет между серверами, то этого окна нет. Собственно, об это говорит и сама справка. Но существует ли какой-нибудь способ отследить как идет процесс репликации в этом случае? Пусть даже в каком-нибудь логе, либо через сторонние утилиты может быть, но чтобы узнать, например, что среплицировано 24% документов или что-то вроде. Аналогичный вопрос и про процесс восстановления и сжатия БД - можно ли как-то отследить ход выполнения этих задач?


Может это Вам поможет:
Вы можете создать так называемый Event Handler практически на любое событие в консоли
 
H

HotDog

Почему-то не уверен, т.к. в консоли эти просеццы обозначаются как Start и Finish.

А как насчет, например:
Replicator added 2 document(s) to SERVER/ORG dbname.nsf from dbname
Тормозим консоль, нажимаем пр. кл. мыши по событию и выбираем Server->Create Server Event Handler
Настраиваем действие на это событие.
Я например некоторые события с консоли себе на почту отправляю

Единственное, что я не понимаю зачем это все нужно.

Все есть на вкладке Replication->Replication Events
 
A

AlexeyStaf

А как насчет, например:
Replicator added 2 document(s) to SERVER/ORG dbname.nsf from dbname
Тормозим консоль, нажимаем пр. кл. мыши по событию и выбираем Server->Create Server Event Handler
Настраиваем действие на это событие.
Я например некоторые события с консоли себе на почту отправляю

Единственное, что я не понимаю зачем это все нужно.

Все есть на вкладке Replication->Replication Events
Иногда процесс репликации идет пару-тройку часов (большой объем данных, неполадки в сети и т.д.) - в консоли отображается только:
12.08.2010 15:08:01 Database Replicator started
12.08.2010 15:08:01 Replicator is set to Ignore Database Quotas
12.08.2010 15:08:04 Starting replication with server lotus_server/domino
12.08.2010 15:08:04 Pushing mydatabase.nsf to lotus_server/domino mydatabase.nsf

Дак вот хочется узнать этот Pushing будет еще длиться 10 минут или же вообще 10 часов. В Replication->Replication Events ничего не появляется пока процесс активен. Как только процесс завершится - появляется запись в евентах и в консоли будут записи сколько чего добавилось/обновилось.
Помимо репликации еще волнуют две задачи - сжатие и восстановление. Эти процессы тоже могут выполняться непредсказуемо долго, а хотелось бы знать что они делают в конкретный момент времени.
 
H

HotDog

Эти процессы тоже могут выполняться непредсказуемо долго

Зачем Вам знать, как долго это происходит?
У меня есть база размером 12ГБ, компактится с опцией -c не более 5 мин. (в зависимости от загруженности сервера)


Все остальное можно найти в логах.
Если Вы хотите все это видеть в реальном времени, то Вам просто больше нечем заняться
 
A

AlexeyStaf

Зачем Вам знать, как долго это происходит?
У меня есть база размером 12ГБ, компактится с опцией -c не более 5 мин. (в зависимости от загруженности сервера)


Все остальное можно найти в логах.
Если Вы хотите все это видеть в реальном времени, то Вам просто больше нечем заняться
К сожалению моя база в 20ГБ с количеством документов за 1млн проверяется на целостность и сжимается далеко не за 5 минут. Быть может дело в конфигурациях компьютеров, но не уверен.
 
H

HotDog

так отлавливайте ошибки при обслуживании баз, зачем следить за процессом?
 
A

AlexeyStaf

так отлавливайте ошибки при обслуживании баз, зачем следить за процессом?
Я говорю об ошибках, которые от меня не зависят - выключение света, синий экран виндуса и др. В конце концов мне для себя интересно можно или нет отслеживать эти процессы (не предотвратить их выполнение, а именно отслеживать ход выполнения).
 
K

Klido

думаю только внешней софтиной или дописывать серверный монитор самостоятельно через API...
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а если включить избыточный лог по репликации? :newconfus:
 
Z

Znake

а если включить избыточный лог по репликации? :)
точно, но боюсь он ничего не скажет =) Попробовать нужно в любом случает
Log_Replication=0-5 вроде
а для компакт -С видно что процесс идет по увеличению временного файла.

Была подобная ситуация когда процесс компакта сделал пару мег. и дальше якобы зависал, но на утро база уже была сжата нормально. Размер порядка 6 гиг. 600тыс.док.
 
A

Akupaka

а если включить избыточный лог по репликации?
Ты когда-нить научишь отвечать по-людски, а не намеками?
точно, но боюсь он ничего не скажет
Не бойся, скажет, главное - уметь понять то, что он скажет, а не скажет ли он.
 
Z

Znake

Тоха призывает обратиться к бд ХЕЛП. всего навсего. Чтобы человек понимал что он делает.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Znake
пасиб! правильно мыслишь!
потому как по первому же посту видно что человек не читает справку.
Потому как мне не понятно откуда он взял что лога репликации нету?
тем более что Log_Replication=5 оказывается отвечает как раз на вопрос о Space Saving
 
A

Akupaka

потому как по первому же посту видно что человек не читает справку.
А по твоим постам видно, что ты не читаешь чужих постов, отвечаеш либо некорректно, либо не в ту степь, либо так, что ничего понять нельзя!
Первый же пост автора:
Собственно, об это говорит и сама справка

Znake
пасиб! правильно мыслишь!
Да, он правильно мыслит, а еще он правильно отвечает:
Попробовать нужно в любом случает
Log_Replication=0-5 вроде
Хотя и не уверен в своей правде.
 
A

AlexeyStaf

Log_Replication=0-5 вроде
Вроде ничем он не помогает. Разве что только вижу какие именно документы обновляются, добавляются и т.д. Записи вроде "Буду реплицировать 100 документов" нет. То что пишется в конце (добавлено столько-то, удалено еще столько-то) смысла не имеет, т.к. реплика уже прошла.
Потому как мне не понятно откуда он взял что лога репликации нету?
Я написал, что запись в евентах появляется только после того как репликация завершилась, а не то что в логе вообще нет ничего. Может быть необходимо какую-то дополнительную настройку включить, чтобы запись появлялась как только пошла реплика? Я не нашел. Подскажите?
а для компакт -С видно что процесс идет по увеличению временного файла
А вот за это спасибо :) Если знать сколько места фактически занято в БД, то может быть очень приблизительно и можно будет расчитать время сжатия.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
AlexeyStaf
допустим пошла у вас репликация, и длилась она у вас час, за час туда накидали еще 5К документов, и что же вы хотите увидеть в итоге?
 
A

Akupaka

Записи вроде "Буду реплицировать 100 документов" нет
Нет, а зачем именно такая запись? Вообще, часто, при разруливании проблем с репликацией встает вопрос: "а почему этот документ не реплицируется". А вот кол-во документов на репликацию не очень интересно, обычно.
Но можно попытаться симитировать, написав код, который будет выполнять поиск документов, которые подлежат репликации, но это будет очень приблизительно, т.к. получить одинаковый результат в момент имитации и в момент репликации может не удастся, если база часто пополняется документами.
допустим пошла у вас репликация, и длилась она у вас час, за час туда накидали еще 5К документов, и что же вы хотите увидеть в итоге?
Если документы накидали, когда репликация уже началась, то эти новые документы не повлияют на объем репликации! Перед репликацией выполняется единоразовый поиск документов для репликации в каждом направлении.
 
Мы в соцсетях:

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