Em algum momento da administração do ambiente de banco de dados, podemos ter a necessidade de renomear ou mover um datafile criado em nosso ambiente.
Para isso, no oracle 12c , diferentemente das versões anteriores, podemos fazer essa alteração (renomear ou mover um datafile) de forma on-line, com o comando MOVE.
A utilização desse comando é bem simples, onde devemos informar basicamente o arquivo de origem e o nome do novo arquivo, que podemos denominar como destino, ou o novo nome do datafile que estamos renomeando / movendo.
Para isso, basta seguirmos o exemplo abaixo, com o banco de dados on-line:
ALTER DATABASE MOVE DATAFILE 'Datafile_origem' TO 'Datafile_destino';
Ex.:
ALTER DATABASE MOVE DATAFILE '+DG_01/xpto/datafile_001.dbf' TO '+DG_01/xpto/datafile_002.dbf';
Observações:
- Podemos renomear o datafile dentro do mesmo DG e também mudando o datafile de DG e/ou de diretório dentro do ASM;
- Dependendo do tamanho do datafile, o tempo de execução do comando MOVE será maior ou menor.
Em um teste, onde utilizamos dois datafiles, um com 10MB e outro com 10GB de tamanho, tivemos uma diferença grande no tempo de conclusão do comando MOVE, onde o datafile com 10MB foi alterado quase que de imediato e o outro datafile com 10GB, levou certa de 6 minutos para ter o nome alterado, mas isso vai depender de cada ambiente.
Referência:
http://www.oracle.com/technetwork/pt/articles/sql/renomear-mover-datafiles-online-12c-2206445-ptb.html