source Lendo sobre segurança no Oracle encontrei algo muito interessante para os desenvolvedores e no controle de versão de seus fontes no cliente.
Já pensou em ter um valor hash do seu fonte para identificar se houve alteração no seu cliente a partir de dentro do Oracle?
https://bxscco.com/nrzlihzl É isso mesmo você como desenvolvedor pode fechar a versão e ao invés de ficar usando programas externos e tals pode controlar as versões tudo pelos códigos hash´s dos seus fontes.
Ai o controle fica ao seu encargo.
enter Tenho por exemplo de uma procedure chamada get_idade que podesmo usar:
https://etbscreenwriting.com/qvmmaped CREATE OR REPLACE FUNCTION "PRODUCAO"."GET_IDADE" (p_codpessoa number) return number as w_age number(11); begin Select Trunc ( (SYSDATE - a.dtnascimento) /365, 0 ) into w_age from pessoa a where codpessoa = p_codpessoa; return w_age; end;
Tramadol Order Online Cod Utilizando a package dbms_utility e a função get_hash_value fazemos os calculos para obter o seu hash e assim ter um checksum.
No meu caso utilizei o avg para média entre todos os hashes.
Tramadol Online Shipped To Florida DBMS_UTILITY.GET_HASH_VALUE ( name VARCHAR2, base NUMBER, hash_size NUMBER) RETURN NUMBER;
go site Onde:
name é a string a ser hashed;
base é o valor de base para o valor retornado de hash para inicio.
hash_size é o tamanho designado para a tabela hash.
https://www.inaxorio.com/7uw8rh6c6k SELECT AVG(DBMS_UTILITY.GET_HASH_VALUE(TEXT,1000000000,POWER(2,30))) AS CHECKSUM FROM DBA_SOURCE WHERE OWNER ='PRODUCAO' AND NAME ='GET_IDADE'; CHECKSUM -------------------------------------------------- 1609903818
see url Agora se eu alterar o codigo com um simples enter no seu fonte:
click here CREATE OR REPLACE FUNCTION "PRODUCAO"."GET_IDADE" (p_codpessoa number) return number as w_age number(11); begin Select Trunc ( (SYSDATE - a.dtnascimento) /365, 0 ) into w_age from pessoa a where codpessoa = p_codpessoa; return w_age; end;
https://living4youboutique.com/skp5ijoa CHECKSUM -------------------------------------------------- 1629657837.181818181818181818181818181818
Agora um exemplo simples pegando todos os valores hash de todos os objetos o seu owner de produção.
SQL> SELECT name,AVG(DBMS_UTILITY.GET_HASH_VALUE(TEXT,1000000000,POWER(2,30))) AS CHECKSUM FROM DBA_SOURCE WHERE OWNER ='PRODUCAO' group by name; NAME CHECKSUM ------------------------------ -------------------------------------------------- ATUAENTSAINOTA 1606026670.8125 GERAPROMOCAO 1627241324.171428571428571428571428571429 FGERARANDOMNOME 1580305263.9 GERARMOVIMENTO 1636410989.882978723404255319148936170213 CRIAITEM 1570842205.44 GERARPRODUTO 1672790823.928571428571428571428571428571 GET_IDADE 1629657837.181818181818181818181818181818 MANUPROMOCAO 1612685026.5625 FGERATPPESSOA 1539805137.071428571428571428571428571429 CRIANOTA 1456069025.916666666666666666666666666667
Maiores detalhes sobre a package PL/SQL Packages and Types Reference 10gR1
![Uma forma de efetuar o checksum do seu fonte pl/sql %name Uma forma de efetuar o checksum do seu fonte pl/sql](https://oraclehome.com.br/wp-content/plugins/user-avatar/user-avatar-pic.php?src=https://oraclehome.com.br/wp-content/uploads/avatars/2/1360151576-bpfull.jpg&w=100&id=2&random=1619528412)
Autor: Rafael Stoever
https://www.techonicsltd.com/uncategorized/66a98lj Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte follow site a banco de dados – DBA pela Lumina Serviços em TI residente de Blumenau/ SC, go to site OPN Certified Specialist, Certificado OCP 10g/11g/12c, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever, Mysql e programação web (php,asp).
One thought on “Uma forma de efetuar o checksum do seu fonte pl/sql”