A correria está forte por isso tempo para escreve está difícil, mas sempre é por boa causa!

Obs.: O post teve algumas correções em 02/09/2011.

Fiz um bootcamp da IBM para profissionais Oracle, chamado DB2DB2 Workshop for Oracle Professionals, que foi realizado pelo instrutor Otavio Nunes da IBM Brasil de Campinas-SP na unidade da Unisul Ponte do Imaruim, no final de cada um dos dois dias foram realizadas duas provas de certificação.

Provas que foram realizadas:
M45: voltada mais para mostrar que conheceu o produto com intuíto comercial.
730: voltada para Profissionais que dá a certificação IBM Certified Database Associate.

Minha intenção com este post é colocar a minha visão GERAL do que chamou atenção colocando em ambos os RDBMS.

A instalação em Oracle: com root criamos os grupos, usuário Oracle e nele fizemos a instalação de binários, criação de instância e para RAC segue a mesma linha. Se precisamos de mais uma instância criaremos mais um usuário. Em DB2: pode ser instalado em um usuário normal o binário, mas é sugerido instalar o binário como root por ser mais seguro não apagar os binários erroneamente. Após isso cada usuário de SO pode criar a sua instância, seu(s) database(s).

Os usuários em Oracle: dentro da instância create user. Em DB2: é necessário que o usuário seja do SO.

As configurações realizadas em Oracle: do banco e da instância é tudo junto. Em DB2: existe do DB (banco de dados) é da DBM (instância) essas são separadas.

Os logs de alertas do banco em Oracle: Quem nos auxilia muito é ‘Alert.log’ além de possuirmos os trace files. Em DB2: tem um semelhante com o nome de db2diag.log (inclusive este db2diag.log possui uma ferramenta para filtro do db2diag.log chamada db2diag). O List History File (db2 list history …) armazena informacoes sobre backup, restore, criacao – alteracao – delecao de tablespaces, quando uma tabela sofre alguma alteracao ou reorganizacao etc (db2 list history …).

As tablespaces tem o mesmo príncípio mas em Oracle: Temos os Datafiles. Em DB2: Temos os Conteiners.

Comparações dos comandos entre os dois:

No Oracle temos o Automatic Storage Management (ASM) e no DB2 Automatic Storage Table Space que trabalha exclusivamente com Storage, diferente do ASM nesse ponto.

Também tem uma ferramenta semelhante (ou melhor) de SQL LOADER (sqlldr) que é DB2 Load Utility, esse teria que instalar e começar a rodar, mas parece melhor.
Outras ferramentas de exportação e importação tipo o DATA PUMP do Oracle, me parecem meio fracas, chamam DB2 Export Utility e DB2 Import Utility. Existe outras duas a DB2LOOK Utility que exporta todo o database em DDL e DB2MOVE Utility que copia ou move schemas entre databases, também executa as funções do Export Utility e Import Utility acima citado.

O Oracle RAC tem uOraclem concorrente forte (no meu ponto de vista nesse momento, sem testar é claro) chamado pureScale que parece realmente melhor que o RAC, pois vem de toda a expertise da IBM em trabalhar com processamento distribuído.

Também possui o particionamento de tabelas, pouco diferente, terei que executar testas para citar corretamente as diferenças.

As views materializadas do Oracle são chamados de MQT no DB2, a idéia é a mesma.

A compressão de dados do DB2, segundo o instrutor é bem melhor que do Oracle, no entando disse que quase nem é necessário executar rebuild de indices quando temos muitas exclusões, que esse processo de compactação se encarrega disso. Esse sim, merece um teste com um comparitivo forte entre eles, quero ver se faço isso, mas não deve ser em breve.

Uma visão geral dessa comparação:

O próximo post eu coloco algumas coisas de desenvolvimento, mas já vale deixar aqui que o DB2 9.7 já possui um próprio compilador PL/SQL. Ainda vou fazer um outro falando sobre formas de backups entre eles, pois não ficou claro (também por tempo) como são no DB2.

Para quem tiver interesse veja aonde está ocorrendo no site: Information Management Technical Bootcamps

Obs.: Imagens retiradas do material oficial do curso dado pela equipe IBM DB2 Brasil.

Att,
capin