Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.03.2016, 17:19
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Здравствуйте. DB2 9.7. На базе настроено резервное копирование на TSM. Восстанавливаю полный бекап и журналы. При попытке восстановить базу выдает следующие ошибки: 14.03.2016 15:44:05 rollforward db LOGGER to end of logs and complete overflow log path ('D:\Logs\LOGGER\') 14.03.2016 15:44:07 SQL1268N Восстановление с повтором транзакций остановлено из-за ошибки "1" при восстановлении файла журнала "S0003501.LOG" для базы данных "LOGGER" на узле "0". 14.03.2016 15:44:07 connect to LOGGER user db2admin using 14.03.2016 15:44:07 SQL1117N Не удается установить или активировать соединение с базой данных "LOGGER"из-за состояния отложенного повтора транзакций. SQLSTATE=57019 14.03.2016 15:44:07 connect reset 14.03.2016 15:44:07 SQL1024N Отсутствует соединение с базой данных. SQLSTATE=0800 Как я понимаю, при восстановлении TSM пытается найти журнал S0003501.LOG, которого нет. Всего в TSM есть два журнала: S0003500.LOG и S0003499.LOG. Журнал S0003501.LOG не существует. Помогите разобраться, в чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2016, 21:12
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Дополню коллегу. На сервере (ОС Windows 2008) настроен самописный скрипт, выполняющий следующее: 1. из вывода команды db2adutl query full db LOGGER вычисляет информацию о последнем полном онлайн-бэкапе, который был сделан на ТСМ. В строке, начинающейся с "1 Time" вырезается отметка времени (%TAKENAT%) бэкапа и значение "Oldest log" (%OLDLOG%). 2. выполняет команду restore db use tsm Код: plsql 1. 3. вытаскивает из ТСМ все архивные логи, равной или большей значения "Oldest log", полученного на шаге 1 Код: sql 1. 4. накатывает журналы, которые были получены из ТСМ Код: plsql 1. В итоге спотыкаемся на 4 пункте: Код: plaintext 1. Дело в том, что если выполнить db2adutl query logs db LOGGER , то видим, что последний архивный лог S0003500.LOG. И команда из шага 3 (см. выше) тоже извлекает с ТСМ только 2 файла журнала 3499 и 3500. Вопрос: Что не нравится DB2? Почему она настоятельно требует S0003501.LOG, которого нет на ТСМ? Заранее благодарны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2016, 22:55
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Semen Popov, Оно пытается найти ещё логи, но не может, т.к. не имеет доступ к логам от этой базы на tsm. Добавьте в конец команды опцию noretrieve. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2016, 11:27
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Mark Barinstein, спасибо. Помогло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 17:54
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Mark BarinsteinОно пытается найти ещё логи, но не может, т.к. не имеет доступ к логам от этой базы на tsm. А можно тут по-подробнее? Как проверить этот доступ? И как его предоставить? Ответ на эти вопросы, возможно, поможет решить другую нашу проблему Ошибка извления LOG-файлов на локальный диск . Дело в том, что этого не может быть. Все доступы даны: Код: sql 1. Почему не имеет доступа к логам от этой базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2016, 00:06
|
|||
|---|---|---|---|
|
|||
Восстановление резервной копии из TSM |
|||
|
#18+
Semen PopovMark BarinsteinОно пытается найти ещё логи, но не может, т.к. не имеет доступ к логам от этой базы на tsm. А можно тут по-подробнее? Как проверить этот доступ? И как его предоставить? Ответ на эти вопросы, возможно, поможет решить другую нашу проблему ... Почему не имеет доступа к логам от этой базы? Стандартное поведение DB2 при rollforward такое: оно, пытаясь найти доступные логи, в конце концов лезет в архивные пути за ними, если в предыдущих не нашло. Если при этом возникает ошибка - rollforward заканчивается с ошибкой. Ошибка, например, может быть связана с тем, что в параметрах восстановленной на другой TSM ноде базы по-прежнему указано, что архивные логи лежат в TSM. Но, т.к. новое имя TSM ноды отличается, то rollforward посылает запрос в нее, а там логов нет - они в оригинальной ноде. А в rollforward нет возможности указать опцию '-fromnode', например, как в restore. Для этого и придуман параметр noretrieve - не лезть искать журналы в архиве. Конечно, в этом случае можно сконфигурировать систему, чтоб rollforward лез в оригинальную ноду за логами, но так делать не надо в случае, описанном выше. Иначе после наката оно начнет архивировать логи в оригинальную ноду, и там получится каша - оригинальная система тоже туда свои логи продолжает архивировать. Другая проблема с этой не связана - это баг какой-то, скорее всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&mobile=1&tid=1600641]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 178ms |

| 0 / 0 |
