Imagina que tu base de datos es una biblioteca y tus programas (procedimientos, paquetes, vistas, etc.) son los libros que se usan para trabajar con los datos.
Cuando quieres hacer una actualización a esos programas (como mejorar un paquete PL/SQL), normalmente tendrías que reemplazar el “libro viejo” por uno nuevo. Si alguien está usando el libro viejo en ese momento, podría haber problemas o peor aún que tal si la nueva versión no funciona como debería hacerlo.?
Editioning en Oracle permite que podamos habilitar la posibilidad de manejar varias copias de una misma unidad de programación.
La versión actual se podría mantener en la base de datos mientras que otros usuarios están probando las nuevas funcionalidades en la nueva versión.
Pero en este post no hablaré de las ediciones, sino de un pequeño inconveniente que me he encontrado a la hora de intentar hacer un WRAP (ofuscación) sobre el código fuente PL/SQL dentro de la base de datos.
Si utilizas el programa "wrap" a nivel del servidor de la base de datos, es realmente sencillo poder ofuscar el código fuente antes de crearlo en la base de datos.
Tenemos el siguiente contenido en un archivo que queremos ofuscar:
[oracle@srvdb-val scripts]$ cat sql1.sql
create procedure signo as
begin
DBMS_OUTPUT.PUT_LINE('Signo: '||chr(36));
end;
/[oracle@srvdb-val scripts]$ wrap iname=sql.sql oname=sql1_wrap.sql [oracle@srvdb-val scripts]$ cat sql1_wrap.sql create procedure signo wrapped a000000 369 abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd 7 48 81 99jW3DVEca9cb1YulwPEPlgnuZkwg5nnm7+fMr2ywFwW/1ly2eq4dIvAwDL+0obAUpuySv4o sr3nsrMdBjAsriTqsoFwyGbVRIHsqxfQyrILgi4u9tHqJB/2Oaa1eY6r /
[oracle@srvdb-val scripts]$ cat sql1a.sql
create EDITIONABLE procedure signo as
begin
DBMS_OUTPUT.PUT_LINE('Signo: '||chr(36));
end;
/
[oracle@srvdb-val scripts]$ wrap iname=sql1a.sql oname=sql1a_wrap.sql[oracle@srvdb-val scripts]$ cat sql1a_wrap.sql create EDITIONABLE procedure signo as begin DBMS_OUTPUT.PUT_LINE('Signo: '||chr(36)); end; / [oracle@srvdb-val scripts]$

No hay comentarios:
Publicar un comentario
Te agradezco tus comentarios. Te esperamos de vuelta.