Регистрация

Синхронизация баз

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Старожил
Сообщения: 16
Зарегистрирован: Пт ноя 16, 2007 5:48 pm

Синхронизация баз

Сообщение xGoodWin » Чт авг 30, 2012 11:25 pm

Приветствую уважаемый форум!

Есть база на боевом сервере и база на резервном сервере. Требуется периодически синхронизировать базы.

В моем случае, я не стал заморачиваться с реплицированием, поставил скрипты в кроне:
prorest $DataBase $BACKUPFILE >> $LOGFILE

Но осталась небольшая проблема, в случае если база уже существует в каталоге назначения эта команда будет спрашивать подтверждение от человека. А это не есть хорошо для автоматизации процесса.

Кто как решал проблему синхронизации?

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Сообщение dmitri » Пт авг 31, 2012 12:22 am

prorest $DataBase $BACKUPFILE <<EOF
y
EOF

# EOF -- End of file. Или любое другое слово.

Старожил
Аватара пользователя
Сообщения: 1523
Зарегистрирован: Чт сен 27, 2001 4:00 am
Откуда: Москва

Сообщение dmi » Пт авг 31, 2012 10:13 am

dmitri писал(а):prorest $DataBase $BACKUPFILE <<EOF
y
EOF

# EOF -- End of file. Или любое другое слово.


Я бы еще проверил, а вдруг база уже запущена?

код взял из prokb

Код: Выделить всё
proutil mydb -C busy
if [ $? != 0 ]
then
  echo
  echo "Do you want to use 'proshut' to force users off\
    the system?"
  read ans
  if [ "$ans" = y ]
  then
    proshut -by mydb
  else
    echo "Backup will not be performed."
    exit
  fi
fi
echo "Beginning backup."
# Backup procedure
/dmi

http://pro4gl.ru - 4gl блог

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Синхронизация баз

Сообщение Arelav » Пт авг 31, 2012 12:23 pm

xGoodWin писал(а):Есть база на боевом сервере и база на резервном сервере. Требуется периодически синхронизировать базы.


Какая версия OpenEdge?

Что мешает создать AI-репликацию? База на резервном сервере только на случай аварии, или предполагается её использованием пользователями для отчетов?

Почему бы не использовать OpenEdge Replication или Replication Plus? В последнем случае резервные базы можно еще использовать как "сервера отчетности".

На счет выбранного вами способа синхронизации. Какой размер у базы? Какова тенденция ее роста? База будет расти, а значит время простоя для бэкапа постоянно увеличиваться будет.

Старожил
Сообщения: 16
Зарегистрирован: Пт ноя 16, 2007 5:48 pm

Сообщение xGoodWin » Пт авг 31, 2012 11:05 pm

Большое спасибо коллеги, за ответы!

Вариант с prorest (1 раз в сутки) пока оптимален.
Сервер будет stand-by, для отчетов не используется

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Re: Синхронизация баз

Сообщение dmitri » Пт авг 29, 2014 12:39 am

Arelav писал(а):Почему бы не использовать OpenEdge Replication или Replication Plus? В последнем случае резервные базы можно еще использовать как "сервера отчетности".

В случае OpenEdge Replication Plus можно ли писать отчеты на SQL?
То есть на Target DB можно ли запустить proserve не для 4GL, а для SQL ?
-ServerType SQL или как это там делается?

Старожил
Аватара пользователя
Сообщения: 1523
Зарегистрирован: Чт сен 27, 2001 4:00 am
Откуда: Москва

Re: Синхронизация баз

Сообщение dmi » Пт авг 29, 2014 12:53 am

В случае OpenEdge Replication Plus можно ли писать отчеты на SQL?
То есть на Target DB можно ли запустить proserve не для 4GL, а для SQL ?
-ServerType SQL или как это там делается?


У меня база поднята нормально, как и в рабочей конфигурации (даже лучше, потому что сервер мощнее продукции пока). Насколько я помню -у меня там тоже есть сервер с ServerType SQL, остальные - строго 4GL Only.
В случае Repl Plus и режима -Extended Read Only у тебя та же самая БД, только ты туда писать не можешь.
Я вот не помню - подсоединялся туда кто-нибудь или нет по SQL?
Могу посмотреть завтра, не хочется заходить по vpn на работу ( у нас уже поздно).
/dmi

http://pro4gl.ru - 4gl блог

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Синхронизация баз

Сообщение Arelav » Пт авг 29, 2014 10:05 am

dmitri писал(а):В случае OpenEdge Replication Plus можно ли писать отчеты на SQL?
То есть на Target DB можно ли запустить proserve не для 4GL, а для SQL ?
-ServerType SQL или как это там делается?


Можно.
2014-08-29 10-02-37 With the OpenEdge 11.3 [Работает] - Oracle VM VirtualBox.png
2014-08-29 10-02-37 With the OpenEdge 11.3 [Работает] - Oracle VM VirtualBox.png (38.71 КБ) Просмотров: 10368


Единственно, вы не можете создать SQL view на Target, посколько она в read only. Т.е. если нужны SQL views надо создавать их на Source.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re:

Сообщение George » Пт авг 29, 2014 10:56 am

dmi писал(а):Я бы еще проверил, а вдруг база уже запущена?


Я бы еще проверил не поврежден ли бэкап, которым target база будет затерта. Вполне вероятна ситуация когда бэкап на source базе завершился в середине процесса по ошибке или когда файл бэкапа повредился при передаче по сети. Если начать восстанавливать такой бэкап, то target база будет убита, имеющийся бэкап бесполезен и возможно из-за повреждения source базы. И с чем тогда останемся?

Т.е. предлагаю проверять:
prorest foo backup -vp | grep "verified ok"

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Re: Синхронизация баз

Сообщение dmitri » Пт авг 29, 2014 11:41 pm

Спасибо всем за исчерываюшие ответы.
Понятно что вьюшки (SQL view) на Target делать нельзя.
Create view -- это изменение схемы базы, а схему как и данны менять нельзя. В Оракле так же.

Но что отличается, так это то что запуск Target базы оказывается осушествяется той же командой что и замуск Soruce.
Код: Выделить всё
proserve sports -m3 -S xxx

Отличие пожалуй только в -m3

В оракле запуск Source базы (startup) и запуск Target базы отличаются -- совсем разные команды.

Всем счастливых выходных. У нас праздник -- день труда 1 сентября, как у вас 1 мая.

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Синхронизация баз

Сообщение Arelav » Пн сен 01, 2014 12:20 pm

dmitri писал(а):Отличие пожалуй только в -m3



Собственно, и это тоже даже не отличие.
В приведенном мной примере я просто уже для стартованной Target-базы стартовал дополнительного брокера (-m3 это параметр для старта таких брокеров), который будет обслуживать только SQL-клиентов (-ServerType SQL).
А в общем, старт Target абсолютно аналогичен как и Source, мало того, определенные параметры старта должны быть одинаковыми. Да, и если не указывать специально при старте основного или дополнительного брокера параметр -ServerType со значениямми 4GL или SQL, то такой брокер по умолчанию будет обслуживать и 4GL-, и SQL-клиентов.

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Re: Синхронизация баз

Сообщение dmitri » Пн сен 01, 2014 8:11 pm

Понятно, то есть все то же самое как и в отношении к основной базе (Source), можно один брокер который по умолчанию будет обслуживать и 4GL-, и SQL-клиентов.
Но лучше наверно одтельно. Понятно.

Вопрес о лицензии: Лицензию OE Replication Plus надо устанавкливать на тот сервер где Source , где Target или на оба сервера ?

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Синхронизация баз

Сообщение Arelav » Вт сен 02, 2014 9:53 am

dmitri писал(а):Вопрес о лицензии: Лицензию OE Replication Plus надо устанавкливать на тот сервер где Source , где Target или на оба сервера ?

Устанавливается на оба сервере, мало того, допускается установка на два резервных сервера, т.е. на промышленный сервер + два резервных сервера.
Вот выдержка из Policy Guide.
Для OpenEdge Replication for Enterprise:
NOTE: Licensees that purchase OpenEdge Replication for Enterprise
using the OpenEdge Add-On Concurrent User or OpenEdge Add-On
Access Agent license model and have a valid Production Server license for
Enterprise RDBMS are also granted a Disaster Recovery Server license
for Enterprise RDBMS. This license grants a licensee the right to run
Enterprise RDBMS on up to two servers for disaster recovery purposes.
Licensees will not be required to purchase a Disaster Recovery Server.


Для OpenEdge Replication Plus for Enterprise:
Licensees that purchase OpenEdge Replication Plus for Enterprise
using the OpenEdge Add-On Concurrent User or OpenEdge Add-On
Access Agent license model and have a valid Production Server license for
Enterprise RDBMS are also granted a Disaster Recovery Server and
Reporting Server license
for Enterprise RDBMS. This license grants a
licensee the right to run Enterprise RDBMS on up to two servers for
disaster recovery and reporting purposes. Licensees will not be required
to purchase a Disaster Recovery Server or Reporting Server license
.

Старожил
Аватара пользователя
Сообщения: 1016
Зарегистрирован: Чт авг 04, 2005 5:19 pm
Откуда: Pennsylvania, USA

Re: Синхронизация баз

Сообщение dmitri » Чт сен 04, 2014 1:32 am

Спасибо. На тестовый сервер уже установил.
А можно просто для тестирования реплицировать sports базу из одного директория в другой, на том же сервере? Не хочется пока заморачиватся с установкой OE Repl Plus на второй сервер.

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Синхронизация баз

Сообщение Arelav » Чт сен 04, 2014 10:19 am

Можно.

Вернуться в PROGRESS - АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4