powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как восстановить SQLDBCONF?
9 сообщений из 9, страница 1 из 1
Как восстановить SQLDBCONF?
    #39320569
x3other
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2 v.9.7 (Fix3) Linux
Файлы конфигурации БД (SQLDBCONF и т.п.) и часть логов уничтожены безвозвратно. При попытке соединиться с БД ругается SQL5005C. Имеется старый полный бэкап БД. Развернул этот бэкап на другой физической машине (железо аналогичное рабочему серверу) и попытался подсунуть файлы конфигурации DB2 (скопировал файлы конфигурации на рабочую машину). Теперь с БД соединение есть, данные видны и выполняются запросы SELECT к таблицам (можно экспортировать данные в CSV), но попытки модификации данных (в частности UPDATE/DELETE, другие пока не проверял) заканчиваются отключением БД с сообщением что БД повреждена (само собой). Есть ли способ корректно восстановить файлы конфигурации БД не уничтожив данные? Или единственный путь - экспорт в CSV, восстановление из бэкапа и импорт CSV?
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320576
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x3other,

Что в db2diad.log после команды изменения данных появляется?
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320580
x3other
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinsteinx3other,

Что в db2diad.log после команды изменения данных появляется?
Утром опишусь, сейчас нет доступа к серверу. Пока могу сказать только что в ControlCenter при попытке выполнить DELETE тут же останавливается менеджер БД с сообщением "БД повреждена, остановлены все программы..." и предложением восстановить ее из бэкапа. Попытка выполнить реорганизацию таблиц тоже провалилась. При этом EXPORT выполняется без ругани.
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320651
x3other
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Вчера снял бэкап поврежденной БД (с "левыми" файлами конфигурации). Утром, после рестарта сервера, соединиться с БД уже не удается (фрагмент DB2DIAG в аттаче). Попытка восстановить из бекапа приводит к тому, что БД остается в состоянии ожидания повтора транзакций, а попытка повторить/отменить транзакции в свою очередь заканчивается sqlcode: -1042 sqlstate: 58004.
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320728
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x3other,

Это все записи, что появляются после начала crash recovery?
Не видно индекса, на котором оно падает.
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320767
x3other
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Весь файл в аттач не влазит, приходится вычленять фрагменты. Надеюсь тут то, что интересует. Перед этим фрагментом есть несколько Crash recovery has been initiated, но они заканчиваются "successfully".
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320803
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x3other,
db2diag.log
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
2016-10-04-21.23.49.302707+420 I2161869E546        LEVEL: Severe
PID     : 30786                TID  : 140737102473552PROC : db2sysc
INSTANCE: db2admin             NODE : 000          DB   : HOSPITAL
APPHDL  : 0-7                  APPID: *LOCAL.db2admin.161004142347
AUTHID  : DB2ADMIN
EDUID   : 29                   EDUNAME: db2agent (HOSPITAL)
FUNCTION: DB2 UDB, index manager, sqlischd, probe:99
RETCODE : ZRC=0x8709002C=-2029453268=SQLI_NOKEY "Key not found within node"
          DIA8541C The index key could not be found, the value was "".

2016-10-04-21.23.49.302900+420 I2162416E512        LEVEL: Severe
PID     : 30786                TID  : 140737102473552PROC : db2sysc
INSTANCE: db2admin             NODE : 000          DB   : HOSPITAL
APPHDL  : 0-7                  APPID: *LOCAL.db2admin.161004142347
AUTHID  : DB2ADMIN
EDUID   : 29                   EDUNAME: db2agent (HOSPITAL)
FUNCTION: DB2 UDB, index manager, sqlischd, probe:99
MESSAGE : Index object = {TBSPACEID=<11>; OBJECTID=<8>} Parent object =
          {TBSPACEID=<7>; OBJECTID=<7>}


Когда вы видите что-то типа этого, то это означает, что индекс не в порядке.
Попробуйте:
db2diag -A
db2dart HOSPITAL /MI /TSI 11 /OI 8
db2 restart db HOSPITAL

Прикрепите заархивированный db2diag.log.
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320892
x3other
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо Марк, но я уже практически восстановил данные через экспорт/импорт. Запущу БД в работу и тогда можно будет уже спокойно поковырять бэкап поврежденной базы (в данный момент он уже не развернут). В принципе, проблема как таковая отпала, но вопрос остался - можно ли вообще говоря восстановить (и каким путем в общих чертах) конфигурационные файлы?
...
Рейтинг: 0 / 0
Как восстановить SQLDBCONF?
    #39320941
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x3otherможно ли вообще говоря восстановить (и каким путем в общих чертах) конфигурационные файлы?Можно, конечно, их подклдывать из архива, но официально такой способ не поддерживается. Можно получить непредсказуемое поведение, если параметры менялись после взятия архива.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как восстановить SQLDBCONF?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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