Informix 12.10 Sysmaster
Temas abordados
Informix 12.10 Sysmaster
Temas abordados
Descripción breve
CONTENIDO
IFMX:Sysmaster........................................................................................................................................................................... 4
Contenido................................................................................................................................................................................ 4
1 Bases de datos de sistema............................................................................................................................................................. 6
2 QUÉ ES SYSMASTER..........................................................................................................................................................6
2.1 Cuanto tiempo hace que un usuario se ha conectado........................................................................................................6
2.2 Cuanto tiempo está un usuario inactivo..............................................................................................................................7
2.3 Determinar el level isolation de mi sesión..........................................................................................................................7
2.4 Como vincular una sesión a una transacción.......................................................................................................................8
2.5 Cómo encontrar las tablas más activas...............................................................................................................................8
2.6 Cuanto tiempo hace que el motor se está ejecutando........................................................................................................9
2.7 Cómo encontrar la sentencia SQL actual.............................................................................................................................9
2.8 Dónde están los logs........................................................................................................................................................... 9
2.9 Cual es la versión actual del motor.....................................................................................................................................9
2.10 Cómo listar los usuarios..................................................................................................................................................10
2.11 Estadísticas de uso de CPU para cada sesión..................................................................................................................10
2.12 Estadísticas de IO de disco para cada sesión...................................................................................................................10
2.13 Cómo convertir un PID en un ID de sesión......................................................................................................................11
2.14 Cómo encontrar los "sequential scans" de una tabla......................................................................................................11
2.15 Cómo listar el estado de "logging" de una base de datos...............................................................................................11
2.16 Cómo listar los bloqueos.................................................................................................................................................12
2.17 Cómo listar los bloqueos de tipo base de datos..............................................................................................................12
2.18 Cómo mostrar el espacio libre de los logs.......................................................................................................................13
2.19 Cual es el tamaño de página por defecto........................................................................................................................14
2.20 Cuantas filas tiene una tabla...........................................................................................................................................14
2.21 Cómo obtener el nombre de usuario..............................................................................................................................14
2.22 Cómo listar todas las bases de datos...............................................................................................................................15
2.23 What is the database to dbspace mapping.....................................................................................................................15
2.24 Cual es el tamaño de página de un blobspace................................................................................................................15
2.25 En qué dbspaces tiene almacenados datos cada tabla....................................................................................................16
2.26 Cual es el tamaño total de los dbspaces..........................................................................................................................16
2.27 Que sentencias utilizan índices poco balanceados..........................................................................................................16
2.28 Estadísticas de IO de disco por tabla...............................................................................................................................17
2.29 Lista de todas las tablas residentes en dbspaces temporales.........................................................................................17
P á g i n a 1 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
P á g i n a 2 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
P á g i n a 3 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
2 QUÉ ES SYSMASTER
Sysmaster es una base de datos del sistema que permite el acceso a la información interna del motor mediante
dbinfo('UTC_TO_DATETIME',connected) conection_time,
from syssessions
order by 2,3
dbinfo('UTC_TO_DATETIME',[Link]) conection_time,
dbinfo('UTC_TO_DATETIME',t.run_time) last_run_time,
ORDER BY 6 DESC
P á g i n a 4 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
SELECT isolevel
0 no transactions
5 repeatable reads
11 Last committed
select tx_id
from systrans
from sysuserthreads
Históricamente, está la tabla systrans no indica si el usuario está realmente en una transacción, por ejemplo
**BEGIN WORK** a no ser que se hayan realizado operaciones dentro de la transacción, ya que los indicadores de
P á g i n a 5 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select [Link],
sysptntab.pf_isread,
sysptntab.pf_iswrite,
sysptntab.pf_isrwrite,
sysptntab.pf_isdelete,
sysptntab.pf_seqscans
from sysshmvals
select sqs_statement
from syssqlstat
where sqs_statement;
select sqx_sessionid,
sqx_conbno,
sqx_sqlstatement
order by 1,2
P á g i n a 6 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select owner
from sysmaster:systables
where tabid = 99
Esta sentencia funciona bien en versiones antiguas. Sin embargo, en versiones modernas a partir de la 10.00 no
reporta la versión real. Por ejemplo, 11.50.FC6 reporta una versión 9.53C1 y la 11.70.FC5 reporta 9.55.C1, etc. sin
embargo, puede usarse DBINFO para obtener la versión real del motor,
DBINFO('version','minor'), DBINFO('version','os'),
DBINFO('version','full')
from sysmaster:systables
where tabid = 99
from syssessions
P á g i n a 7 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select [Link],
isreads,
iswrites,
isrewrites,
isdeletes
select sid
from syssessions
from sysptprof
from sysptprof
P á g i n a 8 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select name,
is_logging,
is_buff_log,
is_ansi,
is_nls
from sysdatabases
0: Not logged
1: Buffered Logging
2: Unbuffered Logging
4: Ansi
8: NLS
select dbsname,
tabname,
rowidlk,
keynum,
type
from syslocks,
syssessions
B Byte lock
P á g i n a 9 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
S Shared lock
U Update lock
X Exclusive lock
q.sqs_statement statement
UNION ALL
ORDER BY 5;
P á g i n a 10 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select number,
uniqid,
size,
used,
(used/size*100)
from syslogs
from systrans
union
select number,
uniqid,
size,
0,
0.00
from syslogs
from systrans
select sh_pagesize
from sysshmvals
P á g i n a 11 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
La columna nrows de la tabla systables en la propia base de datos solamente se actualiza como resultado de la
ejecución de un "update statistics". Sin embargo, en sysmaster se mantiene de forma actualizada el número de
select ti_nrows
from sysmaster:syssessions
select name
from sysdbspaces
from sysdatabases
select [Link],
P á g i n a 12 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
[Link],
[Link]
from sysdbspaces,sysdatabases
from sysdatabases
select prtpage/PAGESIZE
from sysdbstab
where bitval(flags,'0x10') = 1
group by 1
P á g i n a 13 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select sqx_sessionid,
sqx_executions,
round(sqx_bufreads/sqx_executions),
round(sqx_pagereads/sqx_executions),
sqx_estcost,
sqx_estrows,
sqx_index,
sqx_sqlstatement
from syssqexplain
or sqx_executions > 1)
SELECT [Link],
[Link],
[Link] AS idxname,
AND x2.pf_isread = 0
ORDER BY 4 DESC
P á g i n a 14 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
A partir de 11.50, o en bases de datos con índices desacoplados de las tablas, esta información también está
disponible a través de las estadísticas de IO de tablas, pero usando el nombre del índice como filtro de nombre de
tabla.
select dbname,
tabname,
sum(pagreads),
sum(pagwrites)
from sysptprof
select dbsname,tabname
order by 1
A diferencia de oncheck, la ejecución de esta sentencia no necesita ningún bloqueo, por lo tanto los resultados
select dbsname,
tabname,
ti_nextns,
ti_nptotal,
ti_npused,
ti_npdata,
P á g i n a 15 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
ti_nrows,
ti_rowsize
from sysextents
group by 1
dbsname[1,10] Database,
tabname[1,15] Table,
sum(pe_size) tot_space,
count(*) no_of_exts
group by 1,2,3
select *
from sysconfig
P á g i n a 16 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
Esto es simplemente una vista de syslogfil, pero con el campo de indicadores interpretado. La misma información
[Link],name
and trunc((hex(physloc)/1048576))=chknum
select vpid,
txt,
usecs_user,
usecs_sys,
P á g i n a 17 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
num_ready
where [Link] != 6
group by 1
SELECT
[Link],
nchunks,
format_units(sum([Link]*[Link])) total,
format_units(sum([Link]*[Link]) -
sum([Link]*[Link])) used,
FROM sysdbspaces
,syschunks
WHERE
[Link] = [Link]
AND
sysdbspaces.is_sbspace = 0
GROUP BY 1,2
P á g i n a 18 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
UNION
SELECT
[Link],
nchunks,
format_units(sum([Link]*[Link])) total,
format_units(sum([Link]*[Link]) -
sum([Link]*[Link])) used,
FROM sysdbspaces
,syschunks
WHERE
[Link] = [Link]
AND
sysdbspaces.is_sbspace = 1
GROUP BY 1,2
select name,
is_mirrored,
is_blobspace,
is_temp,
chknum,
fname,
offset,
is_offline,
is_recovering,
is_blobchunk,
is_inconsistent,
chksize,
nfree,
mfname,
P á g i n a 19 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
moffset,
mis_offline,
mis_recovering
order by 1, 5
select name,
[Link],
[Link],
[Link],
[Link]
order by 1,2
select name,
chknum,
"Primary",
reads,
writes,
pagesread,
pageswritten
union all
select name,
chknum,
P á g i n a 20 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
"Mirror",
reads,
writes,
pagesread,
pageswritten
order by 1,2
select name,
chktype,
"Primary" chktype,
reads,
writes,
pagesread,
pageswritten
union all
select name,
chktype,
"Mirror" chktype,
reads,
writes,
pagesread,
pageswritten
sum(writes) t_writes,
sum(pagesread) t_pagesread,
P á g i n a 21 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
sum(pageswritten) t_pageswritten
from t_io
select name,
chknum,
chktype,
reads,
writes,
pagesread,
pageswritten,
round((reads/t_reads)*100,2) p_reads,
round((writes/t_writes)*100,2) p_writes,
round((pagesread/t_pagesread)*100,2) p_pagesread,
round((pageswritten/t_pageswritten)*100,2) p_pageswritten
select DBINFO("DBSPACE",partnum),
dbsname,
tabname,
pe_phys,
pe_size
order by 1
select dbsname,
tabname,
isreads,
P á g i n a 22 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
bufreads,
pagreads,
iswrites,
bufwrites,
pagwrites,
lockreqs,
lockwts,
deadlks
from sysptprof
order by 3
Si las columnas muestran valores 0, deberá activar el parámetro TBLSPACE_STATS en el fichero **ONCONFIG**
select dbsname,
tabname,
count(*) num_of_extents,
group by 1, 2
pagreads+pagwrites pagtots
P á g i n a 23 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
and (pagreads+pagwrites) != 0
order by 5 desc
order by 1
group by 1,2,3,4
order by tabname,colname;
Está sentencia devuelve la fecha en que se ejecutó por última vez la reinicialización de las estadísticas mediante
onstat -z:
P á g i n a 24 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
order by 1
DBINFO('dbspace', partn)
DBINFO('sqlca.sqlerrd1')
DBINFO('sqlca.sqlerrd2')
DBINFO('utc_to_datetime', <column>)
DBINFO('utc_current')
DBINFO('get_tz')
DBINFO('serial8')
DBINFO('sessionid')
DBINFO('dbhostname')
DBINFO('version','server-type')
DBINFO('version','major')
DBINFO('version','minor')
DBINFO('version','os')
DBINFO('version','full')
from sysplog
P á g i n a 25 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
select sqc_currdb
from syssqlcurall
sysmaster:[Link],
app_db:[Link]
union
sysmaster:[Link],
app_db:[Link]
order by 1, 2, 3
P á g i n a 26 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
ORDER BY 1, 2
select sh_mode
from sysmaster:sysshmvals;
IDS 7,9,10,11
0 Initialisation
1 Quiescent
2 Recovery
3 Backup
4 Shutdown
5 Online
6 Abort
1 Primary server
P á g i n a 27 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
3 SD secondary server
4 RS secondary server
union
and [Link] != 0
union
order by 1
and [Link] = 0
P á g i n a 28 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
from sysmaster:sysrstcb
La tabla sysfeatures contiene estadísticas por semanas de la versión de IDS instalada, la memoria y procesadores
virtuales asignados y las conexiones activas. Esta tabla es de solo lectura, y la única forma de inicializarla es
La vista syslicenseinfo, es una vista que obtiene la mayoria de datos de la tabla sysfeatures
El siguiente SELECT devuelve el número máximo de sesiones concurrentes por semana del año.
47 2015 192
46 2015 276
45 2015 294
44 2015 266
43 2015 242
42 2015 252
P á g i n a 29 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
41 2015 223
40 2015 223
...
SELECT
FROM syslicenseinfo
UNION ALL
SELECT
FROM syslicenseinfo
UNION ALL
SELECT
P á g i n a 30 | 32
Revisión
Recopilatorio de querys de Informix y útiles versiones 10 a 12
2019
FROM syslicenseinfo
ORDER BY 1
SELECT FIRST 3
max_conns,max_cpu_vps,max_vps,
FROM syslicenseinfo
ORDER BY 1 DESC
3 QUÉ ES SYSADMIN
Sysadmin es una base de datos generada por el propio motor Informix, para gestionar la herramienta de
programación de tareas que permite ejecutar a la base de datos funciones y procedimientos a horas predefinidas o
según determine el propio servidor. El programador permite definir y ejecutar tareas, y la base de datos sysadmin
contiene las seis tablas que almacenan la información necesaria para que funcione.
Debido a que algunos componentes muy importantes de la base de datos utilizan el programador de tareas para
ejecutar operaciones administrativas, nunca debe borrar o alterar esta base de datos.
4 QUÉ ES SYSUSERS
P á g i n a 31 | 32