Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Здравствуйте всем!

Linux, DB2 WSE 9.7.8

Не могу восстановить базу из ТSM. При восстановлении командой:

db2 restore db ASV use tsm options '-fromnode=sl00700008016_db' taken at $TAKEN_AT into ASV logtarget '$RESTORE_PATH/log' newlogpath '/home/db2inst/ASV/' replace existing parallelism 1 without prompting


Сообщает об ошибке, что контейнер используется
SQL0294N  The container is already in use.  SQLSTATE=42730

Пытаюсь перед этим отбросить базу:
db2 drop db ASV

Но почему-то не находит базу:
SQL1013N  The database alias name or database name "ASV     " could not be 
found. SQLSTATE=42705

Хотя list db directory ее показывает:
 System Database Directory

Number of entries in the directory = 4

Database 1 entry:

Database alias = ASV
Database name = ASV
Local database directory = /home/db2inst
Database release level = d.00
Comment =
Directory entry type = Indirect
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =

Помогите корректно отбросить базу. Думаю, что проблема с восстановлением у меня тогда отпадет.

Заранее благодарен
С уважением, Семен Попов
30 май 17, 13:12    [20523147]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Пытаюсь базу закаталогизировать
db2 catalog db ASV on /home/db2inst/

но получаю ошибку
SQL1005N  The database alias "ASV" already exists in either the local database
directory or system database directory.

Что это получается, база вроде есть. Но ни соединиться, ни отбросить её не могу, потому что не находит. Как это?
30 май 17, 13:51    [20523357]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4694
Semen Popov,

Добрый день.

Что выдают команды ниже?

find /home/db2inst -type d -name sqldbdir
db2 list db directory on /home/db2inst
30 май 17, 13:59    [20523400]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4694
Semen Popov,

По "SQL0294N The container is already in use. SQLSTATE=42730"
Выполните восстановление с редиректом и генерацией скрипта. Посмотрите в скрипт и выясните, какие из каталогов/файлов в нем используются/существуют на этой системе.
30 май 17, 14:04    [20523434]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Mark Barinstein
Semen Popov,
Что выдают команды ниже?

find /home/db2inst -type d -name sqldbdir
db2 list db directory on /home/db2inst


Команда find /home/db2inst -type d -name sqldbdir:
/home/db2inst/ASV/db2inst/NODE0000/sqldbdir
/home/db2inst/sqllib/sqldbdir
/home/db2inst/db2inst/NODE0000/sqldbdir

А вот выводом db2 list db directory on /home/db2inst я был удивлен. Там не оказалось базы ASV. Причем другие 2 локальные базы отображаются. А вот в выводе команды db2 list db directory отображаются все 3. Это о чем может говорить?
30 май 17, 14:17    [20523509]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Странно. Каталогизировать не дает, пишет , уже существует. Но при этом в каталоге /home/db2inst не отображает
30 май 17, 14:29    [20523559]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Mark Barinstein
Semen Popov,

По "SQL0294N The container is already in use. SQLSTATE=42730"
Выполните восстановление с редиректом и генерацией скрипта. Посмотрите в скрипт и выясните, какие из каталогов/файлов в нем используются/существуют на этой системе.

На восстановлении с редиректом ругается, что база существует
SQL1005N  The database alias "ASV" already exists in either the local database 
directory or system database directory. SQLSTATE=00000
Перед командой restore, как уже сообщал, пытался отбросить, но там не нашел базу
SQL1013N  The database alias name or database name "ASV     " could not be 
found. SQLSTATE=42705
Какие-то чудеса творятся?
30 май 17, 14:49    [20523682]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4694
Semen Popov
Команда find /home/db2inst -type d -name sqldbdir:
/home/db2inst/ASV/db2inst/NODE0000/sqldbdir
/home/db2inst/sqllib/sqldbdir
/home/db2inst/db2inst/NODE0000/sqldbdir

А вот выводом db2 list db directory on /home/db2inst я был удивлен. Там не оказалось базы ASV. Причем другие 2 локальные базы отображаются. А вот в выводе команды db2 list db directory отображаются все 3. Это о чем может говорить?

У вас 2 локальных каталога:
/home/db2inst/ASV
/home/db2inst

База ASV зарегистрирована в системном каталоге, как находящаяся в /home/db2inst, но там ее по факту нет.
Поэтому запись о ней надо удалить из системного каталога:
db2 uncatalog db asv
db2 terminate

Скорее всего, этот новый локальный каталог создался из-за того, что вы не указали в команде восстановления путь, куда надо восстанавливать базу, и он взялся из архива.
Попытайтесь найти свою базу ASV в другом локальном каталоге, например так:
db2 list db directory on /home/db2inst/ASV
Если она там нашлась и вам не нужна, то каталогизируйте ее по этому локальному пути и удалите.

Далее выполните команду восстановления с redirect и generate script.
30 май 17, 15:13    [20523878]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Mark Barinstein, спасибо. Но тут мне служба поддержки этого приложения услужила. Сделала uncatalog db ASV. А затем тупо удалила папку /home/db2inst/ASV/. Я ее снова создал, дал расширенные права chmod 777. Попробовал восстановить копию скриптом
db2 restore db ASV use tsm options '-fromnode=sl00700008016_db' taken at $TAKEN_AT into ASV logtarget '$RESTORE_PATH/log' newlogpath '/home/db2inst/ASV/' replace existing parallelism 1 without prompting

Она долгое время все хорошо восстанавливала. А затем в конце выдала
SQL2581N  Restore is unable to extract log files or restore a log directory 
from the backup image to the specified path. Reason code "3".
Restore finish at 17.05.30 17:16:21
В папке '$RESTORE_PATH/log' у меня уже существовали извлеченные с TSM ранее файлы журналов. Может в этом дело?
30 май 17, 17:34    [20524655]     Ответить | Цитировать Сообщить модератору
 Re: Не могу восстановить базу из TSM  [new]
Semen Popov
Member

Откуда: Сыктывкар
Сообщений: 792
Semen Popov
...
В папке '$RESTORE_PATH/log' у меня уже существовали извлеченные с TSM ранее файлы журналов. Может в этом дело?

Именно в этом. После восстановления бэкапа в папку '$RESTORE_PATH/log' сохраняются журналы из самого бэкапа. А поскольку их имена совпадали с извлеченными архивными логами, то возникла нестыковочка. И бэкап не восстановился, поскольку не смог докатить активные журналы. Переназначил в команде restore другую пустую папку и копия восстановилась.
30 май 17, 18:43    [20524915]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить