Sql Anywhere 11: Відновлення поступової відмови резервного копіювання


16

Ми хочемо створити віддалені додаткові резервні копії після повної резервної копії. Це дозволить нам відновити у разі відмови та підняти іншу машину з максимально наближеними до резервного копіювання в режимі реального часу на мережевих серверах SQL Anywhere.

Ми робимо повне резервне копіювання наступним чином:

dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\full

Це робить резервну копію баз даних та файлів журналів, і їх можна відновити, як очікувалося. Для покрокових резервних копій я пробував як живі, так і додаткові журнали транзакцій зі схемою перейменування, якщо є кілька додаткових резервних копій:

dbbackup -y -t -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\inc

dbbackup -y -l -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" 
    c:\backuppath\live

Однак, застосовуючи журнали транзакцій під час відновлення, я завжди отримую помилку при застосуванні журналів транзакцій до бази даних:

10092: Неможливо знайти визначення таблиці для посилання на таблицю в журналі транзакцій

Команда відновлення журналу транзакцій:

dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"

Помилка не вказує, яку таблицю вона не може знайти, але це контрольований тест, і ніякі таблиці не створюються і не видаляються. Я вставляю кілька рядків, після чого знімаю інкрементальну резервну копію, перш ніж намагатися відновити.

Хтось знає правильний спосіб зробити додаткове резервне копіювання та відновлення на Sql Anywhere 11?

ОНОВЛЕННЯ: Думаючи, що це може бути пов'язано зі складністю цільової бази даних, я створив нову порожню базу даних та послугу мережі. Потім додали одну таблицю з двома стовпцями і вставили кілька рядків. Зробив повну резервну копію, потім вставив і видалив ще кілька рядків і здійснив транзакції, потім зробив додаткове резервне копіювання. Це також не вдалося з тією ж помилкою при спробі застосувати додаткові резервні копії журналів транзакцій після відновлення повної резервної копії ...

Редагувати:

Ви можете перейти за цим посиланням, щоб побачити те саме питання, дещо більше відгуків про SA: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure


Ви можете перевірити sqlanywhere-forum.sybase com, веб-сайт Q&A спеціально для SQL Anywhere.
Graeme Perrow

Дякуємо та уау, що цей сайт виглядає неймовірно знайомим ... АС так пов'язаний, навіть якщо він знаходиться під доменом sybase чи ви думаєте, що вони будуть заперечувати надто багато?

Відповіді:


2

Узагальнення інформації, пов’язаної з публікацією вище ...

Команда, яку ви використовували, призначена для резервного копіювання в реальному часі, але те, що ви хочете, - це додаткове резервне копіювання. Підхід, який ви хочете використати (у цьому блозі ), використовує дещо різні комутатори. Ви хочете використовувати -n -t -xперемикачі, а -o, щоб вказати файл журналу. Отже команда закінчується чимось на зразок:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.