[Oracle] Disco encheu? Precisa mover os Datafiles? Se liga nessa dica

Recentemente precisei mover alguns datafiles de lugar porque o espaço do diretório /u01 já estava completamente cheio, e por esse motivo, o banco estava DOWN, ou seja, inoperante. Aqui, quero compartilhar com vocês uma dica rápida para quem, às vezes, não sabe ou até mesmo tem dúvidas de como realizar essa operação de modo rápido e preciso.
Cenário
Para que você entenda o cenário, meu ORACLE_HOME e ORACLE_BASE estão no diretório /u01, e o diretório ORADATA também está todo lá. Ou seja, eu tinha um espaço limitado, porém o banco foi crescendo, crescendo, e em determinado momento ele estourou o espaço do /u01. Por esse motivo, o banco não conseguia alocar mais espaço e ficou inoperante, ou seja, down.
Como Fazer
- No meu caso, como o /u01havia estourado, poderíamos expandir o disco ou criar um novo. A equipe de infraestrutura criou um novo disco para movermos alguns datafiles a fim de liberar espaço no diretório/u01.
- Após criar a estrutura de diretórios dentro do novo disco (com permissões para o usuário oraclee o grupooinstall), movemos os arquivos do/u01para o novo diretório.mv caminho_do_diretorio/nome_do_arquivo.dbf novo_caminho/nome_do_arquivo.dbfExemplo: mv /u01/oradata/users.dbf /u02/oradata/users.dbf
 
- Após finalizar a movimentação dos arquivos, devemos verificar se o espaço foi liberado no diretório que estava cheio. No meu caso, mesmo movendo os arquivos, o espaço no /u01não era liberado. Precisamos então dar umkillno processo do banco, pois ele ainda estava rodando e alocando espaço.kill -9 PID
 Para identificar o processo, usamos: ps -ef | grep pmon
 
- Com o processo encerrado e o espaço liberado, devemos subir o banco no modo MOUNTpara executarmos um comando no banco e informarmos ao Oracle que os arquivos movidos agora estão em outro lugar.sqlplus / as sysdba
 startup mount;
 
- No modo MOUNT, digite o seguinte comando:ALTER DATABASE RENAME FILE '/u01/oradata/old_file.dbf' TO '/novo_disco/oradata/new_file.dbf';
 
- Feito isso, agora devemos abrir o banco:
ALTER DATABASE OPEN;
 
Galera, é isso! Lembrando que isso foi testado e funcionou comigo.
Até a próxima!

