JOS ARRARTE
Bl o g de n ot as
Introduccin
La idea de este post es listar algunos comandos tiles para el servidor de base de datos Informix, con el que algunos
tenemos que sufrir trabajar da a da. Muchos de ellos se pueden ejecutar desde ambientes grficos, pero generalmente no
disponemos de dichos ambientes en servidores de testing o produccin.
Intenter ir actualizando la lista a medida que me vaya encontrando con otros comandos que considere que valgan la pena.
Los comandos
Bajar el motor
Desde la lnea de comandos, ejecutar:
onmodeky
Ejecutar
onmodesy
para dejar no permitir nuevas conexiones, pero permitir que las conexiones que ya estaban abiertas se cierren de forma
normal. luego de cerrar todas las conexiones, el servidor queda en quiescent mode, algo
as como inactivo, pero no apagado.
onmodel
Luego forzamos un checkpoint, de forma de estar seguros de escribir todos los buffers a disco:
onmodec
onmodeky
Subir el motor
Para subir el motor de Informix, ejecutamos sin parmetros el comando:
oninit
En Linux/UNIX, debemos estar logueados como root o como informix para poder ejecutar oninit. En Windows, se debe
ejecutar siendo miembro del grupo InformixAdmin.
finderrnumero#
infordb:~#finderr167
167ISAMerror:StoragespacesizeisnotmultipleofPAGESIZE.
Thedatabaseserveradministratorseesthiserror.Whenyoudefinea
storagespace,youmustspecifyapagesizethatisanintegralmultipleof
thesystempagesize.ThesystempagesizeissetintheParameters
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 1/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
thesystempagesize.ThesystempagesizeissetintheParameters
screenwhenthedatabaseserverisfirstinitialized.
En estos casos, podemos pasar la base de datos a transactional unbuffered ejecutando el siguiente comando en una
terminal:
ontapesL0U[database]
ontapesL0B[database]
Si por el contrario, queremos pasar una base de modo transaccional a no transaccional, ejecutamos:
ontapesL0N[database]
Por informacin acerca de la diferencia los logging modes transactional unbuffered y transactional buffered, ver este otro post
del blog.
dbexport[database]
Esto generar un directorio [database].exp con los datos de cada tabla, y desplegar por salida estandar pantalla,
al menos que se rediriga a un archivo un script con la creacin de los objetos de la base.
dbimport[database][idirectory][ddbspace][l[buffered]]
En donde:
d dbspace: especifica el nombre del dbspace en donde la base ser creada. Por defecto, ser rootdbs.
l buffered: Establece que la base importada funcionar en modo buffered transaction logging
onstatd
infordb:~#onstatd
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 2/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
IBMInformixDynamicServerVersion10.00.FC7OnLineUp1days13:15:3938720Kbytes
Dbspaces
addressnumberflagsfchunknchunkspgsizeflagsownername
450c8e7810x60001112048NBInformixrootdbs
4525345020x60001212048N
BInformixdatadbs
2active,2047maximum
Chunks
addresschunk/dbsoffsetsizefreebpagesflagspathname
450c902811025000058385POB/opt/IBM/Informix/CHUNKS/rootdb
45269db82201048576516245POB/opt/IBM/Informix/CHUNKS/datadb
2active,32766maximum
NOTE:Thevaluesinthe"size"and"free"columnsforDBspacechunksare
displayedintermsof"pgsize"oftheDBspacetowhichtheybelong.
Expandedchunkcapacitymode:always
El tamao y el espacio libre de cada chunk columnas size y free estn expresadas en pginas. El tamao de cada pgina
est expresada en bytes en la columna pgsize, por lo que el tamao de cada chunk est determinado por size x pgsize. Cada
chunk est asociado a un dbspace, y esta asociacin se detalla en la columna chunk/dbs (el primer nmero es el id del chunk,
el segundo es el id del dbspace).
Este reporte tambin muestra informacin de replicacin, rutas en dispositivos fsicos, etc. Por una descripcin completa, ver la
pgina de onstat d en la Administrators Reference de Informix.
<em>updatestatistics
</em>
Para actualizar adems las estadsticas de distribucin de cada tabla (es ms lento):
<em>updatestatisticshigh
</em>
<em>UPDATESTATISTICS[HIGH]FORTABLE[tabla]
</em>
<em>SELECTtabname,locklevelFROMsystablesWHEREtabid>99
</em>
La columna tabname contiene el nombre de la tabla, la columna locklevel contiene P si el lock mode es por pgina, o R si es
por tupla.
Para crear una tabla con un lock mode determinado lo especificamos al ejecutar el comando CREATE TABLE:
<em>CREATETABLEcustomer(customer_numserial,lnamechar(20)...)
LOCKMODEROW|PAGE|TABLE;
</em>
Para cambiar el lock mode de una tabla utilizamos el comando ALTER TABLE:
<em>ALTERTABLE[tabla]MODIFY
LOCKMODE(PAGE|ROW|TABLE)
</em>
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 3/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
Referencias
Damin, de mi trabajo (gracias!)
Informix Unleashed
Posts relacionados:
Marco says:
5 agosto, 2010 at 1:15 AM
Responder
jarrarte says:
5 agosto, 2010 at 11:24 PM
Responder
Vilma says:
19 agosto, 2010 at 5:20 PM
Gracias por compartir tus conocimientos con quienes debemos trabajar con Informix, si puedes indicarme por qu falla
el comando dbexport; es decir el respaldo se hace incompleto, qu hacer en estos casos y qu herramientas utilizar para
verificar el estado de la base de datos. Gracias
Responder
jarrarte says:
23 agosto, 2010 at 4:02 PM
Hola, gracias por tu comentario. Con los datos que me das del error no hay mucho que te pueda comentar; te
retorna algn mensaje de error o aviso? Quiz una bsqueda de ese mensaje en Google te pueda ayudar.
Responder
HTM
Responder
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 4/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
Ren G says:
3 noviembre, 2010 at 12:28 PM
Responder
Ignacio says:
16 diciembre, 2010 at 5:35 PM
Hola, tengo problemas al importar una base de datos, no es la primera vez que me pasa.
cuando la creo comienza a importarla y antes de terminar queda como esperando (esto en la consola). Y luego, que
seria el 2do inconveniente que tengo, es que cuando quiero importarla de nuevo ya esta creada, como se hace para
importar con la base ya creada?
gracias por tu ayuda
Responder
Es posible que el respaldo sea grande, y ese tiempo que queda como esperando, el motor de base de datos est
trabajando importando la base? Si lo dejas mucho tiempo termina? El disco duro est trabajando? Y el CPU?
(esto se puede ver con un top en otra consola)
Saludos y suerte!
Responder
Buenas Tardes. Una consulta el dia de hoy voy a bajar a texto toda mi BD utilizando en comando dbexport ss, luego la
voy a volver a subir para que se cree nuevamente las tablas, indices, etc.
La pregunta es: Cuando subo la data corro el riesgo de que se trabe en alguna parte?, ya me sucedio antes y lo tuve
que solucionar poniendo la BD en otro modo, creo que fue unbuferred, no lo recuerdo bien y luego de cargar toda la
data tuve que volver al modo incial como estaba la BD. Actualmente mi BD la veo con el flag B.
Muchas Gracias.
Responder
A decir verdad no lo se, este post intenta ser una recopilacin de comandos para alguien que no es DBA de
Informix (en realidad, para mi )
Responder
carlos says:
15 abril, 2011 at 3:15 PM
gracias por el aporte sirve muchisimo y podrias poner otros comandos del informix tab
Responder
paul says:
1 julio, 2011 at 6:00 PM
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 5/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
un favor no sabras donde hay referencias de como sacar informacion hacerca de la base de datos que corre en informix
y para realizar consultaa las misma
Responder
Grandez says:
22 julio, 2011 at 4:30 AM
Al guien de Uds me puede ayudar con que comando puedo 1ero ver el espacio de buffer de memoria utilizado y 2do
como liberarlo. porque he tenido casos que que se llena el buffer de memoria de la BD y termina por caerser la base de
datos.
Responder
Emiliano says:
16 septiembre, 2011 at 8:03 AM
Gracias por la informacion, queria saber si sabes como realizar consultas a una BD sin entrar a dbaccess, osea tirar
consultas desde la consola, es que debo corroborar el funcionamiento de las auditorias.
Responder
Super says:
16 septiembre, 2011 at 6:13 PM
Requiero de su ayuda, por accidente elimine algunos archivos d la carpeta c:\informix\ el programa que utliza el
informix funciona bien, pero no puedo hacer respaldo con dbexport ss, aparece el error 25596 The
INFORMIXSERVER value is not listed in the sqlhosts file or the registry. Como puedo respaldar la base de datos y poder
instalar desde cero.
Responder
Gaticaz says:
9 marzo, 2012 at 5:36 PM
Responder
Sandra says:
12 marzo, 2012 at 7:02 PM
Hola..gracias por la informacin que brindas, me puedes decir como verifico el estado del servicio de bd ? y que cliente
windows puedo usar para conectarme a el servidor linux donde tengo informix??
Responder
Sobre el estado del servicio, depender en qu sistema operativo est funcionando el motor. Si ya ests
conectada al motor y quieres conocer el estado de los dbspaces puedes utilizar onstat d h.
Responder
Sandra says:
14 marzo, 2012 at 1:58 PM
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 6/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
Hola Jos, ya me est corriendo bien el informix y me he conectado desde PHP. Descargu el Aqua
Studio, pero no s que configuracin le tengo que hacer a mi equipo para que este funcione. Le debo
configurar el ODBC?? tengo windows xp y estoy configurandole el IBM ODBC DRIVER pero me sale un
error en la conexin que dice Test connection was NOT sucessful.[informix][Informix ODBC Driver]
[Informix]Cannot locate Infdrv1 service/tcp service in /etc/services.
Responder
Hola Sandra, estoy buscando ayuda para conectarme con PHP de windows a Linux Informix,
y vi que tu lo lograste, me puedes ayudar?, tengo la conexion de ODBC con IBM INFORMIX
CLIENTE pero no puedo conectarme desde el PHP
Responder
Hola, es posible sacar un respaldo de la base de datos en caliente, sin desconectar a los usuarios?
Responder
Hola Guido, cmo ests? No estaba muy seguro acerca de la respuesta, por lo que recurr a Internet como
ayuda. Encontr este link que creo que te puede servir: http://www.dbforums.com/informix/1642400hot
backupusingonbar.html#post6399087
Mucha suerte!
Saludos,
Jos
Responder
misaeljuvenal says:
17 abril, 2012 at 10:01 AM
buen post.;) me ha servido de mucho. soy nuevo en informix me gustara saber como cambiar la contrasea y usuario.
ver el listado de los programas fuentes.
saludos
Responder
Hola misaeljuvenal, gracias por tu comentario. El usuario de Informix es un usuario del sistema operativo
(usuario Linux), por lo que cambiar el password con passwd debera hacer lo que necesitas.
Saludos!
Responder
Hola, Muchas gracias, muy bueno el aporte. Un comentario tambin para contestarle a Guido Pineda, y que si buscan
ms informacin puede ayudar a otros. En mi empresa trabajamos con informix, y nosotros hacemos el respaldo de la
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 7/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
base en caliente con ontape s l 0 y para restaurarla con ontape r ( en este caso s debemos bajar el servicio
informix, obviamente). Saludos.
Responder
Rafael says:
28 mayo, 2012 at 1:46 PM
Gracias por el blog, me ha ayudado a entender un poco ms de que va esto del Informix.
Responder
Nicols says:
28 mayo, 2012 at 4:58 PM
Responder
jarrarte says:
4 julio, 2012 at 3:26 PM
Responder
VictorG says:
28 agosto, 2012 at 12:25 AM
Victor Gomez
Responder
jarrarte says:
31 agosto, 2012 at 12:26 PM
Un saludo cordial,
Jos
Responder
toni says:
24 agosto, 2015 at 5:02 AM
Buenos dias, Tengo una BD en Informix y al parecer se han llenado los logs, y se me queda en quiesecent
mode, como puedo reinciar la BD para que vuelva a funcionar gracias por la ayuda
Responder
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 8/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
Buenas noches a todos
Responder
No puedo respaldar informix me marca el siguiente mensaje,alguien me puede apoya por favor
Please mount tape 1 on /dev/rmt/0m and press return to continue
Archive failed Dbspace dbms2 is disabled.
Responder
jarrarte says:
30 octubre, 2012 at 2:13 PM
Saludos y suerte!
Responder
Jos, buscando solucionar un tema de informix me encontre con el blog muy completo
Gracias
Abrazo
Diego
Responder
jarrarte says:
20 noviembre, 2012 at 11:42 AM
Responder
Jugo says:
11 noviembre, 2014 at 5:34 PM
Buen aporte
Responder
Andres says:
1 enero, 2015 at 7:08 PM
esta muy buena la ayuda sera q puedes subir mas respecto a informix y sfi por seria mucha ayuda en especial las
consultas de tablas
Responder
olga says:
20 abril, 2015 at 7:03 PM
Hola.
un favor como se consulta el regsitro de una tabla sin bloquear. por ejemplo, en sql utilizas select * from nombre de
tabla (nolock) where ..
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 9/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
Responder
Dario says:
30 abril, 2015 at 4:03 PM
Buenas tardes.
Gracias!
Dario.
Responder
jarrarte says:
22 mayo, 2015 at 12:43 PM
Responder
Gracias, todo esto es muy bueno, pero quiero ayuda para conectarme a informix desde el PHP por favor y de antemano
gracias a todos
Responder
wilson says:
15 junio, 2015 at 2:31 PM
Hola necesito ayuda con informix, antes me aprecian 3 dbspaces y ahora solo aparece uno.gracias
Responder
Hola,
En Informix me emite este error,
finderr 346
346 Could not update a row in the table.
While the database server was processing an UPDATE, it received an
unexpected error. Check the accompanying ISAM error code for more
detailed information on the cause. Possible causes include hardware
errors and locking conflicts.
hay veces que puedo actualizar los registros y otras no, puede ser un Begin mal inicializado o es bloqueo de la tabla??
Saludos.
Responder
jarrarte says:
11 agosto, 2015 at 6:14 PM
Salvo que sea un error de hardware, tiendo a pensar que la tabla o la fila que ests actualizando est
bloqueada por otra transaccin que transcurre en el mismo momento.
Responder
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 10/11
4/2/2016 ListadodecomandosdeadministracindeInformixJosArrarte
toni says:
24 agosto, 2015 at 5:00 AM
Buenos dias, Tengo una BD en Informix y al parecer se han llenado los logs, y se me queda en quiesecent mode, como
puedo reinciar la BD para que vuelva a funcionar gracias por la ayuda
Responder
Carlos says:
16 septiembre, 2015 at 7:10 PM
Una pregunta:
Como puedo realizar el dbexport automaticamente, como saco un backup automaticamente
Responder
http://josearrarte.com/blog/2009/10/07/listadodecomandosdeadministraciondeinformix/ 11/11