powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование теневой копии
20 сообщений из 20, страница 1 из 1
Использование теневой копии
    #37134459
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток.
Поделитесь,пожалуйста,опытом - кто-нибудь использовал теневую копию БД.
Если конкретно:
- Настраивали и были какие-то особенности,проблемы?
- Пытались использовать для каких-то своих целей(допустим выполнение каких-то отчетов) теневую копию.
- Как проверить,что теневая копия точная копия основной БД?
...
Рейтинг: 0 / 0
Использование теневой копии
    #37134646
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kosmicas- Как проверить,что теневая копия точная копия основной БД?
Как вариант, теми же отчётами и проверить... Если сойдутся - БД равны.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37134841
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaKosmicas- Как проверить,что теневая копия точная копия основной БД?
Как вариант, теми же отчётами и проверить... Если сойдутся - БД равны.
В принципе,да это как один из этапов проверки,но полной гарантии он опять же не дает. Кроме данных для отчетов есть и какие-то системные утилиты,тежи настройки программы в глобалях - из интерфейса никак невидные,но важные для фунциклирования программы.
Есть конечно способ составить список важных глобалей и по какому-то правилу сверять их в основной и теневой базах,но это уже велосипед.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37134896
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KosmicasЕсть конечно способ составить список важных глобалей и по какому-то правилу сверять их в основной и теневой базах,но это уже велосипед.
Сравнивать с какой-то периодичностью?
Я бы еще понял сравнение пару раз, т.с. для теста... Но повторять бы такое далее не стал. Тень она на то и тень, чтобы сама себя с оперативной БД синхронизировала.

Kosmicas , под "утилитами" понимаются какие-то программки? Они так же оперативно изменяются в основной БД?
...
Рейтинг: 0 / 0
Использование теневой копии
    #37134961
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да хотелось бы проверять с какой-то переодичность,не часто - допустим раз в неделю.

krvsa Kosmicas , под "утилитами" понимаются какие-то программки?
Под утилитами имел введу вспомогательные программы на COS,которые обеспечивают работоспособность основных функционалов программы.Чтобы не было путаницы,можно про них забыть,просто есть какие-то важные глобали,которые пользователь увидеть не может,соответственно отчетами проверить тоже не может.

krvsaОни так же оперативно изменяются в основной БД?
Ну конечно все изменения кода в основной БД должны быть и в теневой копии.
В теневую копию изменения кода передаются(проверил уже).
...
Рейтинг: 0 / 0
Использование теневой копии
    #37135104
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KosmicasЧтобы не было путаницы,можно про них забыть,просто есть какие-то важные глобали,которые пользователь увидеть не может,соответственно отчетами проверить тоже не может.
Проверить глобалы на совпадение по некоему перечню дело не хитрое... Если просто интересует факт "такой на 100% или нет". Сложнее если нужно показать какие-то расхождения или где они присутствуют. И если это в разных глобалах по-разному...
...
Рейтинг: 0 / 0
Использование теневой копии
    #37135290
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начиная с 2010.1, для этого появилась утилита ^DATACHECK и обслуживающий ее
%Service_DataCheck. Поищите в док-ии строку "DataCheck Overview". Утилита учитывает возможность текущего рассогласования баз.

А вообще вопрос актуальный, особенно, учитывая "February 14, 2011 – Alert: Missing Shadowing Updates". Если кто не читал: нашли ошибку, которая, оказывается, существует уже 3 года (с 2008.1 по 2010.2). Вероятность её, правда, весьма мала.

Мне начинает казаться, что вместо периодических проверок согласованности баз менее затратно (и более надёжно) периодически останавливать "тень", поднимать на СТЕНЬ полный бакап с СБД, после чего заново её (тень) запускать.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37135646
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaПроверить глобалы на совпадение по некоему перечню дело не хитрое...
Если не сложно,подскажите как.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37136092
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kosmicas , есть функция $QUERY, с её помощью можно читать "значимые" узлы глобала в двух областях... Потом сравнивать что прочиталось и значения прочитаного. Пока либо глобал не кончится... Либо расхождение будет найдено...
...
Рейтинг: 0 / 0
Использование теневой копии
    #37136270
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KosmicasЕсли не сложно,подскажите как.
Что-то типа такого...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
START
	n
	s ns( 0 )=$zu( 5 )
	s ns( 1 )="vers"
	s ns( 2 )="err"
	s uz( 1 )=$na(^O)
	s uz( 2 )=uz( 1 )
	do {
		w $c( 13 ),$i(uz)
		s err=$$Status
		if err {
			d ERR
			q
		}
		zn ns( 1 )
		s uz( 1 )=$q(@uz( 1 ))
		zn ns( 2 )
		s uz( 2 )=$q(@uz( 2 ))
	} while uz( 1 )'="",uz(2)'=""
	zn ns( 0 )
	w:'err !,"Ok"
	q
ERR // Вывод информации если ошибка
	w !,uz( 1 )
	w:err> 1  "=",z( 1 )," $d=",t( 1 )
	w !,uz( 2 )
	w:err> 1  "=",z( 2 )," $d=",t( 1 )
	q
Status() // Проверка узла и значения
	q:uz( 1 )'=uz(2) 1
	zn ns( 1 )
	s t( 1 )=$d(uz( 1 ))
	s z( 1 )=$d(uz( 1 ))
	zn ns( 2 )
	s t( 2 )=$d(uz( 2 )) 
	s z( 2 )=$d(uz( 2 )) 
	q:t( 1 )'=t(2) 2
	q:z( 1 )'=z(2) 3
	q  0 
...
Рейтинг: 0 / 0
Использование теневой копии
    #37136336
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две базы. Из первой данные передаются во вторую. Чтобы сравнить совпадают или нет, тут сразу нужно сказать что означает такое совпадение, поскольку сама передача изменений занимает какое-то время. Если к примеру в первой базе изменения остановлены, то после некоторого времени вторая база придет в соответствие с первой. А пока дышит первая, во второй логические фантомы (несоответствие отдельных узлов глобалов друг другу с точки зрения прикладухи) практически гарантированы. Если сравнивать две дышащие базы сканированием, то тест покажет лишь совпадение (или несовпадение) данных по скользящему окну сканирования.
ИМХО и все такое.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37136343
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, если два полных сканирования подряд с интервалом больше чем время подкачки выявили одно и то же расхождение, то скорее всего оно систематично.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37136383
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яЕсли к примеру в первой базе изменения остановлены, то после некоторого времени вторая база придет в соответствие с первой. А пока дышит первая, во второй логические фантомы (несоответствие отдельных узлов глобалов друг другу с точки зрения прикладухи) практически гарантированы.
С этим никто и не спорит...
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137169
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa За $QUERY спасибо. Проблему поможет решить,но это как раз тот велосипед и есть.
Утилита ^DATACHECK вроде как то что надо,но Cache 5.0.X(МАптека).
Думаю менее затратно,организовать проверку глобалей только в начале работы с тенью - чтобы убедиться в ее работоспособности.
ну я бесспорно прав и эти проверки надо организовывать когда с основной базой никто не работает - выгнать всех пользователей, остановить работу всех автозапускаемых процедур.Иначе будешь разгребать ошибки,которые сча есть,а потом куда-то тю-тю.

А как постоянный вариант предложение Alexey Maslov - время от времени заменять базу тени на основную.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137170
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите еще,кто-нибудь настраивал теневое копирование,были какие-то проблемы,особенности?
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137352
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kosmicas , у нас один клиент используеттеньобластной БД. Но просто как "горячий бекап"... Т.е. действий с ней никаких не ведёт.
Про проблемы от них не слышал...
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137590
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, когда-то написал такую инструкцию. Здесь "тень" по-старинке называется "зеркалка", теневой сервер = СЗЕР, и т.д. Почитайте, может пригодится.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137936
Kosmicas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslov , за процедуру переключения,отдельное спасибо.Как раз надо было ее продумать.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37137972
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kosmicas , пожалуйста :) Только вот как раз в процедуре переключения я не вполне уверен. Обязательно опробуйте ее в спокойной обстановке.
Немного подумал, ивремя от времени заменять базу тени на основнуюуже не кажется такой уж хорошей идеей. Смотрите, есть 2 варианта:
1. Мы используем некий механизм горячего резервирования (в данном случае - тень) и полностью доверяем ему. Только в этом случае мы можем полагаться на беспроблемное переключение на СТЕНЬ.
2. Мы используем некий механизм горячего резервирования (в данном случае - тень) и не полностью доверяем ему. В этом случае при падении СБД разумный админ сделает всё возможное, лишь бы не переключаться на теневые копии баз. Он постарается вытащить журналы с СБД и накатить их на последний полный бакап, и полученный результат будет казаться ему более достоверным.
Но тогда зачем мы используем механизм, на который не можем положиться в трудную минуту? Получается, лишь затем, чтобы иметь еще один - наиболее свежий, но не вполне достоверный - бакап.
Переодические перезаливки баз данных с СБД на СТЕНЬ (равно как и проверки синхронности баз с помощью DATACHECK или своей утилиты) принципиально ничего не меняют, ведь в периоды между ними наше доверие к механизму не становится выше.

Как справедливо пишет ISC в док-ии, если необходимо действительно отказоустойчивое решение, не стоит полагаться на "тень". Раньше рекомендовались кластеры, теперь, начиная с 2010.2, в качестве альтернативы рекомендуется "зеркалка".

Справедливости ради скажу, что бюллетеней, подобных "February 14, 2011 – Alert: Missing Shadowing Updates" не было много лет (лет 10). Были нарекания по поводу неудобства настройки и неправильных дефолтов (кое-что из этого отразилось в выложенном .doc, к новым версиям Cache не относится), но никогда ранее их не было по поводу надёжности.
...
Рейтинг: 0 / 0
Использование теневой копии
    #37144428
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, сегодня объявлено о выпуске 2010.2.3, где содержится исправление HYY1619, на которое ссылается упомянтый выше бюллетень :)
Для 2010.1: пока что ждём-с.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование теневой копии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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