Saudacoes aos DBAs , aqueles que tornam o impossivel em possivel!Hoje falamos de um assunto muito, mas muito interessante e util no canivete suico de um DBA, mover arquivos do nosso banco ou ate mesmo o banco inteiro de um local(disco,LUN) para outro.Por que fariamos isso?Migracoes de storage, discos (para discos mais rapidos) , ou no que acontece 100% das vezes, um sistema criado em ambiente de testes e promovido para producao sem muita pompa e circunstancia, ai o DBA pula da cadeira, mas gerente, esse ambiente e de testes, nao suporta o tranco do dia a dia, precisamos dimensionar a carga, crescimento e tal... Gerente: Na precisa nao , aperta uns botao ai e faz milagre, nao da nao? DBA: Filha da $#@%&* ..... Afff.... Blza vou ver o que , da para fazer. Ok, cenario apresentado, vamos as solucoes. Podemos fazer um dump via expdp, ou um restore via rman. Entao pedimos um disco maior e nosso objetivo e levar todos nossos arquivos do ponto de montagem a para o ponto de montagem b.No meu caso , estava em um ambiente clusterizado sem utilizar asm, assim foi necessario usar o ocfs2 para detalhas sobre oocfs2 veja aqui: ocfs2 , apos configurar os discos como ocfs2 resolvi simplesmente fazer a copia dos arquivos sem usar um dump ou RMAN.Vejam abaixo como foi: Fiz cada estrutura de arquivo separadamente eu fui testando para nao dar Problema, por via das duvidas faca um backup antes(eu nao fiz uahauahauhau) Primeira etapa: Vamos mover o spfile, esse teoricamente seria o arquivo mais facil de se mover de lugar: Antes de mais nada criei os diretorios novos no disco novo nos dois servidores: mkdir -p /u02/oracle/oradata/orcl/datafile/mkdir -p /u02/oracle/oradata/orcl/conf/mkdir -p /u02/oracle/oradata/orcl/arch/ Vamos verificar a localizacao atual do spfile: No sqlplus : show parameter spfile; spfile string /u01/oracle/oradata/orcl/conf/spfiledw.ora Ok vamos mover o spfile para: spfile string /u02/oracle/oradata/orclconf/spfiledw.ora Para isso criamos um pfile baseado no spfile: create pfile='/u02/oracle/oradata/orcl/conf/initdw.ora' from spfile ; Agora vamos criar um spfile no diretorio novo baseado no pfile criado: create spfile='/u02/oracle/oradata/orcl/conf/spfiledw2.ora' from pfile='/u02/oracle/oradata/orcl/conf/initdw.ora' Como estamos em um ambiente RAC nao podemos esquecer de configurar o RAC para buscar o novo spfile: srvctl modify database d orcl -p /u02/oracle/oradata/orcl/conf/spfiledw2.ora Agora paramos o banco e iniciamos para ver se deu certo. Basta verificar novamente a localizacao do spfile.No meu caso deu certo vamos para a proxima estrutura de dados a ser movida. Segunda etapa vamos mover os control files ,essa estrutura e muito importante para o banco e sem ela o oracle nao consegue achar seus datafiles e para inicializacao, entre outras coisas. Vamos checar a localizacao atual dos controlfiles: select * from v$controlfile /u01/oracle/oradata/bkp1/orcl/datafile/control1.ctl Certo vamos mover o controlfile para : /u02/oracle/oradata/orcl/datafile/control1.ctl Logado no sqlplus como sys vamos alterar no spfile a localizacao do controlfile: ALTER SYSTEM SET control_files='/u02/oracle/oradata/orcl/datafile/control1.ctl' SCOPE=SPFILE; Certo, agora paramos nosso banco: srvctl stop database d orcl o immediate Ainda no sql plus vamos fazer a copia pelo sqlplus, confiram abaixo: HOST mv /u01/oracle/oradata/bkp1/orcl/datafile/control1.ctl /u02/oracle/oradata/orcl/datafile/control1.ctl ; Feito isso basta iniciar o banco srvctl start database d orcl Pronto , vamos para a proxima