Cambia el nombre de una base de datos, o reubica una base de datos o parte de ella (es decir, un contenedor, un directorio de registro) según se especifica en el archivo de configuración proporcionado por el usuario. Esta herramienta realiza los cambios necesarios en la instancia de DB2 y en los archivos de soporte de bases de datos.
Autorización
Ninguna
Conexión necesaria
Ninguna
Sintaxis del mandato
>>-db2relocatedb---f--configFilename---------------------------><
Parámetros del mandato
DB_NAME=oldName,newName DB_PATH=oldPath,newPath INSTANCE=oldInst,newInst NODENUM=nodeNumber LOG_DIR=oldDirPath,newDirPath CONT_PATH=oldContPath1,newContPath1 CONT_PATH=oldContPath2,newContPath2 ...
Donde:
Ejemplos
Ejemplo 1
Para cambiar por PRODDB el nombre de la base de datos TESTDB de la instancia DB2INST1 que reside en la vía de acceso /home/db2inst1, cree el archivo de configuración siguiente:
DB_NAME=TESTDB,PRODDB DB_PATH=/home/db2inst1 INSTANCE=db2inst1 NODENUM=0
Guarde el archivo de configuración como relocate.cfg y utilice el mandato siguiente para efectuar los cambios en los archivos de la base de datos:
db2relocatedb -f relocate.cfg
Ejemplo 2
Para transferir la base de datos DATAB1 de la instancia JSMITH en la vía de acceso /dbpath a la instancia PRODINST, haga lo siguiente:
DB_NAME=DATAB1 DB_PATH=/dbpath INSTANCE=jsmith,prodinst NODENUM=0
Ejemplo 3
La base de datos PRODDB existe en la instancia INST1 de la vía de acceso /databases/PRODDB. Es necesario cambiar la ubicación de dos contenedores de espacios de tablas de la forma siguiente:
Una vez que se hayan transferido los archivos y directorios físicos a las nuevas ubicaciones, se puede utilizar el archivo de configuración siguiente con el mandato db2relocatedb para efectuar cambios en los archivos de la base de datos, de forma que reconozcan las nuevas ubicaciones:
DB_NAME=PRODDB DB_PATH=/databases/PRODDB INSTANCE=inst1 NODENUM=0 CONT_PATH=/data/SMS1,/DATA/NewSMS1 CONT_PATH=/data/DMS1,/DATA/DMS1
Ejemplo 4
La base de datos TESTDB existe en la instancia DB2INST1 y se creó en la vía de acceso /databases/TESTDB. Se crearon espacios de tablas con los contenedores siguientes:
TS1 TS2_Cont0 TS2_Cont1 /databases/TESTDB/TS3_Cont0 /databases/TESTDB/TS4/Cont0 /Data/TS5_Cont0 /dev/rTS5_Cont1
Se va a transferir TESTDB a un nuevo sistema. La instancia del nuevo sistema será NEWINST y la ubicación de la base de datos será /DB2.
Cuando se transfiera la base de datos, todos los archivos que existan en el directorio /databases/TESTDB/db2inst1 se deben transferir al directorio /DB2/newinst. Esto significa que los 5 primeros contenedores se reubicarán formando parte de esta transferencia. (Los 3 primeros son relativos al directorio de la base de datos y los 2 siguientes son relativos a la vía de acceso de la base de datos) Puesto que estos contenedores están ubicados en el directorio o en la vía de acceso de la base de datos, no es necesario listarlos en el archivo de configuración. Si los 2 contenedores restantes se van a transferir a ubicaciones distintas del mismo sistema, se deben listar en el archivo de configuración.
Una vez que se hayan transferido los archivos y directorios físicos a las nuevas ubicaciones, se puede utilizar el archivo de configuración siguiente con el mandato db2relocatedb para efectuar cambios en los archivos de la base de datos, de forma que reconozcan las nuevas ubicaciones:
DB_NAME=TESTDB DB_PATH=/databases/TESTDB,/DB2 INSTANCE=db2inst1,newinst NODENUM=0 CONT_PATH=/Data/TS5_Cont0,/DB2/TESTDB/TS5_Cont0 CONT_PATH=/dev/rTS5_Cont1,/dev/rTESTDB_TS5_Cont1
Ejemplo 5
La base de datos TESTDB tiene 2 particiones en los nodos 10 y 20. La instancia es SERVINST y la vía de acceso de la base de datos es /home/servinst en ambos nodos. El nombre de la base de datos e cambia por SERVDB y la vía de acceso de la base de datos se cambia por /databases en ambos nodos. Asimismo, el directorio de registro cronológico, en el nodo 20, para de ser /testdb_logdir a ser /servdb_logdir.
Dado que se efectúan cambios en los dos nodos, se debe crear un archivo de configuración para cada nodo y se debe ejecutar db2relocatedb en cada uno de los nodos con el archivo de configuración correspondiente.
En el nodo 10, se utilizará el archivo de configuración siguiente:
DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=10
En el nodo 20, se utilizará el archivo de configuración siguiente:
DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=20 LOG_DIR=/testdb_logdir,/servdb_logdir
Notas de utilización
Si se cambia la instancia a la que pertenece una base de datos, se debe hacer lo siguiente antes de ejecutar este mandato, a fin de asegurarse de que se realizarán los cambios en la instancia y en los archivos de soporte de la base de datos:
Si se cambia la instancia, deberá ejecutar esta herramienta el propietario de la nueva instancia.
En un entorno EEE, se debe ejecutar esta herramienta para cada nodo que precise cambios. Se debe suministrar un archivo de configuración separado para cada nodo, el cual deberá incluir el valor NODENUM del nodo que se cambia. Por ejemplo, si se cambia el nombre de una base de datos, se verán afectados todos los nodos y se deberá ejecutar el mandato db2relocatedb con un archivo de configuración separado en cada nodo. Si se transfieren contenedores que pertenecen a un solo nodo, sólo es necesario ejecutar el mandato db2relocatedb una vez en dicho nodo.
Consulte también
Para obtener más información, consulte el mandato db2inidb - Inicializar una base de datos reflejada en la publicación Consulta de mandatos.