Не удается подключиться к базе данных DB2 после восстановления автономного резервного копирования

dba.stackexchange https://dba.stackexchange.com/questions/15809

  •  22-10-2019
  •  | 
  •  

Вопрос

Это для DB2 9.7 Enterprise Server Edition на AIX.

У меня была полная, автономная резервная копия нескольких баз данных в нашем экземпляре в среде производительности.

Я хотел восстановить эти базы данных в нашей среде интеграции.

Я запустил команду

db2 restore database database_name from 
/bkp/instance_name/OfflineBackups/RestorePoint/my_restore_point 
taken at 20120321103846 into database_name without prompting;

Для каждой из моих баз данных (конечно, изменение имени базы данных и временной метки).

Каждая база данных успешно восстанавливается в соответствии с DB2. Однако теперь, когда я хочу проверить, действительно ли база данных восстановила то, что я думал, я пытаюсь подключиться к базе данных и получаю ошибку

    SQL1117N  A connection to or activation of database "database_name" cannot be made 
because of ROLL-FORWARD PENDING.  SQLSTATE=57019

У меня не было никаких транзакций в процессах в предыдущей базе данных, потому что все подключения были вынуждены отключены, а база данных была недооценена в автономном резервном копировании. Что я делаю?

Это было полезно?

Решение

Нашел ответ здесь.

Мне нужно было запустить команду

db2 rollforward db database_name to end of backup and complete;

Это передает все в журналы и помещает базу данных в более не ожидающем состоянии, что позволяет подключаться к ней. Мне нужно было сделать это для каждой восстановленной базы данных.

РЕДАКТИРОВАТЬ: Нашел этот изящный самородок, посещая Db2nightshow эпизод. С 9.7 FP2 они представили переменную реестра под названием DB2_Restore_grant_admin_authority. Это удобно, если вы восстанавливаете резервную копию из одного экземпляра к другому, поскольку он автоматически предоставляет владельцу экземпляра SECADM, DBADM, DataCcess и AccessCtr в восстановленных базах данных. При 9,7 FP5 настройка динамична и не требует отскакивания экземпляра. Я понимаю, что мой первоначальный вопрос не имеет ничего общего с безопасностью, но его можно встретить и подумать, что это будет удобный кусочек, размещенный здесь.


РЕДАКТИРОВАТЬ № 2: Недавно я узнал, что если резервная копия является автономной резервной копией на основе архивной базы данных, я мог бы включить пункт WITHOUT ROLLING FORWARD в моем RESTORE командование Это вытащило бы базу данных из ролика в ожидании состояния сразу после успешного восстановления, что означало бы, что мне не пришлось бы тогда выпускать ROLLFORWARD DB командование

Другие советы

Если тип резервного копирования может быть в онлайн -резервном копировании.

Используйте путь журнала ("/db2logtarget")

Например:- DB2 => RollForward DB userDB до конца журналов и полного пути переполнения ("/home/user/target")

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top