Прежде всего, я хочу экспортировать базу данных из IBM DB2 AIX в окна IBM DB2. К сожалению, я не могу использовать команды BACKUP и RESTORE из-за разницы в ОС. Поэтому я должен прибегнуть к команде db2move .
Я экспортировал схему myschema и все таблицы из базы данных dbemp в удаленном IBM DB2 AIX с помощью этой команды:
db2move dbemp export -sn myschema
Когда я запустил эту команду, я вошел как пользователь с именем dbuser1 .
Он генерирует кучу файлов в текущей папке. Я беру файлы на свой локальный компьютер (Windows), на котором установлена IBM DB2 LUW.
Теперь на локальном компьютере IBM DB2 я сначала удалил существующую схему myschema с помощью IBM Data Studio (у меня также была локальная база данных dbemp ).
Затем я импортировал файлы с помощью этой команды:
db2move dbemp import
Он успешно импортирует схему и таблицы в локальную базу данных dbemp .
Когда я делал вышеуказанные действия, я был авторизован как пользователь winuser1 .
У меня также есть локальный пользователь с именем dbuser1 на моей локальной машине (Windows). В IBM Data Studio я создал профиль соединения, который подключается к локальному dbemp с помощью пользователя dbuser1, и я могу просматривать схему myschema и таблицы, но не могу просмотреть данные таблицы (я получил ошибку привилегии). Пользователь winuser1 может просматривать данные таблицы, но для целей разработки мне необходимо подключиться к базе данных, используя пользователя dbuser1 .
Итак, я обнаружил, что могу предоставить привилегию пользователю на столе следующим образом:
GRANT ALL ON myschema.table1 TO USER dbuser1
Проблема в том, что у меня есть 100 таблиц, я не хочу вводить эти строки для каждой таблицы. И, к сожалению, такого подстановочного решения тоже не существует:
GRANT ALL ON myschema.* TO USER dbuser1 -- this doesn't work
Таким образом, вопрос заключается в том, как предоставить пользователю все привилегии для всех таблиц в схеме. Или есть альтернативное лучшее решение? может быть, скопировав все привилегии из winuser1 в dbuser1 ?
db2 grant dataaccess
работает. Я не против предоставить их всем схемам, так как я нахожусь в среде разработки.