Pregunta
· 31 ene, 2024

¿Cómo clonar un namespace?

Hola comunidad.

Hemos desarrollado una nueva versión de una producción, todo el código es nuevo y ha cambiado BP. Esta aplicación carga información para algunas marcas y la almacena en la base de datos.

El cliente quiere implementar los cambios solo para algunas marcas porque quiere verificar las marcas pequeñas antes de implementarlos para todas las marcas.

Mi propuesta es crear un nuevo namespace, con el nuevo código, y deshabilitar todas las marcas excepto la marca que quiere probar.

Me pregunto cuál es la mejor manera de clonar el namespace.

Mi primer intento es hacer una copia de las bases de datos (datos y código) del namespace 1, crear el nuevo namespace 2 y poner las copias del namespace 1 en el namespace 2.

Para ello, voy a usar los comandos Backup.General.ExternalFreeze() y Backup.General.ExternalThaw() para parar la base de datos y copiarlas. ¿Es buena idea?

¿Existe otra forma de clonar el namespace?

Gracias de antemano

Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1.3 (Build 389U) Wed Feb 15 2023 14:50:06 EST
Comentarios (6)3
Inicie sesión o regístrese para continuar

Con el ExternalFreeze() (seguido por el ExternalThaw() al final) puedes hacer una copia limpia de las bases de datos de tu namespace, y puedes usar estas copias de los ficheros IRIS.DAT como base para tu nuevo namespace. Si tu definición de Namespace no contiene excesivos Mapeos (de base de datos, de Globals, de Rutinas o de Clases), puedes definir el nuevo namespace desde el portal, referenciando las nuevas copias de los IRIS.DAT. 
La estrategia que propones es buena. No existe función más automatizada para "Clonar Namespace".

Claro. El intervalo de tiempo entre el ExternalFreeze() y el ExternalThaw() debe estar limitado, especialmente si se trata de un sistema en producción, ya que el Write Daemon no escribe a disco en este tiempo y los Global Buffers se podrían llenar de información pendiente de volcar a disco si este tiempo se alargara. Es decir, si el tiempo que va tardar el subsistema de disco en hacer la copia de los IRIS.DAT es grande (mas de unos poco minutos), la estrategia recomendada por Luis Angel es mejor: usar la herramienta de Online Backup de IRIS (seleccionando solo las BBDD a copiar) y restaurandolas en otro sistema o directorio para generar su nueva versión así.

Muchas gracias a los dos.

Efectivamente, va a realizarse en un entorno de producción, por lo que la parada técnica de la producción para hacer el backup externo debe de ser muy corto.

Afortunadamente no tiene mucho mapeo con otras librerías, pero sería un restore en el mismo servidor, no se como se podría hacer un backup y hacer el restore en el mismo servidor y en otro namespace.