Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 удалены логи, как подключится к базе / 16 сообщений из 16, страница 1 из 1
21.01.2014, 07:42
    #38532667
CorvusR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Доброго времени суток !
Уважаемые гуру, ситуация следующая: удалены логи базы данных, все кроме последнего файла. В результате - не могу подключиться к базе выдает: SQL1036C An I/O error occurred while accessing the database SQLSTATE=58030.
Подскажите пожалуйста можно ли как то восстановить работоспособность БД (с потерей данных или без - не имеет значение, главное - чтобы заработало) ?
С db2 соприкасаюсь примерно 1 раз в год :), поэтому пожалуйста пишите как можно ближе к рабоче-крестьянскому :)

Версия БД: 9.7.0.6
ОС CentOs 6.4

Спасибо !
...
Рейтинг: 0 / 0
21.01.2014, 09:37
    #38532717
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CorvusR,

Кирдык базе.
Дело в том, что данные в табличных пространствах (собственно там, где они хранятся) могут быть неконсистентны. Там могут быть сброшенные из буфферпулов страницы, коммит по которым ещё не прошёл. Эти данные фиксятся по имеющимся логам в процессе Crash Recovery, когда база поднимается.
DB2 очень строго относится к любым некнсистентностям и скорее закроет доступ к тем или иным объектам, чем даст прочитать "неизвестно что". Логи для Crash recovery недоступны => "скомпрометированы" _все_ объекты в базе.

Варианты:
1. Восстановить базу из бэкапа (опционально - донакатиться до некоторой точки по имеющимся архивным логам, если логи не циркулярные).
2. Обратиться за поддержкой в IBM.
3. Вытаскивать данные из неактивной базы с помощью db2dart:
Код: plaintext
db2dart <dbname> /DDEL
На запрос "Table ID or name, tablespace ID, first page, num of pages:" вводим:
<TABNAME>, <tbspace_id>, 0, 0
См. Example 4 доки по db2dart .
(Важно! Имя таблицы вводится с учётом регистра, т.е. в большинстве случаев в UPPER CASE)

Получить список id табличных пространств (если вообще нет бэкапа и развернуть живую базу невозможно):
Код: plaintext
db2dart <dbname> /ATSC
Далее искать "Table space ID:" по сгенерированному <dbname>.RPT файлу

Список таблиц в базе:
Код: plaintext
db2dart <dbname> /DDEL
На вход "SYSIBM.SYSTABLES, 0, 0, 0"
...
Рейтинг: 0 / 0
21.01.2014, 09:57
    #38532738
CorvusR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CawaSPb, благодарю за развернутый ответ.
Подскажите, как восстановить базу из backup? RESTORE DATABASE не могу использовать, так как не могу соединиться с базой.
...
Рейтинг: 0 / 0
21.01.2014, 12:47
    #38532939
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CorvusR,

Для RESTORE DATABASe совсем не нужно соединение с базой. Главное, чтобы в текущей сессии были закрыты соединения со всеми другими базами (можно так - "db2 terminate").
...
Рейтинг: 0 / 0
21.01.2014, 13:03
    #38532954
m&m
m&m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CorvusR,

Есть бэкапы уровня фс? (нужен SQLOGCTL.LFH.1)
...
Рейтинг: 0 / 0
21.01.2014, 13:57
    #38533036
CorvusR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Спасибо, CawaSPb ! Свою проблему решил восстановив базу из backup.

Всем спасибо.
...
Рейтинг: 0 / 0
16.06.2014, 16:47
    #38670709
Uzden Ham
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
m&m,

у меня сложнее ситуация: бекапов нет, произошел скачек напряжения, после этого база не коннектится.
если подменяю SQLOGCTL.LFH.* - коннект идет, но не подключаются контейнеры.
Вопрос: как запустить или (если я правильно понял) отредактировать SQLOGCTL.LFH.???
...
Рейтинг: 0 / 0
16.06.2014, 18:40
    #38670856
m&m
m&m
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Uzden Ham,

Если есть действующий контракт - IBM support вроде бы имеет возможность корректировать этот файл
для снятия с базы признака состояния "неконсистентности" (только признака).
...
Рейтинг: 0 / 0
19.06.2014, 10:22
    #38673898
Uzden Ham
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
m&m,
контракта нет, если кто поможет, не откажусь
...
Рейтинг: 0 / 0
19.06.2014, 10:35
    #38673921
Uzden Ham
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CawaSPb,
вопрос: дальнейшие действия?
если правильно понимаю, создаю новую базу, в ней пространства, таблицы, и заливаю данные. Это можно поподробнее?
...
Рейтинг: 0 / 0
19.06.2014, 12:38
    #38674170
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Uzden Ham,

Я бы попробовал в следующей последовательности:
1. Дополнительно пройтись chkdsk по U:
2. Посмотреть, что :
--------------
U:\DB2\NODE0000\SQL00001\V81C_LOBSPACE\space.1
U:\DB2\NODE0000\SQL00001\V81C_LOBSPACE\space.2
U:\DB2\NODE0000\SQL00001\V81C_USERTEMP\space.1
U:\DB2\NODE0000\SQL00001\V81C_LARGESPACE\space.1
U:\DB2\NODE0000\SQL00001\V81C_LARGESPACE\space.2
U:\DB2\NODE0000\SQL00001\V81C_INDEXSPACE\space.1
U:\DB2\NODE0000\SQL00001\V81C_INDEXSPACE\space.2
--------------
доступны (на всякий случай можно сделать их доступными для всех) и, например, корректно копируются куда-либо.

Далее - по обстоятельствам.

> если правильно понимаю, создаю новую базу, в ней пространства, таблицы, и заливаю данные. Это можно поподробнее?

А есть данные, которые заливать?
Если есть недавний offline backup, то можете вытащить структуру оттуда.

На текущей базе db2dart у вас даже к списку таблиц "пробиться" не может.
...
Рейтинг: 0 / 0
07.07.2014, 15:55
    #38689570
Uzden Ham
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CawaSPb,
db2dart <dbname> /DDEL сделал.
Как теперь восстановить, не подскажешь.
Если правильно понимаю:
1. создать чистую базу
2. создать таблицы с такими-же полями и наименованиями
3. залить данные из дампов

1 и 2 понятно мне, не знаю 3
...
Рейтинг: 0 / 0
07.07.2014, 18:16
    #38689698
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Uzden Ham,

IMPORT или LOAD

Полученные данные - обыкновенные .csv файлы. Импортировать можно "в лоб":
IMPORT from <filename> of DEL insert into <tablename>

Если в БД есть referential constraints или таблицы большие, то лучше воспользоваться LOAD'ом:
LOAD from <filename> of del messages load.msg insert into <tablename> nonrecoverable check pending cascade immediate

Потом по результатам
SELECT rtrim(tabschema) || '.' || rtrim(tabname) FROM SYSCAT.TABLES WHERE status = 'C';

set integrity for <tabname> immediate checked;

Если в таблицах есть LOB объекты, с ходу не скажу, но можно посмотреть.
...
Рейтинг: 0 / 0
14.07.2014, 16:59
    #38696087
Uzden Ham
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
CawaSPb,
Еще вопрос:
есть вариант выгрузить таблицы "Оптом"? Я их выгрузил, но по ходу не все(что-то пропустил), а их 1400 шт. Имена отдельно есть. Создать скрипт командной строки типа db2dart имяБазы /ddel и список параметров в файле (пробовал db2dart имяБазы /ddel имя таблицы,4,0,0 - не проходит)
...
Рейтинг: 0 / 0
14.07.2014, 20:30
    #38696288
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Uzden Ham,

Под *nix'ами вполне прокатывает:
Код: sql
1.
2.
3.
echo "SYSIBM.SYSTABLES,0,0,0
y
tab0001.csv"|db2dart <dbname> /DDEL /RPT .



Под виндами хоть убей, нехочет db2dart ничего жрать со стандартного входа. Точнее очень интересно, Enter'ы берёт, а остальное пропускает как несущественное.
Такое впечатление, что оно в интерактивном режиме стандартным образом выбирает буфер клавиатуры перед тем, чтобы начать оттуда чего-то читать (но, реализовывая выбор дефолтного значения по Enter'у, его не пропускает).

Windows way :/
...
Рейтинг: 0 / 0
14.07.2014, 21:24
    #38696306
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 удалены логи, как подключится к базе
Или из файла скармливать или пробовать такую конструкцию:
Код: plaintext
(echo АБВ&echo y&echo ГДЕ)|команда
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 удалены логи, как подключится к базе / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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