Usuários! É impossível escutar este nome e não associar com TRON. Adoro quando escuto algum programa gritando “Usuário!!!!”. Como se usuário fosse uma coisa infernal. E, é. Há aqueles que associam com drogas. De qualquer forma, usuário nunca é coisa boa 🙂
Quando pensamos em DB2, a primeira coisa que é preciso ter em mente é que: o DB2 não tem CREATE USER. O DB2 não tem CREATE LOGIN. Esquece. Voce não vai conseguir criar usuário no DB2. Sai dessa!
O DB2 utiliza o usuário do próprio sistema operacional como credencial. Portanto, para ter acesso aos dados e objetos do DB2, o primeiro passo é a criação de um usuário no sistema operacional. Aqui, vou usar um LINUX CentOS. Lembrando que é preciso ter privilégio de root no sistema operacional para que esta tarefa possa ser concluída com êxito.
Neste exemplo, criaremos um usuário chamado dbuser70 com a senha SaiDeBaixo80. Este usuário deverá receber privilégio de administrador.
No CentOS:
Passo 1: Criar o usuário no sistema operacional, atribuindo a devida senha:
[root@db2server ~]# useradd dbuser70
[root@db2server ~]# passwd dbuser70
Changing password for user dbuser70.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Passo 2: Acessamos nossa instância de DB2, localmente, através de sudo e o usuário utilizado para subir a instância. Normalmente é o usuário db2inst1. E, acessamos o CLI do DB2 (no meu caso já tinha path definido, caso contrário, ele costuma ficar em /opt/ibm/db2/V10.5/bin/, onde V10.5 é a versão do DB2).
[root@db2server ~]# sudo su db2inst1
No DB2:
[db2inst1@db2server root]$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 10.5.3
You can issue database manager commands and SQL statements from the command
prompt. For example:
db2 => connect to sample
db2 => bind sample.bnd
For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
? CATALOG DATABASE for help on the CATALOG DATABASE command
? CATALOG for help on all of the CATALOG commands.
To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with ‘db2’.
To list the current command option settings, type LIST COMMAND OPTIONS.
For more detailed help, refer to the Online Reference Manual.
db2 =>
Passo 3: Conectamos em nossa base de dados, e, concedemos os privilégios desejados:
db2 => CONNECT TO baseteste
Database Connection Information
Database server = DB2/LINUXX8664 10.5.3
SQL authorization ID = DB2INST1
Local database alias = BASETESTE
db2 => GRANT CONNECT, DBADM ON DATABASE TO USER dbuser70
DB20000I The SQL command completed successfully.
Passo 4: Correr para a galera! Vamos acessar com nosso novo usuário:
db2 => CONNECT TO baseteste USER dbuser70 USING SaiDeBaixo80
Database Connection Information
Database server = DB2/LINUXX8664 10.5.3
SQL authorization ID = DBUSER70
Local database alias =BASETESTE
Dica do Yoda: Não crie usuários com acentuação, caracteres especiais, nem com mais de 8 caracteres. Também evite iniciar com números, SYS, SQL, IBM. Enfim, não invente moda. Palavras reservadas, nem pensar, claro.