• Anderson Graf

Checksum de fontes PL/SQL

Assim como temos em ambientes Linux o cksum e o sha1sum que nos permitem gerar um código hash para a comparação de consistência de um arquivo, umas das opções no Oracle Database é a função GET_HASH_VALUE disponível no pacote DBMS_UTILITY que permite gerar um código hash do fonte sendo muito útil para identificar se ele está consistente ou se houve alguma alteração, principalmente quando comparamos extensos códigos PL/SQL que visivelmente daria trabalho para determinar se estão iguais entre uma base de dados e outra, por exemplo.


Criando uma procedure de exemplo e obtendo o hash:


Agora recriando a procedure incluindo apenas um espaço entre o null e o ; (ponto e virgula)


Com a inserção de apenas um espaço já podemos constatar que o hash dela já não é igual ao hash do PL/SQL anterior indicando assim que o fonte é diferente.


Recriando a procedure da forma que era originalmente iremos voltar a ter o mesmo hash 1742638361


Outro método para se obter o hash de um PL/SQL é através do pacote DBMS_CRYPTO


Espero que a dica possa ser útil para você também.

0 visualização

© 2018 Exímio Solução em TI

  • Grey Facebook Ícone
  • Ícone cinza LinkedIn