Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по восстановлению
|
|||
|---|---|---|---|
|
#18+
Изначальная ситуация: База на Линукс Цет DB2 9,7,9. Разработчик прислал ddl скрипт, где вставлял таблицы и изменял структуру базы. Скрипт был с ошибками и мы получили ошибки в логе, после чего разработчик прислал новый вариант скрипта и мы попробовали снова. Ошибки были в основном из за дубликации. Вот части лога: > Database Connection Information > > Database server = DB2/LINUXZ64 9.7.9 > SQL authorization ID = DB2INST1 > Local database alias = KTC3 > > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0612N "BRANCH" is a duplicate name. SQLSTATE=42711 > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0205N Column or attribute "GVVINFONUMMER_7" is not defined in > "DB2INST1.KONTO". SQLSTATE=42703 > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0612N "KONTOBRANCH" is a duplicate name. SQLSTATE=42711 > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0612N "KONTOBRANCH" is a duplicate name. SQLSTATE=42711 > > DB20000I The SQL command completed successfully. > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0205N Column or attribute "LFDNRKONTO" is not defined in > "DB2INST1.FEATUREKONTOPOSTEN". SQLSTATE=42703 > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0601N The name of the object to be created is identical to the > existing name "DB2INST1.FKPOSTENHIST" of type "TABLE". SQLSTATE=42710 > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0612N "BRANCH" is a duplicate name. SQLSTATE=42711 > > DB21034E The command was processed as an SQL statement because it was not > a valid Command Line Processor command. During SQL processing it > returned: > SQL0205N Column or attribute "GVVINFONUMMER_7" is not defined in > "DB2INST1.TAGESENDESALDO". SQLSTATE=42703 > > SQL0605W The index was not created because an index "DB2INST1.I5UMSATZ" > with a matching definition already exists. SQLSTATE=01550 > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > SQL0104N An unexpected token "CALL SYSPROC.ADMIN_CMD('reorg table Konto " > was > found following "BEGIN-OF-STATEMENT". Expected tokens may include: > "<values>". SQLSTATE=42601 > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > DB20000I The SQL command completed successfully. > > SQL0605W The index was not created because an index > "DB2INST1.I0FKPOSTENHIST" > with a matching definition already exists. SQLSTATE=01550 > > SQL0605W The index was not created because an index > "DB2INST1.I1FKPOSTENHIST" > with a matching definition already exists. SQLSTATE=01550 Что бы проверить скрипт снова разработчик предлагает сделать рестор и ролльфорвард. Мой вопрос: Если была изменина структура базы, новые таблицы и стертые старые, поможет ли здесь рестор? Я думал, что при бекапе сохраняются только содержимое базы, а не структура . Заранее прошу прощения за возможно глупый вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2015, 11:21 |
|
||
|
Вопрос по восстановлению
|
|||
|---|---|---|---|
|
#18+
-_Михаил_-, Скорее всего, вам предложили восстановить базу из архива и накатить его по логам до момента начала выполнения скрипта, который начал изменения. После этого вы получите состояние всего в базе (и данных, и метаданных) на этот момент времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2015, 16:35 |
|
||
|
Вопрос по восстановлению
|
|||
|---|---|---|---|
|
#18+
-_Михаил_-, В дополнение. Вот такие скрипты очень вам помогут: ------------------------------------------------ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Или для виндов (например, с клиента скрипты проливать). ------------------------------------------------ Код: plaintext 1. 2. 3. 4. 5. 6. Разные файлы для вывода - в одном есть вывод количества аффектящихся строк (-m опция) и дополнительный вывод (например от команд import/export/load), во втором - время выполнения команд. Сохраняйте эти логи при каждом изменении БД. У нас, случалось, пригождались года через два после проводимого изменения (помимо всего прочего именуем каталог с выполняемым скриптом по номеру запроса на изменение в трекере). При "разборе полётов" вещь неоценимая. PS Требуется, конечно, отслеживать, чтобы в скрипте не было внутренних коммитов и выдвигать это как требование к поставкам скриптов. Это не всегда возможно, в частности ввиду неявных коммитов, совершаемых операциями reorg, export, load, import и др., но это уже на ручной разбор. В остальном же, сделать накатывание поставок атомарными - большой плюс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2015, 17:42 |
|
||
|
Вопрос по восстановлению
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Спасибо за ответ, как всегда точно и по делу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2015, 10:20 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=17&tid=1600757]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 35ms |
| total: | 174ms |

| 0 / 0 |
