Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   NBACKUP en versión FireBird 3.0 (https://www.clubdelphi.com/foros/showthread.php?t=90357)

jesusgandia1966 23-05-2016 10:55:51

NBACKUP en versión FireBird 3.0
 
[quote="JesúsGandia"]he cambiado a NBackup.exe en linea de comandos.

... y todo de maravilla ya que estaba utilizando FireBird 2.5.2, pero....

al alctualizar a FireBird 3.0 no consigo hacer funcionar el NBackup...

... Te cuento, hasta ahora todo ha ido bien haciendo esto:

Código Delphi [-]
/*nbackup    */

/*EJEMPLOS DE COPIA:*/
nbackup -U SYSDBA -P xxxxxx -B 0 "D:\Datos\TPV.IB" "D:\Datos\0.IBK" /*(se parte desde aquí)*/
nbackup -U SYSDBA -P xxxxxx -B 1 "D:\\Datos\TPV.IB" "D:\Datos\1.IBK" /*(Primera copia incremental desde historico CERO)*/
nbackup -U SYSDBA -P xxxxxx -B 2 "D:\\TPV.IB" "D:\Datos\2.IBK" /*(Segunda copia incremental desde historico CERO)*/
nbackup -U SYSDBA -P xxxxxx -B 3 "D:\\TPV.IB" "D:\Datos\3.IBK" /*(Tercera copia incremental desde historico CERO)*/
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



/*EJEMPLOS DE RESTAURACION:*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK"/*(Restauro la incremental INICIAL CERO)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK"/*(Restauro HACIA EL PUNTO DE LA INCREMENTA 1)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK" "D:\Datos\2.IBK"/*(Restauro HACIA EL PUNTO DE LA INCREMENTA 2)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK" "D:\Datos\2.IBK" "D:\Datos\3.IBK"/*(Restauro HACIA EL PUNTO DE LA INCREMENTA 3)*/

Pero con la versión 3.0 de Firebird, llevo mas de 3 días y no consigo que funcione y encima cuando hago la primera copia de seguridad el Fichero de Base de datos principal se queda BLOQUEADO.

He estado leyendo el manual de NBACKUP.EXE y no consigo solucionar el problema.

Quiero actualizar a FireBird 3.0 desde la 2.5.2 pero si no soluciono lo de NBackup, me quedaré con la versión anterior, ya que es muy importante para mi las COPIAS INCREMENTALES. De hecho la pregunta anterior era por este mismo tema, pero al final descubrí que el NBACKUP del FireBird (2.5.2) hacia exentamente lo que yo quería.

desde ya... muchas gracias.

Casimiro Notevi 23-05-2016 11:05:15

Para otra vez, crea un hilo nuevo, ya lo he movido yo. Cuando contestes en un hilo abierto es para ayudar al que creó el hilo, no para hacer tu pregunta.
En cuanto a tu duda, puede que fb3 sea diferente en ese aspecto a fb2, (me refiero a la estructura) por lo que deberías crear un backup "transportable" en fb2 (no el nbackup) y luego restaurarlo con el fb3.

jesusgandia1966 23-05-2016 11:10:59

Gracias por tu aclaración.
El NBackup lo ejecuto desde la LINEA DE COMANDOS y el backup o base de datos ya está transportado de FireBird 2.5.2 a la 3.0 y funciona perfectamente.
Luego intento hacer ejecutar el NBACKUP desde LINEA DE COMANDOS, pero me bloquea el fichero original de BASE DE DATOS y encima ya no me permite continuar con la SEGUNDA COPIA INCREMENTAL.

Hay algo nuevo en el NBackup y es el fichero (DELTA), que aún no se bien para que es.

Casimiro Notevi 23-05-2016 11:18:22

Pues deberías leer bien la documentación.
Un consejo, nunca hagas estos cambios en "producción", siempre hay que probar las cosas durante mucho tiempo antes de ponerlo finalmente a los clientes. Si con la 2.5 va bien, ¿para qué cambiar? Salvo que obtengas unas ventajas notables, no vale pena, y menos una versión x.0.0

jesusgandia1966 23-05-2016 11:29:58

La documentación la he leído una, dos, tres y mil veces.
La cuestión no es volver a la versión anterior, sino por qué con esta versión no funciona.
La complementación de 2.5.2 a la 3.0 que ya ha sido LIBERADA la estoy intentando poner a prueba antes de actualizar a todos mis clientes y si no consigo hacer funcionar el NBACKUP, seguro que me quedaré con la versión 2.5.2.

Pero la cuestión no es esa... la cuestión es si alguien ha conseguido utilizar NBACKUP con la versión 3.0 de FireBird y hay algo que se me escapa y por eso pido ayuda. Te aseguro que antes de pedir ayuda he estado 3 días intentando solucionarlo yo, pero no hay manera.

En principio y en teoría, todo debería de funcionar bien, pero en la practica esto no es así.
Si intento actualizar desde la 2.5.2 a la 3.0 es porque creo que la versión 3.0 ya está madura y ofrece mas prestaciones además de corregir datos de la versión 2.5.2.

En resumen, no estoy pidiendo consejo de si utilizar la versión 2.5.2 o la 3.0... Estoy pidiendo ayuda sobre NBackup desde la versión 3.0 y todos los comentarios que haces pueden estar bien, pero no me aportan ninguna solución y todo lo que dices ya los se.

Casimiro Notevi 23-05-2016 11:35:22

¿Estás absolutamente seguro que un nbackup 2.5 es posible restaurarlo con un nbackup 3.0?

Sabrás de sobras que entre versiones siempre hay diferencias del ODS y es por lo que hay que hacer un backup transportable con la versión original y luego restaurarlo con la nueva versión.
Por eso te he explicado lo anterior.

jesusgandia1966 23-05-2016 11:41:15

vamos a ver, creo que o has entendido bien.

Ya he migrado de 2.5.2 a la 3.0 haciendo primero una copia de seguridad con la 2.5.2.
La copia está hecha con GBACK y no con NBackup.

Luego con GBACK la restauro a la versión 3.0 que es como se hace cada vez de subes de versión.
Hasta ahí todo bien y la base de datos se ejecuta sin problemas y perfectamente bien con la versión 3.0.
Ahora que ya tengo mis datos pasados a la versión 3.0... quiero hacer copias incrementales con mi base de datos que ya corre con la versión 3.0 y AHÍ es donde vienen los problemas... NO PUEDO por todo lo mencionado antes.

Lepe 23-05-2016 11:55:32

FB 3.0 tenía que salir el 1 de abril, y según tú ¿ya es madura?. Que poco quieres a tus clientes :P

Yo hasta que pase seis meses no pienso actualizar mis sistemas.

Saludos

jesusgandia1966 23-05-2016 12:21:59

Si leyeses, leerías que ya están desarrollando la versión 4.0

La versión 3.0 no es un BETA sino una RELEASE, por tanto debe estar preparada.
Es cuestión de mirar mi pregunta y no dar vueltas sobre otro tema.
Si tienes respuesta o lo vas a intentar, bien, de lo contrario deja la respuesta a alguien que pueda aportar algo.
Este post no es para discutir sobre una versión u otra.
Un saludo.

Casimiro Notevi 23-05-2016 12:30:16

Disculpa mi ignorancia e incultura, da gusto leer comentarios con tanta sabiduría de personas cultas, eruditas e instruidas.
No comentaré nada más, dejaré que lo hagan otros que realmente sepan, pues yo solo sé que no sé nada.

Casimiro Notevi 23-05-2016 12:30:58

Cita:

Empezado por Lepe (Mensaje 505475)
Yo hasta que pase seis meses no pienso actualizar mis sistemas.

Eso, como mínimo ^\||/

Casimiro Notevi 24-05-2016 20:01:02

Creo que no has dicho qué error te sale cuando vas a intentar restaurar con nbackup, ¿qué mensaje exacto muestra?

Casimiro Notevi 24-05-2016 20:42:19

Bien, he hecho una prueba y ha funcionado perfectamente.

Ahora bien, lo que no entiendo es:
Cita:

/*EJEMPLOS DE RESTAURACION:*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK"/*(Restauro la incremental INICIAL CERO)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK"/*(Restauro HACIA EL PUNTO DE LA INCREMENTA 1)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK" "D:\Datos\2.IBK"/*(Restauro HACIA EL PUNTO DE LA INCREMENTA 2)*/
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV_NO_PUEDE_EXISTIR.IB" "D:\Datos\0.IBK" "D:\Datos\1.IBK" "D:\Datos\2.IBK" "D:\Datos\3.IBK"/*(Restauro HACIA EL PUNTO DE LA
INCREMENTA 3)*/
¿Por qué repites 1.IBK en todos?
Quiero decir que me parece que esos parámetros no son correctos, que yo sepa es:
nbackup -u sysdba -p masterkey -r nueva.fdb test0.nbk test1.nbk test2.nbk test3.nbk

EDITO: Ya entiendo lo que estás haciendo. Pues no sé, qué problema tienes exactamente, ¿qué error te muestra?

jesusgandia1966 25-05-2016 11:02:08

El error que ocurre es que el fichero original TPV.FB queda bloqueado como si hiciese esto:

Código Delphi [-]
nbackup -U SYSDBA -P xxxxxx -L "D:\Datos\TPV.FB"

Al final he vuelto a FireBird 2.5.5 pues creo que en la versión 3.0 cambia bastante el fichero de seguridad y los requerimientos de SEGURIDAD han aumentado, pero leyendo la documentación, no está bien explicado o no lo entiendo bien.
Parece que el fichero securiti.fdb guarda restricciones y de ahí parece venir el problema.
Esto es que cuando ejecutas un NBACKUP el servidor BLOQUEA el fichero original, quizás sea por algún valor de seguridad.

Es decir el problema es el siguiente...
Puedo hacer Copias incrementales, pero no puedo seguir utilizando los datos originales.
En teoria, el sistema hace lo siguiente, por lo menos en la versión 2.5.5:
1. Antes de empezar con el NBACKUP, bloquea el fichero original para hacer una copia exacta en "0.NBK"
2. Una vez copiado, desbloquea el fichero de base de datos original, para que se pueda seguir trabajando sobre él.
3. Ahora el sistema tiene 2 copias exactas del fichero original: TPV.FB y 0.NBK
4. A partir de ahora se pueden crear backups incrementales con los datos desde la última vez que se hizo; esto es Backups incrementales de nivel 1,23,4,5,6,7,8,9....
nbackup -U SYSDBA -P xxxxxx -B 0 "D:\Datos\TPV.FB" "D:\Datos\0.nbk"
nbackup -U SYSDBA -P xxxxxx -B 1 "D:\Datos\TPV.FB" "D:\Datos\1.nbk"
nbackup -U SYSDBA -P xxxxxx -B 2 "D:\Datos\TPV.FB" "D:\Datos\2.nbk"
nbackup -U SYSDBA -P xxxxxx -B 3 "D:\Datos\TPV.FB" "D:\Datos\3.nbk"
nbackup -U SYSDBA -P xxxxxx -B 4 "D:\Datos\TPV.FB" "D:\Datos\4.nbk"
nbackup -U SYSDBA -P xxxxxx -B 5 "D:\Datos\TPV.FB" "D:\Datos\5.nbk"
nbackup -U SYSDBA -P xxxxxx -B 6 "D:\Datos\TPV.FB" "D:\Datos\6.nbk"
nbackup -U SYSDBA -P xxxxxx -B 7 "D:\Datos\TPV.FB" "D:\Datos\7.nbk"
nbackup -U SYSDBA -P xxxxxx -B 8 "D:\Datos\TPV.FB" "D:\Datos\8.nbk"
nbackup -U SYSDBA -P xxxxxx -B 9 "D:\Datos\TPV.FB" "D:\Datos\9.nbk"
nbackup -U SYSDBA -P xxxxxx -B 10 "D:\Datos\TPV.FB" "D:\Datos\10.nbk"
etc

5. Luego en la restauración se tiene que borrar antes el fichero original y antes de proceder y...
Se puede restaurar desde cualquier punto de los anteriores poniendo en la restaruación todos los fichero anteriores al punto desde donde quieres restaurar, esto es, si por ejemplo quieres restaurar el punto 5.nbk, tienes que incluir todos los anteriores hasta el punto de partida:
nbackup -U SYSDBA -P xxxxxx -R "D:\Datos\TPV.FB" ""D:\Datos\0.nbk" "D:\Datos\1.nbk" "D:\Datos\2.nbk" "D:\Datos\3.nbk" "D:\Datos\4.nbk" "D:\Datos\5.nbk"

Todo esto funciona a la perfección con la versión de Firebird 2.5.5 y NBACKUP 1.3 pero con la versión Firebird 3.0 y NBACKUP 1.x no funciona porque despues de hacer el primer BACKUP el fichero original sigue BLOQUEADO he impide seguir trabajando.

Casimiro Notevi 25-05-2016 12:34:30

¿En la documentación dice que lo bloquea?
¿Para qué sirve el parámetro -L?

La prueba que he hecho ha ido perfecta y rápida, sin ningún tipo de inconveniente.


La franja horaria es GMT +2. Ahora son las 22:40:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi