SOLUCIONADO Error (-229) al querer imprimir Actas. SOLUCIONADO

Buenas. Soy nuevo en este foro, junto con otra personas nos pidieron mantener el sistema de SIU_Guarani.
Y ya nos han dado un tema para trabajar.
Cuando quieren imprimir las actas que estan cargadas por los docentes, obtienen el error " -229 Could not open or create a temporary file"
Aun no he podido interiorizarme mucho en el tema, por eso recurro a su ayuda.
¿Alguno tuvo este error?
¿Lo pudo solucionar?
Cualquier informacion extra que necesiten para aclarar mas el error estoy a disposicion.
ATTE

Juan Martin

Juan Martín: de la ayuda de informix:
`
The database server cannot create a temporary disk file. The file
should be created in the directory that the DBTEMP environment variable
specifies (or /tmp by default on UNIX systems). Check the accompanying
ISAM error code and look for operating-system error messages that
might give more information. Possibly your account does not have write
permission in that directory, or the disk is full. Since Version 5.01,
the INFORMIX-SE database server uses the DBTEMP environment variable,
but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.

On a UNIX system, try increasing the maximum number of open files
(NFILES parameter on some systems) to approximately 400.
`
Hay que revisar la configuración de tu servidor Informix. Hay que probar agregando un dbspace del tipo temporal y especificarlo en el onconfig.

Juan, podes enviar la salida de:

onstat -d

Tambien si podes adjuntar el archivo onconfig.

Por otro lado, lo que podrias verificar es si se usa el dbspace temporal o en realidad se esta usando el rootdbs como temporal, podes verificarlo con:
onstat -d -r 1
Ejecuta este comando, lo que hara es que cada 1 segundo se ejecuta nuevamente el comando. Luego de correrlo hace lo que estas haciendo en el sistema y verificá aqui la columna “free”, cual es el dbspace que se usa, si el rootdbs o el dbspace temporal.
Si el dbspace temporal no modifica el tamaño de la columna free es porque se usa el root, o puede esta rpasando que el tamñao del dbspace temporal no sea suficiente y tengas que agregar mas espacio.

Aca te estoy pasando el onconfig

#**************************************************************************

INFORMIX SOFTWARE, INC.

Title: onconfig.std

Description: Informix Dynamic Server Configuration Parameters

#**************************************************************************

Root Dbspace Configuration

ROOTNAME rootdbs # Root dbspace name
ROOTPATH c:\IFMXDATA\ol_svr_fgr\rootdbs_dat.000
# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 240000 # Size of root dbspace (Kbytes)

Disk Mirroring Configuration Parameters

MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)

Physical Log Configuration

PHYSDBS dbs_fisicalog # Location (dbspace) of physical log
PHYSFILE 15000 # Physical log file size (Kbytes)

Logical Log Configuration

LOGFILES 30 # Number of logical log files
LOGSIZE 2000 # Logical log size (Kbytes)
LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)

Diagnostics

MSGPATH c:\informix\ol_svr_fgr.log # System message log file path
CONSOLE c:\informix\conol_svr_fgr.log # System console message path
ALARMPROGRAM c:\informix\etc\log_full.bat # Alarm program path
TBLSPACE_STATS 1 # Maintain tblspace statistics

System Diagnostic Script.

SYSALARMPROGRAM - Full path of the system diagnostic script (e.g.

c:\informix\etc\evidence.bat.) Set this parameter

if you want a different Diagnostic Script than

{INFORMIXDIR}\etc\evidence.bat, which is default.

System Archive Tape Device

TAPEDEV c:\IFMXBKUP\salbase.bak # Tape device path
#TAPEDEV \.\TAPE0 # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 1024000 # Maximum amount of data to put on tape (Kbytes)

Log Archive Tape Device

LTAPEDEV c:\IFMXBKUP\sallog.bak # Log tape device path
#LTAPEDEV \.\TAPE1 # Log tape device path
LTAPEBLK 16 # Log tape block size (Kbytes)
LTAPESIZE 1024000 # Max amount of data to put on log tape (Kbytes)

Optical

STAGEBLOB # Informix Dynamic Server/Optical staging area
OPTICAL_LIB_PATH # Location of Optical Subsystem driver DLL

System Configuration

SERVERNUM 0 # Unique id corresponding to a server instance
DBSERVERNAME ol_svr_fgr # Name of default Dynamic Server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE soctcp,1,NET # Override sqlhosts nettype parameters
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)

MULTIPROCESSOR 0 # 0 for single-processor, 1 for multi-processor
NUMCPUVPS 1 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one

NOAGE 0 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors

Shared Memory Parameters

LOCKS 60000 # Maximum number of locks
BUFFERS 6000 # Maximum number of shared buffers
NUMAIOVPS 1 # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
LOGSMAX 100 # Maximum number of logical log files
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0xc000000 # Shared memory base address
SHMVIRTSIZE 8192 # initial virtual shared memory segment size
SHMADD 8192 # Size of new shared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 600 # Check point interval (in sec)
LRUS 8 # Number of LRU queues
LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water mark percentage
LTXEHWM 60 # Long transaction high water mark (exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 64 # Stack size (Kbytes)

System Page Size

BUFFSIZE - Dynamic Server no longer supports this configuration parameter.

To determine the page size used by Dynamic Server on your platform

see the last line of output from the command, ‘onstat -b’.

Recovery Variables

OFF_RECVRY_THREADS:

Number of parallel worker threads during fast recovery or an offline restore.

ON_RECVRY_THREADS:

Number of parallel worker threads during an online restore.

OFF_RECVRY_THREADS 10 # Default number of offline worker threads
ON_RECVRY_THREADS 1 # Default number of online worker threads

Data Replication Variables

DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND \tmp # DR lost+found file path

CDR Variables

CDR_LOGBUFFERS 2048 # size of log reading buffer pool (Kbytes)
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes)
CDR_LOGDELTA 30 # % of log space allowed in queue memory
CDR_NUMCONNECT 16 # Expected connections per server
CDR_NIFRETRY 300 # Connection retry (seconds)
CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)

Backup/Restore variables

BAR_ACT_LOG c:\informix\bar_ol_svr_fgr.log #Path of log file for onbar.exe
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 15
BAR_BSALIB_PATH c:\ISM\2.20\bin\libbsa.dll # Location of ISM XBSA DLL

RESTARTABLE_RESTORE off #To support restartable restore…values on/off

Informix Storage Manager variables

ISM_DATA_POOL ISMData
ISM_LOG_POOL ISMLogs

Read Ahead Variables

RA_PAGES # Number of pages to attempt to read ahead
RA_THRESHOLD # Number of pages left before next group

DBSPACETEMP:

Dynamic Server equivalent of DBTEMP for SE. This is the list of dbspaces

that the Dynamic Server SQL Engine will use to create temp tables etc.

If specified it must be a colon separated list of dbspaces that exist

when the Dynamic Server system is brought online. If not specified, or if

all dbspaces specified are invalid, various ad hoc queries will create

temporary files in /tmp instead.

DBSPACETEMP dbs_temp # Default temp dbspaces

DUMP*:

The following parameters control the type of diagnostics information which

is preserved when an unanticipated error condition (assertion failure) occurs

during Dynamic Server operations.

For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

DUMPDIR c:\tmp # Preserve diagnostics in this directory
DUMPSHMEM 1 # Dump a copy of shared memory
DUMPGCORE 0 # Dump a core image using ‘gcore’
DUMPCORE 0 # Dump a core image (Warning:this aborts Dynamic
DUMPCNT 1 # Number of shared memory or gcore dumps for
# a single user’s session

FILLFACTOR 90 # Fill factor for building indexes

method for Dynamic Server to use when determining current time

USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow)

Parallel Database Queries (pdq)

MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
DS_MAX_QUERIES 32 # Maximum number of decision support queries
DS_TOTAL_MEMORY 4096 # Decision support memory (Kbytes)
DS_MAX_SCANS 1048576 # Maximum number of decision support scans
DATASKIP off # List of dbspaces to skip

OPTCOMPIND

0 => Nested loop joins will be preferred (where

possible) over sortmerge joins and hash joins.

1 => If the transaction isolation mode is not

“repeatable read”, optimizer behaves as in (2)

below. Otherwise it behaves as in (0) above.

2 => Use costs regardless of the transaction isolation

mode. Nested loop joins are not necessarily

preferred. Optimizer bases its decision purely

on costs.

OPTCOMPIND 2 # To hint the optimizer

DIRECTIVES 1 # Optimizer DIRECTIVES ON (1/Default) or OFF (0)

ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT
LBU_PRESERVE 0 # Preserve last log for log backup
OPCACHEMAX 0 # Maximum optical cache size (Kbytes)

HETERO_COMMIT (Gateway participation in distributed transactions)

1 => Heterogeneous Commit is enabled

0 (or any other value) => Heterogeneous Commit is disabled

HETERO_COMMIT 0

SBSPACENAME sbspace # Default sbspace

BLOCKTIMEOUT 3600 # Default timeout for system block

Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS

OPT_GOAL -1

ALLOW_NEWLINE 0 # embedded newlines(Yes = 1, No = 0 or anything but 1)
SYSSBSPACENAME sbspace # Default System sbspace

The following are default settings for enabling Java in the database.

#VPCLASS jvp,num=1 # Number of JVPs to start with
JVPJAVAHOME c:\informix\extend\krakatoa\jre
# JDK installation root directory
JVPHOME c:\informix\extend\krakatoa # Krakatoa installation directory
JVPPROPFILE c:\informix\extend\krakatoa.jvpprops_ol_svr_fgr
# JVP property file
JDKVERSION 1.2 # JDK version supported by this server
JVMTHREAD native # Java VM thread type (green or native)

The path to the JRE libraries relative to JVPJAVAHOME

JVPJAVALIB \bin\

The JRE libraries to use for the Java VM

JVPJAVAVM hpi;jvm;java;net;math;zip;jpeg

Classpath to use upon Java VM start-up (use _g version for debugging)

JVPCLASSPATH c:\informix\extend\krakatoa\krakatoa.jar;c:\informix\extend\krakatoa\jdbc.jar

JVPLOGFILE c:\informix\extend\krakatoa/jvp.log # JVP log file.

Adjunto esta el onstat -d


Algunos cambios a hacer:

Cambiar 0 por 1:
LBU_PRESERVE 1

En base a la memoria, podrias cambiar lo siguiente:
BUFFERS 25000
SHMVIRTSIZE 65536 # 64mb
SHMADD 32768 # 32mb

Revisá el tamaño de los archivos a donde realizas el backup
LTAPESIZE
TAPSIZE

Estan de 1Gb, si tene mas espacio en ese disco agrandá estos tamaños…

Agregá 20 logical logs mas de 2mb como los que tenes definidos. (comando onparams) El rootdbs creo que le queda espacio libre.
Lo mejor sería que crees un nuevo dbspace para luego crear los logical logs y redefinir el fisical log en ese nuevo dbspace.

Gracias a todos por la ayuda.
Hemos solucionado el problema de la siguiente manera.
Se ha creado un nuevo chunk para el dbtemp.
Primero creamos el archivo temp, que en nuestro caso es dbs_temp_dat.001
y luego seteamos para que el dbtemp lo tome.
onspaces -a (nombre logico del dbtemp) -p (path del archivo creado arriba) -o 0 -s 500000

saludos