Buenas Tardes,
Estoy desconcertada con un problema en el bakup de la base de datos.
El log de la base de datos no tiene ningun error y cuando realizo el dbexport diario tampoco.
Ahora, cuando intento hacer un dbimport para armar otro ambiente da errores, se para el dbimport y, por supuesto, no puedo recuperar la base. O SEA, EL DBEXPORT QUE REALIZO DIARIAMENTE NO ES CONFIABLE.
El error particular de esta vez: 212 - Cannot add index.
Me fijo en la tabla que da error, la suprimo a esa linea del .sql del directorio de exportacion y el dbimport funciona bien,
pero al intentar crear el indice sigue dando error.
Esta es la sentencia y el error desde el sqleditor:
create index “dba”.in_nombre_loc on “dba”.mug_localidades (nombre) ;
(-212) : Cannot add index. [ ISAM error -105 : ISAM error: bad isam file format. ]
1º) ¿debo hacer un dbimport TODOS los dias para CONFIRMAR QUE EL BACKUP DEL DIA ANTERIOR ES CONFIABLE ?
2º) ¿Como soluciono el problema de esta tabla?
hola carla proba lo siguiente
-hace un dbimport completo sin la linea que te da el error
-luego de importar todo ejecuta esa linea
si te sigue dando el error ejecuta en la consola de la instancia lo siguiente y envíanos lo que te devuelve.
oncheck -cDI testeo_2063:mug_localidades
aparte de lo que te menciona carlos, y trabajando siempre con la misma exportacion:
a.- Porbar de hacer la importacion en modo unbuffered (dbimport con argumento -l (ele)). Es mas lerdo.
b.- Probar de importar tan solo los datos de las tablas y los usuarios primero, y luego todo el resto.
Por las dudas, en la instalación que trabajas, tenes espacio suficiente? O sea los dbspaces no estan trabajando a full?
De ser así fijate de agregar mas chunks a cada dbspace.
El error isam 105 es de datos corruptos. O sea, se insertaron alguna cantidad de lineas, pero no esta terminando de procesarlas o cosa por el estilo. Algo como lo que pasó el otro dia que el numero de registros no coincidia con el contenido del unload.
-suprimi esa linea del create del index en la tabla mug_localidades del dbimport, y se levanta la base.
-corro esa linea desde el sqleditor y da error la error que te mande.
-corro el oncheck -cDI siu_guarani.mug_localidades desde la linea de comandos
y en ambos server, el de produccion, y el de prueba de importacion da el error que te adjunto.
Hola Emilio,
-siempre que importo, importo con la opcion -l …asi: dbimport siu_guarani -d siu_guarani -l -i path
-no se como importar tan solo los datos de las tablas y los usuarios primero, y luego el resto.
-si hay espacio suficiente.
-Estoy haciendo un programa que detecte inconsistencia entre las filas de las tablas y los archivos, pero todavia no lo termine.
Igual, esa tabla no tiene inconsistencia de datos. Es lo primero que me fije.
Cuando tenga el resultado final del programa de incosistencia te mando los resultados.
Vos tenes un archivo siu_guarani.sql generado por la exportación.
Dentro de él y dependiendo del motor que uses, tendrás varias “partes” en diferentes órdenes.
Editá ese archivo con un block de notas por ej. y abrí otra ventana con el mismo block de notas.
En la ventana de siu_guarani.sql verás una primera linea de creación de base, luego los usuarios y luego pueden ser los procedures.
Buscá la primera sentencia UNLOAD que es la que define de donde se cargan los datos en la tabla que se creará.
Todo lo anterior al unload, excepto la sentencia de creación de la base y los usuarios, lo cortás y lo pegas en la otra ventana.
Luego buscas el último UNLOAD y cortas y pegas, en la otra ventana, todo lo que sigue.
Guardas el archivo siu_guarani.sql que ahora contendrá sólo usuarios y creación de tablas con datos.
Guardas el otro archivo con otro nombre.(siu_guarani_b.sql)
Cuando importes la base de datos, tan solo tendrá las tablas y los datos. Luego tenes que correr aparte siu_guarani_b.sql
Para cerrar este tema, queria resumir lo siguiente.
TODOS los dias en producción
corre continuamente el comando ontape -c
2)corro el comando update statistics
realizo dbexport
4)realizo dbimport en otra base para verificar que la exportacion anterior este correcta
5.1) si da error, comento el .sql las lineas que dan error (por lo general carga de datos de tablas) y sigue adelante.
corro el comando oncheck con los parametros que indica carlos sobre la tabla.
5.2) otras veces el control con el dbimport no da error.