Existem situações em que é necessário efetuar movimentação de datafiles para liberar espaço em uma partição que esta prestes a chegar ao limite, ou até mesmo para distribuir o consumo entre as partições disponíveis no servidor.
Ao efetuar a movimentação de um datafile nenhuma alteração pode ocorrer neste, sendo assim podemos baixar o banco de dados para movimentar ou baixar a tablespace a qual este datafile pertence.
Primeiro, vamos identificar o datafile que iremos mover, neste exemplo vou efetuar a movimentação do datafile tbd_dados2.dbf da partição /u01 para partição /u02.
Antes de efetuar a movimentação, vamos identificar a qual tablespace este datafile pertence, utilizando o script abaixo:
set lines 120;
col file_name format a60
col tablespace_name format a20
SELECT file_name, tablespace_name, ROUND(bytes/1024000) MB FROM dba_data_files where file_name LIKE '%tbd_dados2.dbf%' ORDER BY 1;
Podemos ver que este datafile pertence a tablespace TBS_DADOS;
Vamos alterar agora a tablespace para offline
alter tablespace TBS_DADOS offline;
Em seguida realizar a cópia pelo S.O.
cp /u01/app/oracle/oradata/ORCL/datafile/tbd_dados2.dbf /u02/app/oracle/oradata/ORCL/datafile/tbd_dados2.dbf
Atualizamos agora o novo local do datafile no banco;
alter database rename file '/u01/app/oracle/oradata/ORCL/datafile/tbd_dados2.dbf' to '/u02/app/oracle/oradata/ORCL/datafile/tbd_dados2.dbf';
Depois de alterado no banco de dados, colocaremos a tablespace online novamente.
alter tablespace TBS_DADOS online;
Agora podemos apagar no S.O o datafile que da partição /u01.
rm -f /u01/app/oracle/oradata/ORCL/datafile/tbd_dados2.dbf
De forma simples efetuamos a movimentação de um datafile entre partições sem a necessidade de baixar o banco de dados.
Fonte: "https://docs.oracle.com/cd/B28359_01/server.111/b28310/dfiles005.htm#ADMIN11430"








Nenhum comentário:
Postar um comentário