Thursday, March 10, 2016

Monday, March 7, 2016

memory usage per session

sysscblst
- sid
- username
- hostname
- memtotal
- memused

Wednesday, July 27, 2011

Installer issues v11.5

I've seen error during an installation of informix v11.5 specially during the phase Branding Installed Files: "java.text.ParseException: Unparseable date"

if you see that, try to install it with the following options:

./installserver -javahome none –console

./ids_install -javahome -console

Also I've seen the following error during an 11.5.FC8W2 installation on solaris 10 in a local zone:
Creating uninstaller...
id: illegal option -- u
Usage: id [-ap] [user]
/opt/informix/kk/gskit/installgskit: test: argument expected

apparently the script is using a wrong "id" command and IBM considers it as a cosmetic error

Thursday, January 20, 2011

Spot mutex locks

#!/bin/ksh
#set -x
## param 1: min number of times a waiter has to appear on the list to be considered as a mutex lock
## param 2: consecutive number of times to sample "output onstat -g lmx"
## param 3: wait time between samplings
## it only shows the session holding a mutex in a partition
## recomendation: waiters.sh 2 5 5


_npollings=1
_samplings=$2
_interval=$3

while true
do
while [ _npollings -lt $_samplings ]
do
onstat -g lmx
((_npollings+=1))
done | awk -v max_waiters=$1 '
BEGIN { _alertit = 0 }
/^[0-9]/ {
if ($3 in holdinglock)
holdinglock[$3]++;
else
holdinglock[$3]=1;

}

/^[ \t]+/ {
if ( $1 in waiters)
waiters[$1]++;
else
waiters[$1]=1;
}
END {
for (_waiter in waiters)
{
if (waiters[_waiter] >= max_waiters)
_alertit=1;
}
if (_alertit == 1)
for (_holder in holdinglock) {
if ( substr(_holder,1,3) == "pt_" )
printf "%s\n",substr(_holder,4);
}
}
' | while read _holder
do
date
echo "SELECT FIRST 1 t.dbsname, t.tabname FROM systabnames t where lower(hex(t.partnum)) like \"%"$_holder"%\";" | dbaccess sysmaster
done| tee -a new_mutex_counts.out
sleep $_interval
done

Monday, December 20, 2010

Sessions doing sorts to disk

select username,
syssesprof.sid,
total_sorts,
dsksorts,
max_sortdiskspace
from syssesprof, syssessions
where syssesprof.sid = syssessions.sid
order by max_sortdiskspace desc

You can use a SQL statement to obtain information regarding each of the temporary tables that are currently created




    SELECT t.tabname ,t.dbsname,t.owner,
    DECODE(d.is_logging,1,"Y","N") AS db_with_log,
    s.name AS dbspace,
    DBINFO("UTC_TO_DATETIME",ti_created) AS created,
    DECODE(hex(mod(ti_flags,256)/16),6,"Y","N") AS
    table_using_log,ti_npused AS num_usedpages,
    ti_nptotal AS num_pages
    FROM sysmaster:systabnames t, sysmaster:systabinfo i,
    sysmaster:sysdbspaces s, sysmaster:sysdatabases d
    WHERE t.partnum=ti_partnum AND
    d.name=t.dbsname AND
    s.dbsnum=TRUNC(t.partnum/1048576) AND
    hex(mod(ti_flags,256)/16) IN ( 6,2 )

Wednesday, November 3, 2010

BTREE Cleaner, something to start with

onstat -C
onstat -C hot
onstat -C clean

onmode -C start X
onmode -C stop
onmode -C rangesize 100

If you are version 10.00.xC8 or higher I would suggest turning on ALICE=

scanning to value 6 or higher.

onmode -C alice 6

This will greatly increase the performance of the index cleaning.


Just to add that ALICE will only work if the indexes are detached which they
should if they were created under v10, but if you migrated in place, this
may not be the case...