Renomeia um banco de dados ou realoca um banco de dados ou parte dele (por ex., contêiner, diretório de log) conforme especificado no arquivo de configuração fornecido pelo usuário. Esta ferramenta faz as alterações necessárias na instância do DB2 e nos arquivos de suporte do banco de dados.
Autorização
Nenhum
Conexão Requerida
Nenhum
Sintaxe do Comando
>>-db2relocatedb---f--configFilename---------------------------><
Parâmetros do Comando
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 ...
Em que:
Exemplos
Exemplo 1
Para alterar o nome do banco de dados TESTDB para PRODDB na instância DB2INST1 que reside no caminho /home/db2inst1, crie o seguinte arquivo de configuração:
DB_NAME=TESTDB,PRODDB DB_PATH=/home/db2inst1 INSTANCE=db2inst1 NODENUM=0
Salve o arquivo de configuração como relocate.cfg e utilize o seguinte comando para fazer as alterações nos arquivos de banco de dados:
db2relocatedb -f relocate.cfg
Exemplo 2
Para mover o banco de dados DATAB1 da instância JSMITH no caminho /dbpath para a instância PRODINST, proceda da seguinte maneira:
DB_NAME=DATAB1 DB_PATH=/dbpath INSTANCE=jsmith,prodinst NODENUM=0
Exemplo 3
O banco de dados PRODDB existe na instância INST1 no caminho /databases/PRODDB. A localização de dois contêineres de tablespace precisa ser alterada da seguinte forma:
Depois que os diretórios e arquivos físicos forem movidos para as novas localizações, o seguinte arquivo de configuração poderá ser utilizado com o comando db2relocatedb para fazer alterações nos arquivos de banco de dados para que eles reconheçam as novas localizações:
DB_NAME=PRODDB DB_PATH=/databases/PRODDB INSTANCE=inst1 NODENUM=0 CONT_PATH=/data/SMS1,/DATA/NewSMS1 CONT_PATH=/data/DMS1,/DATA/DMS1
Exemplo 4
O banco de dados TESTDB existe na instância DB2INST1 e foi criado no caminho /databases/TESTDB. Table spaces foram criadas com os seguintes contêineres:
TS1 TS2_Cont0 TS2_Cont1 /databases/TESTDB/TS3_Cont0 /databases/TESTDB/TS4/Cont0 /Data/TS5_Cont0 /dev/rTS5_Cont1
TESTDB será movido para um novo sistema. A instância no novo sistema será NEWINST e a localização do banco de dados será /DB2.
Quando o banco de dados for movido, todos os arquivos existentes no diretório /databases/TESTDB/db2inst1 deverão ser movidos para o diretório /DB2/newinst. Isso significa que os 5 primeiros contêineres serão realocados como parte dessa movimentação. (Os 3 primeiros são relativos ao diretório do banco de dados e os 2 seguintes são relativos ao caminho do banco de dados.) Como esses contêineres estão localizados dentro do diretório do banco de dados ou caminho do banco de dados, eles não precisam ser listados no arquivo de configuração. Se os 2 contêineres restantes tiverem que ser movidos para localizações diferentes no novo sistema, eles deverão ser listados no arquivo de configuração.
Depois que os diretórios e arquivos físicos forem movidos para as novas localizações, o seguinte arquivo de configuração poderá ser utilizado com db2relocatedb para fazer alterações nos arquivos de banco de dados para que eles reconheçam as novas localizações:
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
Exemplo 5
O banco de dados TESTDB possui 2 partições nos nós 10 e 20. A instância é SERVINST e o caminho do banco de dados é /home/servinst em ambos os nós. O nome do banco de dados está sendo alterado para SERVDB e o caminho do banco de dados está sendo alterado para /databases em ambos os nós. Além disso, o diretório de log está sendo alterado no nó 20 de /testdb_logdir para /servdb_logdir.
Como as alterações estão sendo feitas em ambos os nós, um arquivo de configuração deverá ser criado para cada nó e db2relocatedb deverá ser executado em cada nó com o arquivo de configuração correspondente.
No nó 10, o seguinte arquivo de configuração será utilizado:
DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=10
No nó 20, o seguinte arquivo de configuração será utilizado:
DB_NAME=TESTDB,SERVDB DB_PATH=/home/servinst,/databases INSTANCE=servinst NODE_NUM=20 LOG_DIR=/testdb_logdir,/servdb_logdir
Notas de Uso
Se a instância à qual um banco de dados pertence estiver sendo alterada, proceda da seguinte maneira antes de executar este comando para assegurar que as alterações nos arquivos de suporte do banco de dados e da instância sejam feitas:
Se a instância estiver sendo alterada, a ferramenta deverá ser executada pelo novo proprietário da instância.
Em um ambiente EEE, essa ferramenta deve ser executada em cada nó que requeira alterações. Um arquivo de configuração separado deverá ser fornecido para cada nó, incluindo o valor NODENUM do nó que estiver sendo alterado. Por exemplo, se o nome de um banco de dados estiver sendo alterado, todos os nós serão afetados e o comando db2relocatedb deverá ser executado com um arquivo de configuração separado em cada nó. Se estiverem sendo movidos contêineres pertencentes a um único nó, o comando db2relocatedb precisará ser executado somente uma vez nesse nó.
Consulte também
Para obter mais informações, consulte o comando db2inidb - Initialize a Mirrored Database na seção Command Reference.