Você está na página 1de 10

16/10/2017 Listado de comandos de administración de Informix - José Arrarte

J A
B l o g de n o t a s

Listado de comandos de administración de Informix


  Por jarrarte | 7 octubre, 2009 | base de datos

Introducción
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 día a día. Muchos de ellos se pueden ejecutar desde ambientes gráficos, pero generalmente no
disponemos de dichos ambientes en servidores de testing o producción.

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 línea de comandos, ejecutar:

onmode -ky

Podemos hacerlo de forma más “delicada”, siguiendo los siguientes pasos:

Ejecutar

onmode -sy

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.

El siguiente paso es movernos al siguiente log lógico, ejecutando:

onmode -l

Luego forzamos un checkpoint, de forma de estar seguros de escribir todos los buffers a disco:

onmode -c

Finalmente, ejecutamos el comando para dejar el servidor de Informix offline:

onmode -ky

Subir el motor
Para subir el motor de Informix, ejecutamos sin parámetros 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 Informix-Admin.

Ver la descripción de un error


Dado un código de error, podemos obtener una descripción y posibles acciones correctivas ejecutando:

finderr numero#

El resultado es similar al siguiente (cambiando para cada error, claro está):

infordb:~ # finderr 167


-167 ISAM error: Storage-space size is not multiple of PAGESIZE.

The database server administrator sees this error. When you define a
storage space, you must specify a page size that is an integral multiple of
the system page size. The system page size is set in the Parameters
screen when the database server is first initialized.

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 1/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte

Pasar una base de transaccional a no transaccional y


viceversa
Al restaurar un respaldo de una base de datos, si no decimos explícitamente, la base restaurada no soportará transacciones,
sino que quedará en modo no transaccional. Al intentar utilizarla desde nuestras aplicaciones, las sentencias de BEGIN
WORK, COMMIT, ROLLBACK, etc. fallarán por estar trabajando la base en este modo.

En estos casos, podemos pasar la base de datos a transactional unbuffered ejecutando el siguiente comando en una
terminal:

ontape -s -L 0 -U [database]

nO el siguiente, para pasarla a transactional buffered:

ontape -s -L 0 -B [database]

Si por el contrario, queremos pasar una base de modo transaccional a no transaccional, ejecutamos:

ontape -s -L 0 -N [database]

Por información acerca de la diferencia los logging modes transactional unbuffered y transactional buffered, ver este otro post
del blog.

Exportar una base de datos


El comando dbexport descarga todos los datos de cada tabla de una base de datos y genera un esquema de la base de
datos. Para exportar una base de dato a archivos, debemos ejecutar el siguiente comando en una terminal:

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 creación de los objetos de la base.

Importar una base de datos


Para importar una base de datos podemos ejecutar el comando dbimport. dbimport lee el archivo de esquema generado por
el comando dbexport y crea una base de datos cargando los datos de los archivos. Se puede especificar un dbspace
determinado, y el logging mode de la base importada:

dbimport [database] [-i directory] [-d dbspace] [-l [buffered]]

En donde:

en [database].exp están ubicados los archivos de datos a importar

-d dbspace: especifica el nombre del dbspace en donde la base será creada. Por defecto, será rootdbs.

-l: Establece que la base importada funcionará en modo unbuffered transaction logging

-l buffered: Establece que la base importada funcionará en modo buffered transaction logging

El parámetro [database] es la ubicación


en de los archivos a importar; el comando buscará un directorio llamado [database].exp para leer los datos de las tablas. Si
se especifica, se buscará ese directorio dentro de [directory]. Se asume que existirá un archivo [database].exp/[database].sql
conteniendo la estructura de la base de datos (tablas, índices, contraints, etc.).

Mostrar información de uso de espacio físico


Ejecutando el siguiente comando desde una terminal, obtenemos un reporte de los diferentes dbspaces y el espacio utilizado
en cada uno:

onstat -d

La salida es similar a la siguiente:

infordb:~ # onstat -d

IBM Informix Dynamic Server Version 10.00.FC7 -- On-Line -- Up 1 days 1

Dbspaces
address number flags fchunk nchunks pgsize flags ow
450c8e78 1 0x60001 1 1 2048 N B In
45253450 2 0x60001 2 1 2048 N
B Informix datadbs
2 active, 2047 maximum

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 2/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte
Chunks
address chunk/dbs offset size free bpages
450c9028 1 1 0 250000 58385
45269db8 2 2 0 1048576 516245
2 active, 32766 maximum

NOTE: The values in the "size" and "free" columns for DBspace chunks are
displayed in terms of "pgsize" of the DBspace to which they belong.

Expanded chunk capacity mode: always

El tamaño y el espacio libre de cada chunk (columnas size y free) están expresadas en páginas. El tamaño de cada página
está expresada en bytes en la columna pgsize, por lo que el tamaño de cada chunk está determinado por size x pgsize. Cada
chunk está asociado a un dbspace, y esta asociación se detalla en la columna chunk/dbs (el primer número es el id del chunk,
el segundo es el id del dbspace).

Este reporte también muestra información de replicación, rutas en dispositivos físicos, etc. Por una descripción completa, ver la
página de onstat -d en la Administrator’s Reference de Informix.

Actualizar las estadísticas


Desde dbaccess u otro cliente de Informix, podemos ejecutar los siguientes comandos para actualizar las estadísticas de la base
de datos:

Actualizar estadísticas de todas las tablas la base de datos:

<em>update statistics
</em>

Para actualizar además las estadísticas de distribución de cada tabla (es más lento):

<em>update statistics high


</em>

Para actualizar las estadísticas para una tabla:

<em>UPDATE STATISTICS [HIGH] FOR TABLE [tabla]


</em>

Lock mode de las tablas


En este post escribí acerca de los lock modes de Informix. Para obtener la información acerca del tipo de bloqueo que tienen las
tablas de una base podemos ejecutar la sigiuente consulta:

<em>SELECT tabname,locklevel FROM systables WHERE tabid&gt;99


</em>

La columna tabname contiene el nombre de la tabla, la columna locklevel contiene ‘P’ si el lock mode es por página, o ‘R’ si es
por tupla.

Para crear una tabla con un lock mode determinado lo especificamos al ejecutar el comando CREATE TABLE:

<em>CREATE TABLE customer(customer_num serial, lname char(20)...)


LOCK MODE ROW|PAGE|TABLE;
</em>

Para cambiar el lock mode de una tabla utilizamos el comando ALTER TABLE:

<em>ALTER TABLE [tabla] MODIFY


LOCK MODE (PAGE|ROW|TABLE)
</em>

Referencias
Damián, de mi trabajo (¡gracias!)

IBM Informix Dynamic Server Administrator’s Reference

Informix Unleashed

Posts relacionados:

1. Diferencias entre transactional unbuffered y transactional buffered en Informix

2. Lock modes de tablas de Informix

3. UnxUtils: ejecutar comandos Linux/UNIX en Windows

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 3/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte

Etiquetado DB. Bookmark the permalink.

49 respuestas a Listado de comandos de administración de Informix

Marco says:
5 agosto, 2010 at 1:15 AM

Buena la información, me ha servido.

Responder

jarrarte says:
5 agosto, 2010 at 11:24 PM

Me alegro mucho, gracias por tu comentario

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 algún mensaje de error o aviso? Quizá una búsqueda de ese mensaje en Google te pueda ayudar.

Suerte y gracias por visitar el blog.


Saludos,
José

Responder

Henry Torres Moreno says:


19 octubre, 2010 at 5:16 PM

Buen trabajo, me ha sacado de varias dudas.


Gracias

HTM

Responder

René G says:
3 noviembre, 2010 at 12:28 PM

Excelente información, me ayudo mucho , gracias n_n

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

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 4/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte

José Arrarte says:


28 diciembre, 2010 at 11:37 PM

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

Jose Lujan says:


13 enero, 2011 at 6:35 PM

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.

Alguien me puede ayudar.

Muchas Gracias.

Responder

José Arrarte says:


9 febrero, 2011 at 6:48 AM

A decir verdad no lo se, este post intenta ser una recopilación de comandos para alguien que no es DBA de
Informix (en realidad, para mi )

Saludos y gracias por tu comentario!

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

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

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 5/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte

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

Muy bueno, gracias.

Responder

Sandra says:
12 marzo, 2012 at 7:02 PM

Hola..gracias por la información 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

José Arrarte says:


14 marzo, 2012 at 11:05 AM

Hola Sandra, gracias por tu comentario.

Sobre el estado del servicio, dependerá en qué sistema operativo esté funcionando el motor. Si ya estás
conectada al motor y quieres conocer el estado de los dbspaces puedes utilizar ‘onstat -d -h’.

Para acceder a las bases yo utilizo el Aqua Studio (http://www.aquafold.com/aquadatastudio.html), me resulta


muy completo porque funciona con varios motores. Puedes descargar una versión de prueba por 30 días.

Espero que esta información te sea útil. Saludos,


José

Responder

Sandra says:
14 marzo, 2012 at 1:58 PM

Hola José, ya me está corriendo bien el informix y me he conectado desde PHP. Descargué el Aqua
Studio, pero no sé que configuración 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 conexión que dice “Test connection was NOT sucessful.[informix][Informix ODBC Driver]
[Informix]Cannot locate Infdrv1 service/tcp service in /etc/services.”

Responder

Limbert Hermosa Rodriguez says:


26 mayo, 2015 at 7:35 PM

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

Guido Pineda says:


23 marzo, 2012 at 6:09 PM

Hola, es posible sacar un respaldo de la base de datos en caliente, sin desconectar a los usuarios?

Responder

José Arrarte says:

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 6/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte
3 abril, 2012 at 8:28 AM

Hola Guido, ¿cómo estás? 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/1642400-hot-
backup-using-onbar.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 gustaría saber como cambiar la contraseña y usuario.
ver el listado de los programas fuentes.

saludos……

Responder

José Arrarte says:


2 mayo, 2012 at 10:28 PM

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 debería hacer lo que necesitas.
Saludos!

Responder

Carlos Martinez says:


5 mayo, 2012 at 10:43 PM

Hola, Muchas gracias, muy bueno el aporte. Un comentario también para contestarle a Guido Pineda, y que si buscan
más información puede ayudar a otros. En mi empresa trabajamos con informix, y nosotros hacemos el respaldo de la
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 más de que va esto del Informix….

Responder

Nicolás says:
28 mayo, 2012 at 4:58 PM

Gente.. como se hace un back up en informix??

Responder

jarrarte says:
4 julio, 2012 at 3:26 PM

Revisa la parte de “Exportar una base de datos” en este post.


Saludos,
José

Responder

VictorG says:
28 agosto, 2012 at 12:25 AM

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 7/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte
Excelente blog, felicito a su propietario por los aportes.
Trabajo con informix desde el 1995, actualmente tengo experiencia en todas las versiones de informix para linux.

Conosco la instalacion y configuracion del producto.


Si en algo puedo ayudar, les dejo mi correo.

Victor Gomez

Responder

jarrarte says:
31 agosto, 2012 at 12:26 PM

¡Gracias por tu comentario Víctor!


Hoy en día no estoy trabajando tanto con Informix (más bien MySQL y Oracle), pero voy a tener en cuenta en
caso de ser necesario.

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

leonel ledezma says:


18 septiembre, 2012 at 10:44 PM

Buenas noches a todos

Responder

leonel ledezma says:


18 septiembre, 2012 at 10:46 PM

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

¡Buenas! ¿Tu caso es parecido a lo que describen acá? http://www.dbforums.com/informix/996837-dbspace-


disabled.html

Saludos y suerte!

Responder

Diego Giacoia says:


19 noviembre, 2012 at 4:23 PM

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

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 8/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte
¡Qué bueno que te haya servido Diego!
Un abrazo

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 …..

Responder

Dario says:
30 abril, 2015 at 4:03 PM

Buenas tardes.

Como puedo saber el espacio que ocupa una base de informix ?

Gracias!
Dario.

Responder

jarrarte says:
22 mayo, 2015 at 12:43 PM

Esta parece ser una buena referencia: http://www.oninitgroup.com/calculating-size-databases


No lo probé, porque no tengo una base Informix a mano.
Suerte!

Responder

Limbert Hermosa Rodriguez says:


26 mayo, 2015 at 7:50 PM

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

Victor Hugo says:

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 9/10
16/10/2017 Listado de comandos de administración de Informix - José Arrarte
7 agosto, 2015 at 7:41 PM

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 estás actualizando está
bloqueada por otra transacción que transcurre en el mismo momento.

Responder

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

Gustavo says:
19 abril, 2016 at 6:32 PM

dependiendo que sistema operativo utilizas

Responder

Gustavo says:
19 abril, 2016 at 6:30 PM

como saber que usuario esta conectado a una base de datos especifica?

Responder

José Arrarte | Mantra Theme by Cryout Creations | Powered by WordPress.

http://josearrarte.com/blog/2009/10/07/listado-de-comandos-de-administracion-de-informix/ 10/10

Você também pode gostar