Today I had to move a few dozen DB2 LUW databases from one Windows system to another. I’ve been down this road before, and I always script the process, but this time I initially left out tablespaces. Bummer, the downside of writing db2look commands from memory.
So that I don’t get fooled again, I’m posting my simple scripts which were inspired by this venerable article.
Export from source machine – Use list db directory to generate a master script that calls this expdb.cmd for each database:
mkdir %1 cd %1 db2move %1 export > export-%1-db2move-output.txt 2>&1 db2look -d %1 -e -a -l -o db2look-%1.sql > export-%1-db2look-output.txt 2>&1 cd ..
Import into target machine – Use an equivalent master script to call this impdb.cmd:
cd %1 db2 create db %1 using codeset ibm-1252 territory us > import-%1-db2-create-output.txt 2>&1 db2 -tvf db2look-%1.sql > import-%1-db2-output.txt 2>&1 db2move %1 load > import-%1-db2move-output.txt 2>&1 cd ..