Está en la página 1de 5

Hewlett-Packard Española Tel 91 631 16 00

Calle Vicente Aleixandre, 1 Fax 91 631 18 30


Parque Empresarial Madrid-Las Rozas www.hp.com
28023 – Las Rozas. Madrid
Spain

Procedimiento
Restore base de datos Informix

To:

From: Juan Antonio Bravo Zarza

Subject: Restore completo base de datos informix

Date: June 19, 2023

Versión 1.1 Mª Juan Antonio Bravo Zarza 02/12/2008

1.OBJETIVO DEL DOCUMENTO:

Este documento pretende ser una guía en caso que tengamos que realizar una recuperación en
ubdtal01, por pérdida de datos en uoppalbd.

PASOS PARA REALIZAR LA RECUPERACION

PASO 1: Comprobar que la versión del software de informix en la máquina uoppalbd y ubdtal01
es la misma:

ubdtal01:/softInformix10fc6$ onstat -V
IBM Informix Dynamic Server Version 10.00.FC6X9 Software Serial Number RDS#N000000

PASO 2: Copiar variables de entorno del .profile de la máquina uoppalbd a ubdtal01

Variables de informix:
INFORMIXDIR
PATH
DB_LOCALE
INFORMIXSERVER
ONCONFIG
AC_CONFIG
LD_LIBRARY_PATH
SHLIB_PATH

Variables de TSM:
DSMI_CONFIG
DSMI_DIR
DSMI_LOG
Hewlett-Packard Española Tel 91 631 16 00
Calle Vicente Aleixandre, 1 Fax 91 631 18 30
Parque Empresarial Madrid-Las Rozas www.hp.com
28023 – Las Rozas. Madrid
Spain

PASO 3: Copiar ficheros de uoppalbd a ubdtal01 y verificaciones

Copiar de uoppalbd a ubdtal01 ( en la misma ruta en destino) , los siguientes ficheros;

1.1. Copiar el fichero onconfig al a máquina de test:

Comprobar el nombre de fichero al que apunta la variable de entorno ONCONFIG:

uoppalbd:/disco01/informix/etc$ env | grep -i onconfig


ONCONFIG=onconfig.sms10

Copiar el fichero $INFORMIXDIR/etc/onconfig.sms10 en la misma ubicación a la máquina


ubdtal01.

1.2. Copiar el fichero oncfg al a máquina de test:

Comprobar la variable de entorno INFORMIXSERVER:

uoppalbd:/disco01/informix/etc$ env | grep -i INFORMIXSERVER


INFORMIXSERVER=tcpsms030

Comprobar el SERVERNUM al que apunta la instancia de producción:

uoppalbd:/disco01/informix/etc$ onstat -c | grep -i SERVERNUM


SERVERNUM 1 # Unique id corresponding to a OnLine instance

Copiar el fichero $INFORMIXDIR/etc/oncfg_$INFORMIXSERVER.SERVERNUM en la misma


ubicación a la máquina ubdtal01. En este caso habría que copia el fichero
$INFORMIXDIR/etc/oncfg_tcpsms030.1

1.3. Copiar el fichero ixbar a la máquina de test:

Comprobar el SERVERNUM al que apunta la instancia de producción:

uoppalbd:/disco01/informix/etc$ onstat -c | grep -i SERVERNUM


SERVERNUM 1 # Unique id corresponding to a OnLine instance

Copiar el fichero $INFORMIXDIR/etc/ixbar.SERVERNUM en la misma ubicación a la máquina


ubdtal01. En este caso habría que copia el fichero $INFORMIXDIR/etc/ixbar.1

1.4. Copiar las entradas correspondientes a la instancia de producción del fichero


$INFORMIXDIR/etc/sqlhosts a la máquina ubdtal01 modificando la ip que apunta a uoppalbd por la
ip de ubdtal01:

Comprobar las entradas asociadas a la instancia de producción:

uoppalbd:/disco01/informix/etc$ onstat -c | grep -i DBSERVER


DBSERVERNAME tcpsms030 # Name of default database server
DBSERVERALIASES
tcpsms050,tcpsms060,tcpsms070,tcpsms080,tcpsms130,tcpsms140,tcpsms160,tcpsms220,
tcpsms110,ipcshm030

uoppalbd:/disco01/informix/etc$ more $INFORMIXDIR/etc/sqlhosts | grep tcpsms


tcpsms030 onsoctcp 10.71.72.135 sqlsms030
tcpsms050 onsoctcp 10.71.72.135 sqlsms050
tcpsms060 onsoctcp 10.71.72.135 sqlsms060
tcpsms070 onsoctcp 10.71.72.135 sqlsms070
tcpsms080 onsoctcp 10.71.72.135 sqlsms080
tcpsms110 onsoctcp 10.71.72.135 sqlsms110
tcpsms130 onsoctcp 10.71.72.135 sqlsms130
tcpsms140 onsoctcp 10.71.72.135 sqlsms140
tcpsms160 onsoctcp 10.71.72.135 sqlsms160
tcpsms220 onsoctcp 10.71.72.135 sqlsms220
Hewlett-Packard Española Tel 91 631 16 00
Calle Vicente Aleixandre, 1 Fax 91 631 18 30
Parque Empresarial Madrid-Las Rozas www.hp.com
28023 – Las Rozas. Madrid
Spain

uoppalbd:/disco01/informix/etc$ more $INFORMIXDIR/etc/sqlhosts | grep ipcshm


ipcshm030 onipcshm 10.71.72.135 sqlshared

Copiar estas entradas en el $INFORMIXDIR/etc/sqlhosts de la máquina ubdtal01 modificando la ip


por la de la máquina de test:

tcpsms030 onsoctcp 10.71.204.137 sqlsms030


tcpsms050 onsoctcp 10.71.204.137 sqlsms050
tcpsms060 onsoctcp 10.71.204.137 sqlsms060
tcpsms070 onsoctcp 10.71.204.137 sqlsms070
tcpsms080 onsoctcp 10.71.204.137 sqlsms080
tcpsms110 onsoctcp 10.71.204.137 sqlsms110
tcpsms130 onsoctcp 10.71.204.137 sqlsms130
tcpsms140 onsoctcp 10.71.204.137 sqlsms140
tcpsms160 onsoctcp 10.71.204.137 sqlsms160
tcpsms220 onsoctcp 10.71.204.137 sqlsms220

ipcshm030 onipcshm 10.71.204.137 sqlshared

1.5. Comprobar que las entradas anteriores se encuentran en el /etc/services apuntando al mismo
puerto que producción:

sqlsms030 5011/tcp
sqlsms050 5012/tcp
sqlsms060 5013/tcp
sqlsms070 5014/tcp
sqlsms080 5015/tcp
sqlsms110 5018/tcp
sqlsms130 5020/tcp
sqlsms140 5021/tcp
sqlsms160 5022/tcp
sqlsms220 5025/tcp

sqlshared 5031/tcp

PASO 4

Chequear si el fichero onconfig está correctamente configurado para la recuperación testando los
valores de los parámetros locks y buffers.

Locks 100000
buffers 300000

PASO 5

Obtener los links a crear en la máquina destino. Para ello, ejecutar en la máquina uoppalbd el siguiente
script:

/softInformix94fcs/informix/scripts_adm/scripts_restore/obtener_raws.sh

> lista_links_informix
> chunks0
> chunks1
> chunks2
> chunks3
dbaccess dbsmsexp fname > chunks0
awk '{print $2}' chunks0 > chunks1
for i in `cat chunks1`
do
RAW=`ls -ltr $i | awk '{print $11}' `
LINKS=`ls -ltr $i | awk '{print $11,$9}' `
echo $RAW >> chunks2
echo 'ln -s' $LINKS >> lista_links_informix
Hewlett-Packard Española Tel 91 631 16 00
Calle Vicente Aleixandre, 1 Fax 91 631 18 30
Parque Empresarial Madrid-Las Rozas www.hp.com
28023 – Las Rozas. Madrid
Spain

done
for a in ` cat chunks2`
do
echo $a | sed -e 's/\/r/\//g'
done > chunks3

La ejecución de este script devuelve como resultado los siguientes ficheros:

lista_links_informix: contiene el listado de los links a crear en la máquina ubdtal01.


chunks0,chunks1: estos ficheros contienen el nombre de los chunks de el gestor informix en uoppalbd.
chunks2: contiene el nombre de los raws asociados a los ficheros de la base de datos.
chunks3: contiene el nombre de dispositivos carácter asociados a los raws de informix.

PASO 6

Obtener los nombres y los tamaños de los raws a crear en la máquina ubdtal01. Para ello, ejecutar en
uoppalbd el script

/softInformix94fcs/informix/scripts_adm/scripts_restore/tam_raws.sh

> tamrawsinformix
for i in `cat chunks3`
do
TAM=`/sbin/lvdisplay $i | grep "LV Size" | awk '{print $4}'`
echo "$i $TAM" >> tamrawsinformix
done

La salida de su ejecución se encuentra en el fichero tamrawsinformix.

PASO 7

Solicitar a Unix la creación de los raws en la máquina ubdtal01 a partir del fichero tamrawsinformix
generado en el paso anterior.

Importante: hay raws con el mismo nombre en diferente dispositivos. Por lo tanto hay que modificar este
fichero a mano y tocar 3 ficheros ( en negrita en el siguiente cuadro).

Lista de raws repetidos:

smsdatos57.ln -> /dev/vg32/rsmsdat_d30_c1 (2048 MB) NOMBRE FINAL: rsmsdat_d30_c1


smsblob3.ln -> /dev/vg30/rsmsdat_d30_c1 (1000 MB) NOMBRE FINAL: rsmsdat_d30_c1_bis
smsdatos79.ln -> /dev/vg31/rsmsdat_d38_c5 (2048 MB) ) NOMBRE FINAL: rsmsdat_d38_c5
smsdatos80.ln -> /dev/vg32/rsmsdat_d38_c5 (2048 MB) ) NOMBRE FINAL: rsmsdat_d38_c5_bis
smsdatos111.ln -> /dev/vg35/rsmsdat_d40_c1 (2052 MB) ) NOMBRE FINAL: rsmsdat_d40_c1
smsdatos135.ln -> /dev/vg43/rsmsdat_d40_c1 (15360 MB) ) NOMBRE FINAL: rsmsdat_d40_c1_bis

Solución : Crear uno de los repetidos terminados en bis.

PASO 8

Crear los links en la máquina ubdtal01 a partir del script lista_links_informix, sustituyendo la ruta de ta
de los vg’s por la ruta en la que se encuentren en la máquina de test.

Para facilitar el trabajo de modificación de rutas del fichero, se puede ejecutar en la máquina ubdtal01 el
siguiente script (situándose en la misma ruta en la que se encuentre el fichero lista_links_informix):

while read I
do
DIR=`echo $I | awk '{ print $3 }'`
DIR=`echo $DIR | awk -F"/" '{ print $4 }'`
DIRF=`ls /dev/*/$DIR`
Hewlett-Packard Española Tel 91 631 16 00
Calle Vicente Aleixandre, 1 Fax 91 631 18 30
Parque Empresarial Madrid-Las Rozas www.hp.com
28023 – Las Rozas. Madrid
Spain

INF=`echo $I | awk '{ print $4 }'`


echo "ln -s $DIRF $INF" >> /tmp/lista_links_informix_final
done < lista_links_informix

El fichero /tmp/lista_links_informix_final será el que habrá que ejecutar para crear los links.

PASO 9

Identificar el log del momento hasta el que se quiera recuperar. Revisar el fichero ixbar y buscar el log
asociado a la hora a la se quiere recuperar.

Por ejemplo, observando el siguiente fragmento de fichero ixbar, si se quiere recuperar a las 11:19
habría que tomar el log 862601.

tcpsms030 862600 L 0 8051 0 0 362487013 2005-06-06 10:34:49 1 0 0


8051 0
--0
tcpsms030 862601 L 0 8052 0 0 362561640 2005-06-06 11:19:48 1 0 0
8052 0
--0
tcpsms030 862602 L 0 8053 0 0 362561642 2005-06-06 11:24:49 1 0 0
8053 0
--0
tcpsms030 862603 L 0 8054 0 0 362561643 2005-06-06 11:24:51 1 0 0
8054 0

El comando que hay que ejecutar para recuperar es el siguiente:

onbar –r –n num_log

en este caso, sería “onbar –r –n 862601”

En caso de que falle la restauración, si en el onconfig el parámetro RESTARTABLE está configurado a


ON, se puede relanzar la restauración para que continúe desde el punto en el que se haya quedado.

uoppalbd:/softInformix94fcs/informix/scripts_adm/scripts_restore$ onstat -c |grep -i RESTARTABLE


RESTARTABLE_RESTORE ON

Para relanzarlo, ejecutar “onbar –RESTART”.

Sería conveniente lanzar estos comandos en nohup por si se cerrara la sesión.

También podría gustarte