!!BACKUP/EXPORT DI UN DATABASE (E TUTTI I SUOI SCHEMI) MEDIANTE DB2MOVE

%%prettyif
{{{
dbmove NOMEDB export
}}}
\\
genera un elenco di file .ixf e relativo file db2move.lst che contiene l'elenco delle tabelle (schema per schema) a quale file .ixf è stato associato


!!RESTORE MEDIANTE DB2MOVE

Lanciare il seguente comando all'interno della directory dove è presente il file db2move.lst e i relativi file .ixf
%%prettyif
{{{
dbmove NOMEDB import
}}}

db2move import crea anche le tabelle se non esistono (le viste ovviamente no). 
\\Se la tabella esiste già la svuota e le riempie con i dati del file ixf esistente.

!!PROBLEMA DI RESTORE (DB2MOVE IMPORT) IN CASO DI ERRORE 3525

Si presenta in alcune versioni del db2 (db2 8.1 dal fixpack 9 al fixpack 12).\\
Questo errore è bloccante nel senso che non importa nulla.\\
Per ovviare al problema usare il seguente script che esegue il delete + import tabella x tabella.\\
Rispetto a db2move se non esiste la tabella va in errore poichè usa il comando db2 import.\\
\\
Connettersi al database e lanciare il seguente script

%%prettyif
{{{
#!/bin/bash
if [ ! -n "$1" ] ; then
        echo "Nome db non presente"
        exit 1
fi

if [ ! -n "$2" ] ; then
        echo "Dichiarare percorso cartella dove presente db2move.lst"
        exit 1
fi

cd $2

echo "delete e import di $1;" > db2import$1.db2
cat db2move.lst | while read line
do

IXF=`echo $line | cut -d! -f3`
TABLE=`echo $line | cut -d! -f2 | sed s/'"'//g | sed s/'\s'//g`

echo "delete from $TABLE;" >>  db2import$1.db2
echo "import from $IXF of ixf insert into $TABLE;" >>  db2import$1.db2

done
echo "inizio import"
db2 -tf db2import$1.db2 > db2import$1.log
echo "fine import"
}}}