Artículos

Está página pretende mostrar diferentes artículos de opinión relacionados tanto con las Bases de Datos IBM Informix y DB2 , así como con el Tratamiento de Datos con IBM Optim y la Protección de los Datos con Spectrum Protect.

Oct
26
2017

ARTÍCULO: Revertir a una versión anterior de Informix

Después de realizar una actualización exitosa del gestor, por ejemplo
de una versión 11.50FC6 a una versión 12.10FC8 nos podemos encontrar
con problemas de diversa índole que impliquen que las aplicaciones que
utilizamos funcionen mal.

En ocasiones puede ser mejor revertir a la situación anterior antes
que corregir las aplicaciones ya que el proceso es mucho más rápido y
sencillo.

Para revertir debemos tener controlado que no hayan añadido a la
estructura de la base de datos funcionalidades nuevas no existentes en

Aug
16
2017

ARTICULO: Registro bloqueado al renombrar una tabla

Cuando intentamos renombrar una tabla o modificarla de alguna manera nos podemos encontrar con los errores:

-242 SQL error: Could not open database table
-106 ISAM error: non-exclusive access

Sin embargo, cuando buscamos por bloqueos sobre esa tabla no encontramos ninguno. Poner set lock mode to wait no funciona y no espera y tenemos la posibilidad de bloquear la tabla en exclusiva con un lock table in exclusive mode pero seguimos sin poder realizar la operación.

Jul
21
2017

ARTICULO: Solución para el error -5849

Es posible que nos encontremos con el error -5849, bien ejecutando una
rutina bien en el online.log:

SCHAPI: [Save SQL Trace 21-57901] Error -5849 Message cannot be found.

En el ejemplo el error se produce en el planificador de sysadmin.

Este error es producido porque se han cambiado las condiciones de
ejecución de una rutina y es necesario volver a pasar las estadísticas
sobre la misma para que se vuelva a generar el plan de ejecución.

Para ello podremos lanzar un:
UPDATE STATISTICS FOR routine
en la base de datos correspondiente

Jun
12
2017

ARTICULO: Regenerar sysmaster

Es posible que la base de datos sysmaster haya sufrido algún problema
y sea necesario regenerarla. Si la base de datos no existe o la
dropeamos se puede regenerar reiniciando el gestor ya que en el
arranque se comprueba que existe y se regenera.

También podemos regenerarla en caliente pero es necesario disponer del
gestor en modo administrativo durante el tiempo que se regenera. Para
poder regenerarla es necesario revisar los scripts
$INFORMIXDIR/etc/buildsmi, $INFORMIXDIR/etc/blduser.sh y
$INFORMIXDIR/etc/bldutil.sh ya que en ocasiones la variable INFDIR no

May
31
2017

ARTICULO: Regenerar sysadmin

En ocasiones la base de datos syadmin puede sufrir algún problema:
caídas durante la generación, actualización de versiones con errores,
etc.

En estos casos es posible que la base de datos sysadmin se quede
incompleta o bien en una versión antigua. De forma fácil se puede
dropear la base de datos y reiniciar el gestor ya que si la base de
datos sysadmin no existe al inicio se regenera de forma automática.

Sin embargo también es posible regenerarla si reiniciar el gestor.
Para ello hay que seguir los siguientes pasos con el usuario informix:

# cd $INFORMIXDIR/etc/sysadmin

Mar
31
2017

ARTÍCULO:Cambio de primario en un RSS

En ocasiones nos puede interesar dentro de un entorno RSS cambiar el primario de la réplica. Para ello lo conseguiremos en unos sencillos pasos, suponiendo un entorno con un servidor principal servidor1 y gestor ol_server1 y una réplica RSS servidor2 con gestor ol_server2:

servidor1#> onmode -kuy
servidor2#> onmode -d standard
servidor2#> onmode -d add RSS ol_server1
servidor1#> oninit -PHY
servidor1#> onmode -d RSS ol_server2

Con estos pasos el servidor2 pasará a ser el servidor principal de la réplica RSS.

Feb
17
2017

ARTÍCULO: reorganizar una tabla

En ocasiones es necesario cambiar el orden de los campos de una tabla o bien cambiar el propietario de la misma. Esto no se puede realizar de forma directa.

Para poder realizarlo sería necesario crear una nueva tabla con la nueva estructura, llenarla con los datos actuales y después cambiar el nombre.

El procedimiento sería de la forma:

CREATE TABLE nueva_tabla
(
campo1 SMALLINT,
campo3 INTEGER,
campo2 SMALLINT,
campo5 SMALLINT,
campo6 CHAR(3),
campo4 MONEY(8)
);
INSERT INTO nueva_tabla

Dec
30
2016

ARTÍCULO: Como calcular el tamaño de las bases de datos de un gestor

Existen determinadas ocasiones en las que nos puede ser útil averiguar el tamaño que están ocupando las base de datos de un determinado gestor, para ello calculamos la suma del número de páginas que tienen reservadas todas las tablas de las bases de datos. Con este dato, tendríamos el número de páginas totales que ocupa cada base de datos, pero para hacernos una idea más cercana del tamaño real ocupado, necesitamos averiguar el tamaño de cada página, ya que no todas las páginas de una misma base de datos tienen porque tener el mismo tamaño. Todo esto lo tendremos con este sencillo script:

Oct
31
2016

ARTÍCULO:Ejecución de scripts desde el planificador de Informix

En ocasiones necesitamos que ciertos scripts se puedan ejecutar desde el planificador de informix; esto lo podemos conseguir en unos sencillos pasos:

- Primero crearemos el script dentro de nuestro sistema operativo en:

$SCRIPTS_PATH/script.sh

Donde $SCRIPTS_PATH es cualquier lugar de nuestro sistema operativo donde deseemos guardar los scripts.

- A continuación, crearemos el script dentro de los procedimientos almacenados:

drop procedure script;
create procedure script()
system '$SCRIPTS_PATH/script.sh';
end procedure;

Sep
30
2016

ARTÍCULO:Como arrancar o parar la generación de estadísticas automáticas del gestor.

En algunas ocasiones nos puede interesar arrancar informix sin el Auto Update Statistics(AUS), para desactivarlo tenemos la opción de hacer un par de simples sentencias SQL:

UPDATE ph_task
SET tk_enable = "F"
WHERE tk_name = "Auto Update Statistics Evaluation";

UPDATE ph_task
SET tk_enable = "F"
WHERE tk_name = "Auto Update Statistics Refresh";

Con estas sentencias desactivaríamos el AUS y podríamos reiniciar el gestor sin él.

Syndicate content