lunes, 8 de febrero de 2010

Importar y Exportar base en Informix

Vamos a ver como hacemos para exportar una base de datos y levantarla en otra, para esto debe de tener creada la base origen y no haber creado la base destino.

Exportar una base

onunload -t <tapeDevice> -b <blockSize> -s <tapeSize> <nombreBase>

donde:

<tapeDevice> es el dispositivo donde se va a hacer la exportación (puede ser un archivo)

<blockSize> es el tamaño de bloque del dispositivo donde se va a hacer la exportación

<tapeSize> es el tamaño del dispositivo donde se va a hacer la exportación.

<nombreBase> es el nombre de la base a exportar

Por ejemplo, para exportar la base tributos a disco:

onunload -t /tmp/origen.dat -b 64 -s 20000000 baseorigen

Notas:

- El archivo /tmp/origen.dat debe existir y debe tener como dueño y grupo 'informix'. Además, los permisos deben ser 660.

- Cuando vayas a importar la base, vas a tener que usar los mismos tamaños de bloque y del dispositivo, así que acordate que valores usaste al exportar.

- Si la exportación se hace a disco, el límite del archivo generado es de 2 Gb.

- Si la exportación se hace a cinta, o a un dispositivo de disco crudo, no hay límite de espacio.

Importar una base

onload -t <tapeDevice> -b <blockSize> -s <tapeSize> -d <dbspace> <nuevoNombreBase>

donde:

<tapeDevice> es el dispositivo desde donde se va a hacer la importación (puede ser un archivo)

<blockSize> es el tamaño de bloque del dispositivo desde donde se va a hacer la importación

<tapeSize> es el tamaño del dispositivo desde donde se va a hacer la importación

<dbspace> es el nombre del dbspace donde se quiere importar la base

<nuevoNombreBase> es el nombre con que se importará la base previamente exportada

Por ejemplo, para exportar la base tributos a disco:

onload -t /tmp/origen.dat -b 64 -s 20000000 -d datosdbs destino

Notas:

- Antes de hacer la importación, hay que borrar la base destino si existiera

- Los valores de 'blockSize' y 'tapeSize' deben ser los mismos usados durante la exportación.

- Luego de importar, habría que ponerle transacciones a la base, por ejemplo con:

ondblog buf destino

onbar -b -F


No hay comentarios: