Temp dbspace problem
Posted in 1999
Hi everyone,
Running PeopleSoft on IDS 7.31UC2 and HPUX 10.20.
We are running a cobol process with a particular SQL statement that's
selecting distinct rows, and has three correlated queries...it's rather
large so I won't post it. It runs successfully on other instances we
have (two of which are identically configured in the way of dbspaces,
one running 7.23UC4 and another running 7.3UC5).
When the cobol executes the above mentioned SQL select statement it
naturally begins taking up space in our two temp dbspaces. Each temp
dbspace has 256000 pages. As the process continues I monitor the temp
dbspace via onstat -d and it seems to be going along ok. A few
thousand pages used from one, then a few thousand from the other. It
seems to be evenly distributing the sorting load between these two
dbspaces. Then, when both dbspaces are at about 59000 pages, the
system stops using our first temp dbspace (tdbs1) and drains our second
(tdbs2) down to zero, then giving us an Informix error -264 and ISAM
error -131: "Could not write to a temporary file".
Like I said, this works (with the same amount of data being processed)
on our other instances, but it seems to be bombing out on our 7.31UC2
server. Has anyone run into anything like this before? I'm including
my onconfig just in case someone can see something that I can't.
Thanks so much for your time!
Here's the onconfig:
ROOTNAME root # Root dbspace nameROOTPATH /link_fsdev7/fsdev7_root # Device with root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
ROOTSIZE 30000 # Size of root dbspace (Kbytes)
MIRROR 1 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH /link_fsdev7/fs7_rootm # Path for mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
PHYSDBS physdbs # Location (dbspace) of physical log
PHYSFILE 63000 # Physical log file size (Kbytes)
LOGFILES 99 # Number of logical log files
LOGSIZE 1000 # Logical log size (Kbytes)
MSGPATH /home/informix/logs_fsdev7/fsdev7.log # Sys log path
CONSOLE /home/informix/logs_fsdev7/console.log # Sys con msg
path
ALARMPROGRAM /home/informix/log_full.sh # Alarm program path
TAPEDEV /dev/null # Tape device path
#TAPEDEV /dev/rmt/4m # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 8000000 # Maximum amount of data to put on tape
(Kbytes)
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 16 # Log tape block size (Kbytes)
LTAPESIZE 8000000 # Max amount of data put on log tape
(Kbytes)
STAGEBLOB # INFORMIX-OnLine/Optical staging area
SERVERNUM 5 # Unique id corresponding to a OnLineinstance
DBSERVERNAME fsdev7 # Name of default database server
DBSERVERALIASES fsdev7_tcp # List of alternate dbservernames
NETTYPE ipcshm,1,12,NET
NETTYPE soctcp,2,50,NET
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in
RESIDENT 1 # Forced residency flag (Yes = 1, No =
MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-
NUMCPUVPS 2 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
LOCKS 500000 # Maximum number of locks (pre-
BUFFERS 30000 # Maximum number of shared buffers
NUMAIOVPS 4 # 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 15 # Number of buffer cleaner processes
SHMBASE 0x0 # Shared memory base address
SHMVIRTSIZE 40000 # initial virtual shared memory segment
SHMADD 8192 # Size of new shared memory segments
SHMTOTAL 0 # Total shared memory (Kbytes).
CKPTINTVL 300 # Check point interval (in sec)
LRUS 18 # Number of LRU queues
LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water mark
LTXEHWM 60 # Long transaction high water mark
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 128 # Stack size (Kbytes)
OFF_RECVRY_THREADS 20 # Default number of offline workerthreads
ON_RECVRY_THREADS 20 # Default number of online workerthreads
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes
(in sec)
DRTIMEOUT 30 # DR network timeout (in sec)DRLOSTFOUND /opt/informix73UC5/dr.lostfound # DR lost+found file
path
CDR_LOGBUFFERS 2048 # size of log reading buffer pool
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR
BAR_ACT_LOG /tmp/bar_act.log
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31
RA_PAGES # Number of pages to attempt to readahead
RA_THRESHOLD # Number of pages left before next group
DBSPACETEMP tdbs1,tdbs2 # Default temp dbspaces
DUMPDIR /dev/null # 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
DUMPCNT 1 # Number of shared memory or gcore
FILLFACTOR 90 # Fill factor for building indexes
USEOSTIME 0 # 0: use internal time(fast), 1: get
MAX_PDQPRIORITY 100 # Maximum allowed pdqpriority
DS_MAX_QUERIES # Maximum number of decision supportqueries
DS_TOTAL_MEMORY # Decision support memory (Kbytes)
DS_MAX_SCANS 1048576 # Maximum number of decision supportscans
DATASKIP off # List of dbspaces to skip
OPTCOMPIND 0 # To hint the optimizer
ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1
= ABORT, 2 = WAITLBU_PRESERVE 0 # Preserve last log for log backup
OPCACHEMAX 0 # Maximum optical cache size (Kbytes)
HETERO_COMMIT 0SYSALARMPROGRAM /opt1/informix73UC5/etc/evidence.sh # System Alarm
program path
TBLSPACE_STATS 1
ISM_DATA_POOL I