Чтобы восстановить, удалите восстановленные базы данных, затем попробуйте следующее.
Прежде чем выполнить ВОССТАНОВЛЕНИЕ базы данных, вы должны сначала выполнить (в окне администратора db2cmd) следующие команды:
db2set DB2_RESTORE_GRANT_ADMIN_AUTHORITIES=ON
db2stop force
db2start
Убедитесь, что все команды выполнены успешно. Повторите попытку восстановления и проверьте, какие права у вас есть.
Это задокументировано .
Если после выполнения вышеуказанного у вас все еще возникают проблемы, вам нужно РЕДАКТИРОВАТЬ свой вопрос, чтобы отобразить в точности все команды и результаты, старые и новые имена экземпляров, записи syscat.dbauth для них обоих и дополнительно показать вывод db2set -all
, а также точные сообщения, которые появляются в db2diag.log, когда учетная запись владельца экземпляра пытается получить доступ к данным.
Во многих случаях простое изучение содержимого syscat.dbauth
покажет проблему, как только вы подключитесь к базе данных, и в этом представлении будет выбрано PUBLIC. Пользователи, имеющие DATAACCESS, должны иметь возможность подключаться к базе данных в новой среде, поэтому в среде домена DB2_GRP_LOOKUP должна совпадать с исходным Db2-сервером. Если в syscat.dbauth
имеется большое количество строк, вы можете выполнить фильтрацию с помощью SQL следующим образом: SELECT * FROM TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID ('YOUR_ACCOUNT')) AS T