Changing from Informix to Oracle
Posted in 2000
Topics: High Availability & Replication, Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration
OK, thanks for all the good information. When the time comes I will be
armed to discuss Informix vs. Oracle
In the meantime, here are the onstat commands that one of you asked for ( I
am having trouble with slow writes into a temp table. my developer is
selecting from his table (118 million rows) and selects seem okay, but he
claims his writes are slow (sometimes he writes to a filesystem and
sometimes he writes to one of the tempspaces - he does specify which
tempspace he wants.)
Our tempspace dbspaces are on 3 different disks but are on with other
chunks.
Our busy table is on 3 disks and take up all the space on those three disks.
We have a total of 6 disks (18 gig each).
I did get help from this group before on this same machine, & made changes
to my LRUs and then still had more problems (slowness), so called Informix
and they had me make some changes to the LRU's and the BUFFERS also....
Be gentle and please explain. I am a newbie with virtually no experience.
I am learning from reading (which doesn't always explain fully) and from
Informix CBT's.
Anyhow, here goes
Thanks again in advance for your help....
Robin
onstat -
Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 13 days
06:48:25 -- 901120 Kbytes
onstat -c
Configuration File: /home/informix/etc/onconfig.test
#**************************************************************************
## INFORMIX SOFTWARE, INC.
#
# Title: onconfig.std
# Description: Informix Dynamic Server Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /dev/vx/rdsk/informixdg/db01 # Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 1500000 # 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 logs # Location (dbspace) of physical log
PHYSFILE 10000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 75 # Number of logical log files
LOGSIZE 10000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /home/informix/online.log # System message log file path
CONSOLE /dev/console # System console message path
ALARMPROGRAM /home/informix/etc/log_full.sh # Alarm program path
#SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarmprogram path
TBLSPACE_STATS 1
# System Archive Tape Device
TAPEDEV /home/informix/tape/tapelog # Tape device path
TAPEBLK 16 # Tape block size (Kbytes)
TAPESIZE 10240 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
LTAPEDEV /home/informix/tape/ltapelog # Log tape device path
LTAPEBLK 16 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log tape
(Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server/Optical staging
area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a DynamicServer instance
DBSERVERNAME test # Name of default database server
DBSERVERALIASES test_net # List of alternate dbservernames
NETTYPE tlitcp,1,100,NET # Configure poll thread(s) for nettype
NETTYPE ipcshm,4,30,CPU # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
env.
RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 8 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps toone
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 150000 # Maximum number of locks
BUFFERS 400000 # Maximum number of shared buffers
NUMAIOVPS 12 # Number of IO vps
PHYSBUFF 64 # Physical log buffer size (Kbytes)
LOGBUFF 64 # Logical log buffer size (Kbytes)LOGSMAX 100 # Maximum number of logical log files
CLEANERS 32 # Number of buffer cleaner processes
SHMBASE 0xa000000 # 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 300 # Check point interval (in sec)
LRUS 32 # Number of LRU queues
LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water markpercentage
LTXEHWM 60 # Long transaction high water mark
(exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 32 #Stacksize (Kbs)
# 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 workerthreads
ON_RECVRY_THREADS 1 # Default number of online worker threads
# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes (in
sec)
DRTIMEOUT 30 # DR network timeout (in sec)DRLOSTFOUND /home/informix/etc/dr.lostfound # 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)
# Backup/Restore variables
BAR_ACT_LOG /home/informix/bar_act.log@@NL
Boscia wrote:
> OK, thanks for all the good information. When the time comes I will be
> armed to discuss Informix vs. Oracle
>
> In the meantime, here are the onstat commands that one of you asked for ( I
> am having trouble with slow writes into a temp table. my developer is
> selecting from his table (118 million rows) and selects seem okay, but he
> claims his writes are slow (sometimes he writes to a filesystem and
> sometimes he writes to one of the tempspaces - he does specify which
> tempspace he wants.)
> Our tempspace dbspaces are on 3 different disks but are on with other
> chunks.
> Our busy table is on 3 disks and take up all the space on those three disks.
> We have a total of 6 disks (18 gig each).
>
> I did get help from this group before on this same machine, & made changes
> to my LRUs and then still had more problems (slowness), so called Informix
> and they had me make some changes to the LRU's and the BUFFERS also....
>
> Be gentle and please explain. I am a newbie with virtually no experience.
> I am learning from reading (which doesn't always explain fully) and from
> Informix CBT's.
>
> Anyhow, here goes
>
> Thanks again in advance for your help....
>
> Robin
>
> onstat -
> Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 13 days
> 06:48:25 -- 901120 Kbytes
>
> onstat -c
> Configuration File: /home/informix/etc/onconfig.test
> #**************************************************************************
> #> # INFORMIX SOFTWARE, INC.
> #
> # Title: onconfig.std
> # Description: Informix Dynamic Server Configuration Parameters
> #
> #**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name
> ROOTPATH /dev/vx/rdsk/informixdg/db01> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)
> ROOTSIZE 1500000 # 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 logs # Location (dbspace) of physical log
> PHYSFILE 10000 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 75 # Number of logical log files
> LOGSIZE 10000 # Logical log size (Kbytes)>
> # Diagnostics
>
> MSGPATH /home/informix/online.log # System message log file path
> CONSOLE /dev/console # System console message path
> ALARMPROGRAM /home/informix/etc/log_full.sh # Alarm program path
> #SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarm> program path
> TBLSPACE_STATS 1>
> # System Archive Tape Device
>
> TAPEDEV /home/informix/tape/tapelog # Tape device path
> TAPEBLK 16 # Tape block size (Kbytes)
> TAPESIZE 10240 # Maximum amount of data to put on tape
> (Kbytes)>
> # Log Archive Tape Device
>
> LTAPEDEV /home/informix/tape/ltapelog # Log tape device path
> LTAPEBLK 16 # Log tape block size (Kbytes)
> LTAPESIZE 10240 # Max amount of data to put on log tape
> (Kbytes)>
> # Optical
>
> STAGEBLOB # Informix Dynamic Server/Optical staging
> area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a Dynamic> Server instance
> DBSERVERNAME test # Name of default database server
> DBSERVERALIASES test_net # List of alternate dbservernames
> NETTYPE tlitcp,1,100,NET # Configure poll thread(s) for nettype
> NETTYPE ipcshm,4,30,CPU # Configure poll thread(s) for nettype
You have 8CPU VPs, use them all in the ipcshm NETTYPE.
>
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
> env.
> RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 8 # Number of user (cpu) vps
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to> one
>
> NOAGE 1 # Process aging
> AFF_SPROC 0 # Affinity start processor
> AFF_NPROCS 0 # Affinity number of processors>
> # Shared Memory Parameters
>
> LOCKS 150000 # Maximum number of locks
> BUFFERS 400000 # Maximum number of shared buffers
> NUMAIOVPS 12 # Number of IO vps
> PHYSBUFF 64 # Physical log buffer size (Kbytes)
> LOGBUFF 64 # Logical log buffer size (Kbytes)> LOGSMAX 100 # Maximum number of logical log files
> CLEANERS 32 # Number of buffer cleaner processes
> SHMBASE 0xa000000 # 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 300 # Check point interval (in sec)
> LRUS 32 # Number of LRU queues
> LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
> LRU_MIN_DIRTY 5 # 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 32 #Stacksize (Kbs)>
> # 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
> # DRAUTO: 0 manual, 1 retain type, 2 reverse type
> DRAUTO 0 # DR automatic switchover
> DRINTERVAL 30 # DR max time between DR buffer flushes (in
> sec)
> DRTIMEOUT 30 # DR network timeout (in sec)> DRLOSTFOUND /home/informix/etc/dr.lostfound # DR lost+found file path
>
> # CDR Variables
> C
Boscia wrote:
> OK, thanks for all the good information. When the time comes I will be
> armed to discuss Informix vs. Oracle
>
> In the meantime, here are the onstat commands that one of you asked for ( I
> am having trouble with slow writes into a temp table. my developer is
> selecting from his table (118 million rows) and selects seem okay, but he
> claims his writes are slow (sometimes he writes to a filesystem and
> sometimes he writes to one of the tempspaces - he does specify which
> tempspace he wants.)
> Our tempspace dbspaces are on 3 different disks but are on with other
> chunks.
> Our busy table is on 3 disks and take up all the space on those three disks.
> We have a total of 6 disks (18 gig each).
>
> I did get help from this group before on this same machine, & made changes
> to my LRUs and then still had more problems (slowness), so called Informix
> and they had me make some changes to the LRU's and the BUFFERS also....
>
> Be gentle and please explain. I am a newbie with virtually no experience.
> I am learning from reading (which doesn't always explain fully) and from
> Informix CBT's.
>
> Anyhow, here goes
>
> Thanks again in advance for your help....
>
> Robin
>
> onstat -
> Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 13 days
> 06:48:25 -- 901120 Kbytes
>
> onstat -c
> Configuration File: /home/informix/etc/onconfig.test
> #**************************************************************************
> #> # INFORMIX SOFTWARE, INC.
> #
> # Title: onconfig.std
> # Description: Informix Dynamic Server Configuration Parameters
> #
> #**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name
> ROOTPATH /dev/vx/rdsk/informixdg/db01> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)
> ROOTSIZE 1500000 # 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 logs # Location (dbspace) of physical log
> PHYSFILE 10000 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 75 # Number of logical log files
> LOGSIZE 10000 # Logical log size (Kbytes)>
> # Diagnostics
>
> MSGPATH /home/informix/online.log # System message log file path
> CONSOLE /dev/console # System console message path
> ALARMPROGRAM /home/informix/etc/log_full.sh # Alarm program path
> #SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarm> program path
> TBLSPACE_STATS 1>
> # System Archive Tape Device
>
> TAPEDEV /home/informix/tape/tapelog # Tape device path
> TAPEBLK 16 # Tape block size (Kbytes)
> TAPESIZE 10240 # Maximum amount of data to put on tape
> (Kbytes)>
> # Log Archive Tape Device
>
> LTAPEDEV /home/informix/tape/ltapelog # Log tape device path
> LTAPEBLK 16 # Log tape block size (Kbytes)
> LTAPESIZE 10240 # Max amount of data to put on log tape
> (Kbytes)>
> # Optical
>
> STAGEBLOB # Informix Dynamic Server/Optical staging
> area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a Dynamic> Server instance
> DBSERVERNAME test # Name of default database server
> DBSERVERALIASES test_net # List of alternate dbservernames
> NETTYPE tlitcp,1,100,NET # Configure poll thread(s) for nettype
> NETTYPE ipcshm,4,30,CPU # Configure poll thread(s) for nettype
You have 8CPU VPs, use them all in the ipcshm NETTYPE.
>
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
> env.
> RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 8 # Number of user (cpu) vps
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to> one
>
> NOAGE 1 # Process aging
> AFF_SPROC 0 # Affinity start processor
> AFF_NPROCS 0 # Affinity number of processors>
> # Shared Memory Parameters
>
> LOCKS 150000 # Maximum number of locks
> BUFFERS 400000 # Maximum number of shared buffers
> NUMAIOVPS 12 # Number of IO vps
> PHYSBUFF 64 # Physical log buffer size (Kbytes)
> LOGBUFF 64 # Logical log buffer size (Kbytes)> LOGSMAX 100 # Maximum number of logical log files
> CLEANERS 32 # Number of buffer cleaner processes
> SHMBASE 0xa000000 # 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 300 # Check point interval (in sec)
> LRUS 32 # Number of LRU queues
> LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
> LRU_MIN_DIRTY 5 # 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 32 #Stacksize (Kbs)>
> # 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
> # DRAUTO: 0 manual, 1 retain type, 2 reverse type
> DRAUTO 0 # DR automatic switchover
> DRINTERVAL 30 # DR max time between DR buffer flushes (in
> sec)
> DRTIMEOUT 30 # DR network timeout (in sec)> DRLOSTFOUND /home/informix/etc/dr.lostfound # DR lost+found file path
>
> # CDR Variables
> C
Art, You told me I should increase my AIO VP's. What is a good # to start at? The Informix book shows max (2* number_of_chunks),6) and I have no clue what that 6 means.... Thanks Robin ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com
rboscia wrote: > Art, > You told me I should increase my AIO VP's. What is a good # > to start at? > The Informix book shows max (2* number_of_chunks),6) > Greater of 6 and the result of the calculation, but 2* chunks is a bit much in 7.3x, 7.14 needed that many, 7.2x about 1.5 * chunks, and 7.3 needs only: 1*chunks + a few But that would be for a server NOT using KAIO. I still do not understand why you are seeing so much AIO VP activity since your chunks SEEM to be RAW devices. Are you SURE the device files are all CHARACTER devices and not BLOCK devices ('c' in first col of ls -l not 'b')? Anyway, you currently have 11 AIO VPs which would normally be twice what you should need for KAIO and you have 39 chunks showing so the formula for a non-KAIO server would require about 40-45 AIO VPs. For you I'd guess you need no more than 20. Maybe SOME of the chunk device files were accidentally linked to block (COOKED) devices. Art S. Kagel > and I have no clue what that 6 means.... > Thanks > Robin > > ----------------------------------------------------------- > > Got questions? Get answers over the phone at Keen.com. > Up to 100 minutes free! > http://www.keen.com
On Tue, 25 Jul 2000 17:26:58 +0100, "Art S. Kagel" <blp@bloomberg.net>
wrote:
>
>
>Boscia wrote:
>
>> OK, thanks for all the good information. When the time comes I will be
>> armed to discuss Informix vs. Oracle
>>
>> In the meantime, here are the onstat commands that one of you asked for ( I
>> am having trouble with slow writes into a temp table. my developer is
>> selecting from his table (118 million rows) and selects seem okay, but he
>> claims his writes are slow (sometimes he writes to a filesystem and
>> sometimes he writes to one of the tempspaces - he does specify which
>> tempspace he wants.)
>> Our tempspace dbspaces are on 3 different disks but are on with other
>> chunks.
>> Our busy table is on 3 disks and take up all the space on those three disks.
>> We have a total of 6 disks (18 gig each).
>>
>> I did get help from this group before on this same machine, & made changes
>> to my LRUs and then still had more problems (slowness), so called Informix
>> and they had me make some changes to the LRU's and the BUFFERS also....
>>
>> Be gentle and please explain. I am a newbie with virtually no experience.
>> I am learning from reading (which doesn't always explain fully) and from
>> Informix CBT's.
>>
>> Anyhow, here goes
>>
>> Thanks again in advance for your help....
>>
>> Robin
>>
>> onstat -
>> Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 13 days
>> 06:48:25 -- 901120 Kbytes
>>
>> onstat -c
<snip>>>
>> onstat -m
>> Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 13 days
>> 06:49:53 -- 901120 Kbytes>>
>> Message Log File: /home/informix/online.log
>> 22:02:27 Checkpoint Completed: duration was 10 seconds.
>> 22:02:53 Checkpoint Completed: duration was 11 seconds.
>> 22:03:18 Checkpoint Completed: duration was 11 seconds.
>> 22:03:43 Checkpoint Completed: duration was 11 seconds.
>> 22:04:09 Checkpoint Completed: duration was 10 seconds.
>> 22:04:32 Checkpoint Completed: duration was 10 seconds.
>> 22:04:55 Checkpoint Completed: duration was 10 seconds.>
>You have some longish checkpoints. Try reducing LRU_MAX/MIN_DIRTY from
>10/5 to 5/1 or even 2/0.
Except they are in at night. Our system has some very long ones at
night when the overnight batch jobs are running, but during the day
when the users are on the system there is generally not a problem.
Does the original poster have a problem at 22:00 hours?
<snip>