Em primeiro lugar, desejo exportar o banco de dados do IBM DB2 AIX para o IBM DB2 windows. Infelizmente, não posso usar os comandos BACKUP e RESTORE devido à diferença no problema do SO. Então eu tenho que recorrer ao comando db2move .
Eu havia exportado o esquema de myschema e todas as tabelas do banco de dados dbemp no IBM DB2 AIX remoto usando este comando:
db2move dbemp export -sn myschema
Ao executar esse comando, eu estava logado como usuário chamado dbuser1 .
Ele gera vários arquivos na pasta atual. Pego os arquivos na minha máquina local (windows) que possui o IBM DB2 LUW instalado.
Agora, no IBM DB2 da minha máquina local, eliminei primeiro o myschema do esquema existente usando o IBM Data Studio (eu também tinha um banco de dados dbemp local ).
Então eu importei os arquivos usando este comando:
db2move dbemp import
Ele importou com sucesso o esquema e as tabelas para o banco de dados dbemp local .
Quando fiz as ações acima, estava logado como usuário winuser1 .
Eu tenho um usuário local chamado dbuser1 também na minha máquina local (windows). No IBM Data Studio, criei um perfil de conexão que se conecta ao dbemp local usando o usuário dbuser1 e posso navegar pelo esquema de myschema e pelas tabelas, mas não consigo navegar pelos dados da tabela (erro de privilégio). O usuário winuser1 pode procurar os dados da tabela, mas, para fins de desenvolvimento, tenho que me conectar ao banco de dados usando o usuário dbuser1 .
Então, descobri que posso conceder privilégios a um usuário na tabela assim:
GRANT ALL ON myschema.table1 TO USER dbuser1
O problema é que tenho 100 tabelas, não quero digitar essas linhas para cada tabela. E, infelizmente, também não existe uma solução curinga como esta:
GRANT ALL ON myschema.* TO USER dbuser1 -- this doesn't work
Portanto, a questão é como conceder todos os privilégios em todas as tabelas em um esquema a um usuário? Ou existe uma solução melhor alternativa? talvez copiando todos os privilégios do winuser1 para o dbuser1 ?
db2 grant dataaccess
funciona. Não me importo de concedê-los a todos os esquemas, pois estou no ambiente de desenvolvimento.