Resolvendo Could not switch current DB2INSTANCE to “db2inst1”.

Tive um problema recentemente quando fui reinstalar o DB2 Universal Server em um servidor linux. O que acontece é que eu já tinha uma instância instalada e após remover pra instalar novamente não conseguia mais instalar dava o seguinte erro na instalação:

Could not switch current DB2INSTANCE to “db2inst1”.

O que acontece é que ficou “vestígios” da antiga instância no servidor. Eu resolvi da seguinte forma:

Apague todo o diretório de instalação do DB2, no meu caso estava em /opt. Então execute:

rm -rfv /opt/ibm*

rm -rfv /opt/IBM*

Depois de apagar o diretório de instalação apague os usuários do DB2.

userdel -r db2inst1

userdel -r db2fenc1

userdel -r dasusr1

(O parâmetro -r é para excluir o diretório pessoal do usuário).

Caso você tenha problemas ao excluir o usuário tipo esse:

userdel: user db2inst1 is currently logged in

Execute o seguinte comando:

skill -KILL -u db2inst1

Agora vamos apagar esses usuário do arquivo passwd . Para isso abra o /etc/passwd (ou no lugar que ele estiver em sua distro). Segue passos:

vi /etc/passwd

Exclua as linhas que tem os usuários do DB2:

dasusr1:x:500:101::/home/dasusr1:/bin/bash
db2inst1:x:501:103::/home/db2inst1:/bin/bash
db2fenc1:x:502:102::/home/db2fenc1:/bin/bash

Entre no diretório /var e exclua a pasta db2:

rm -rfv /var/db2

Agora vamos remover os serviços do db2 que ficam no arquivo /etc/services, abra o arquivo com um editor de texto e remova as linhas que tem serviço do db2. As minhas eram essas, procure pelas linhas que contenham db2:

db2c_db2inst1 50001/tcp
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_END 60003/tcp

 Pronto! Agora é só reinstalar o DB2 que provavelmente irá funcionar.

Gostaria de ressaltar que esses procedimentos servem para desinstalar o DB2 da máquina.

Bom trabalho 🙂

Deixe um comentário

O seu endereço de e-mail não será publicado.