вторник, 14 сентября 2010 г.

Резервное копирование NOM (Sybase)

На первый взгляд простая задача вылилась для меня в длинное разбирательство со строкой соединения к базе данных.
Проверить соединение можно следующей коммандой:
$ dbping -z -c "UID=DBA;pwd=SQL;Links=tcpip{IP=10.0.0.1;PORT=13985;DoBroadcast=none;Verify=NO};ServerName=sparc"

Здесь имеет важное значение параметры:
DoBroadcast=none - не искать сервер с помощью широковещательных пакетов
Verify=NO - не проверять что это "именно тот" сервер.
Команда создания резервной копии:
$ /opt/VRTSnom/db/bin/dbbackup -c "UID=DBA;pwd=SQL;Links=tcpip{IP=10.0.0.1;PORT=13985;DoBroadcast=none;Verify=NO};ServerName=sparc" tmp

В итоге родился скрипт:
#!/bin/bash

SYB_FILES_DIR=/tmp/nom_backup

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/VRTSnom/db/lib
export PATH=$PATH:/opt/VRTSnom/db/bin

echo "Preparing files for backup..."
/opt/VRTSnom/db/bin/dbbackup -q -y -c "UID=DBA;pwd=SQL;Links=tcpip{IP=10.0.0.1;PORT=13985;DoBroadcast=none;Verify=NO};ServerName=sparc" $SYB_FILES_DIR

echo "Begin backup to tape.."
/usr/openv/netbackup/bin/bpbackup -s nom_manual $SYB_FILES_DIR/*
BPBACKUP_STATUS=$?
if [ "$BPBACKUP_STATUS" -ne 0 ]
then
      echo ""
      echo "bpbackup of $SYB_FILES_DIR returned $BPBACKUP_STATUS"
fi

exit $BPBACKUP_STATUS

Восстановление
/opt/VRTSnom/bin/NOMAdmin -stop_service
cd /opt/VRTSnom/db/data
mv vxpmdb.db vxpmdb.old
cp /tmp/nom_backup/* .
chmod a+r *
/opt/VRTSnom/bin/NOMAdmin -start_service

Комментариев нет:

Отправить комментарий