No Red Hat 8.8, tenho o Db2 v11.5.8.0 instalado e o banco de dados está funcionando bem.
- Hoje baixei a v11.5.9.0 e descompactei o arquivo tar.
- Eu executei
db2prereqcheck
e todos os pré-requisitos foram atendidos. Bem-sucedido. - Instalado o Db2 usando
db2_install
o comando. Bem-sucedido. - Instância atualizada com
db2iupdt
comando. Bem-sucedido. - Então tentei iniciar uma instância com
db2start
um erro: db2start: erro ao carregar bibliotecas compartilhadas: libaws-cpp-sdk-transfer.so: não é possível abrir o arquivo de objeto compartilhado: esse arquivo ou diretório não existe
Parece que alguma biblioteca está faltando. Tento pesquisar na web, mas não consigo encontrar como instalar esta biblioteca. Qualquer ideia?
Certifique-se de ter libxml2 e libcurl instalados. Esses pacotes são necessários, mas não são validados com db2prereqcheck.
Eu descobri o que estava errado e resolvi o problema.
Na verdade, minha distribuição Linux é Rocky Linux 8.8 nesta máquina de teste. Estou usando o Rocky Linux há alguns anos sem nenhum problema no servidor Db2. Mas... na v11.5.9.0 esta é a origem do problema. Apesar do Rocky Linux ser compatível de bug a bug com o Red Hat 8.8, ainda pode haver um problema. Por exemplo, porque /etc/os-release onde o nome e a versão da distribuição estão escritos, ainda é diferente entre Rocky Linux e Red Hat.
Não para o problema. O que parece O Db2 v11.5.9.0 adiciona algumas bibliotecas da Amazon na instalação, mas elas dependem do nome e da versão da distribuição Linux!!!
Para verificar a biblioteca que está retornando erro:
os caminhos a seguir são retornados (no Db2 v11.5.9.0 no Red Hat 8.8 ou Red Hat 9.3).
Os arquivos acima são criados pela instalação do Db2 v11.5.9.0! Observa que os nomes dos caminhos contêm nomes de distribuições Linux. O problema está no último arquivo, na verdade é o link simbólico do Linux que em diferentes distribuições do Linux aponta para diferentes caminhos de arquivo acima. No Red Hat 8.8 aponta para o caminho awssdk/RHEL/8.1/libaws-cpp-sdk-transfer.so, no Red Hat 9.3 aponta para o caminho awssdk/RHEL/9.2/libaws-cpp-sdk-transfer.so.
Mas no Rocky Linux 8.8 e no Rocky Linux 9.2 esse link simbólico não é criado pela instalação do Db2 v11.5.9.0. Está faltando.
Também verifiquei outras bibliotecas libaws*.so e encontrei algumas delas.
No Rocky Linux 8.8 usando Db2 v11.5.9.0 criei os seguintes links simbólicos:
No Rocky Linux 9.3 usando Db2 v11.5.9.0 criei os seguintes links simbólicos
Em seguida, iniciei a instância do Db2 com o comando db2start e a instância do banco de dados foi inicializada sem problemas.
Nota: Em poucos dias instalei o Db2 v11.5.9.0 nas seguintes distribuições: Red Hat 8.8, Red Hat 9.3, Rocky Linux 8.8 e Rocky Linux 9.3 e agora o Db2 está instalado e funcionando em todos eles sem problemas.
Dois pontos são interessantes: