hice el dbimport de la base, le corrí el ontape -s -U (también el -s -B) pero intento conectarme y me da el mensaje “Problemas al iniciar la sesión, Error -746: La Base de Datos debe tener Logging”. Contacte al Administrador de BD"
Tengo el mismo problema y he realizado las comprobaciones que sugieren. Pero no se registraron cambios : sigue dando el mismo error.
Desde ya agradezco la colaboración.
Raul, es version 9.21 u otra version? La versión es 11.10
Ejecuta el siguiente proceso, y fijate si devuelve “S”: EXECUTE PROCEDURE sp_tiene_log(‘nombre_base’);
[/quote] El proceso EXECUTE PROCEDURE sp_tiene_log(‘nombre_base’); devuelve N
El comando ontape -s -U <nombre_de base> te retorna que lo hizo bien? Y el nombre de la base es el correcto? No estarán corriendo el comando con otro nombre de base y por eso no efectua el cambio en la base nueva?
Es muy raro que si ejecutan el comando y el comando indica que fue exitoso no lo esté haciendo realmente. Pueden verificarlo también en el log del motor como se sugiere más arriba. Te tiene que decir algo así:
me tiraba un error, y era porque había conexiones activas a la DB, por lo que la pasé a modo quiescent y ejecuté el comando nuevamente, hizo un backup de nivel 0, la volví a multiusuario y el procedure respondió S
Cada vez que se corre el comando para cambiar el modo de logging de la base te informa si fue exitoso o no lo fue, y eso también queda registrado en el log del motor.
En resumen, no alcanza con ejecutar el comando sino que hay que verificar que el mismo sea exitoso, ya que por distintos motivos ese comando pudo no haber sido exitoso. Uno es el que vos mencionas, que haya algún usuario conectados a la base. Usualmente es uno mismo con algún SQLEditor, cuando la base fue recién importada.
Buen dia, estamos cambiando el informix a otro servidor.
Estamos en la etapa de prueba y, el sql editor me conectó sin problemas, salvo un poco de lentitud, pero… desde la aplicación me dá este error.
Encontré este mensaje e hice lo que dicen aqui con el motor on line:
EXECUTE PROCEDURE sp_tiene_log(‘nombre_base’);
Esto me da ‘N’ como resultado aun despues de correr el ontape cuyo resultado se envia a null
ontape -s -U pruix_270_1
Archive to tape device ‘/dev/null’ is complete.
Q mas puedo hacer para cambiar el modo a unbuffered logging?
Saludos.-
Mónica.-
11:59:36 Maximum server connections 2
12:04:36 Checkpoint Completed: duration was 0 seconds.
12:04:36 Checkpoint loguniq 7, logpos 0x4018, timestamp: 0xea7b0b
12:04:36 Maximum server connections 2
12:15:08 Checkpoint Completed: duration was 0 seconds.
12:15:08 Checkpoint loguniq 7, logpos 0x6130, timestamp: 0xea7b68
12:15:08 Maximum server connections 2
12:15:08 ‘pruix_270_1’ - New logging mode: UNBUFFERED
12:20:36 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
12:20:36 Checkpoint loguniq 7, logpos 0x8050, timestamp: 0xea7ba1
12:20:36 Maximum server connections 2
12:30:36 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
12:30:36 Checkpoint loguniq 7, logpos 0x9050, timestamp: 0xea7be5
12:30:36 Maximum server connections 2
y figura la base como :
12:15:08 ‘pruix_270_1’ - New logging mode: UNBUFFERED
Luego probé la aplicación y ANDA!!!
vuelvo a correr EXECUTE PROCEDURE sp_tiene_log(‘nombre_base’); y me sigue dando ‘N’
No tendría que darme ‘S’?
Saludos.
Hay un tema, puede ser que el nombre de la base tenga mas de 18 caracteres aunque segun el nombre que detallaste en el mensaje tiene menos de 18 caracteres?
Creo el problema puede venir por alli, si es asi fijate de hacer un rename database y cambiarlo por un nombre que como máximo tenga 18 caracteres (longitud del parametro que recibe ese procedure) y luego volve a probar ese sp.
proba lo siguiente y fijate si devuelve 1 (tiene logging) o 0 (no tiene)
SELECT is_logging FROM sysmaster:sysdatabases WHERE name = 'pruix_270_1';