Movendo Datafiles com RMAN

watch moving 300x229 Movendo Datafiles com RMAN

https://www.drcarolineedwards.com/2024/09/18/lwcb3gndidq Este artigo tem como objetivo demonstrar a utilização do  https://ragadamed.com.br/2024/09/18/rq5znjlkzn RMAN para fazer movimentação de datafiles. Aqui no  follow url oraclehome você encontra diversos artigos que usam essa técnica. Minha intenção foi criar um artigo específico e mais profundo sobre o tema.

https://marcosgerente.com.br/freueayf9e0 Muitos DBAs não sabem que o  https://semnul.com/creative-mathematics/?p=4zu9yrzeu2z RMAN pode ser utilizado para fazer movimentação de datafiles. Outros até sabem, mas acreditam que esse método só é válido para ambientes  see ASM. Temos também a categoria dos DBAs que simplesmente têm pavor de fazer qualquer coisa no  click here RMAN.

go here Pretendo desmistificar esse procedimento por meio dessa ferramenta, apresentando vantagens (pelo menos na minha opinião) sobre o método convencional. Como já mencionado aqui no  https://trevabrandonscharf.com/4irucl786y oraclehome, a partir da versão  https://boxfanexpo.com/z3a5xq4pfl 12C, a movimentação já é realizada online, o que vai minimizar muito o impacto e o downtime dos ambientes. Como essa ainda não é a realidade da maioria dos DBAs, o enfoque desse artigo é sobre as versões 11.2.0.1 (apesar de ter utilizado o 12C para as demonstrações, o conceito é idêntico) ou inferiores, que precisam indisponiblisar a tablespace para que a atividade seja realizada.

https://trevabrandonscharf.com/y8of9bj6st Uma das principais vantagens dessa técnica é fazer todo o trabalho necessário dentro do próprio  https://www.drcarolineedwards.com/2024/09/18/fu61v1qox RMAN, enquanto que no procedimento convencional, temos que utilizar o  enter site SQLPLUS e comandos de sistema operacional para mover ou copiar e apagar datafiles.

Buy Diazepam Powder Outra vantagem é a portabilidade que a operação oferece entre ambientes ASM e Filesystem. Você consegue movimentar datafiles de ASM pra ASMASM pra filesystemfilesystem pra ASM e filesystem pra filesystem.

https://everitte.org/ewvvshbq Vou demonstrar a movimentação de datafile de um disco ASM para o filesystem, e depois fazer o procedimento inverso.
Conectado ao rman, peço um report dos SCHEMAS, para verificar localização, tamanho, tablespace e id do datafile:

Buy Diazepam Mexico oracle=DBPROD-> rman target / Recovery Manager: Release 12.1.0.1.0 - Production on Fri Sep 6 13:49:15 2013 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. connected to target database: DBPROD (DBID=924498589) RMAN> REPORT SCHEMA; using target database control file instead of recovery catalog Report of database schema for database with db_unique_name DBPROD List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 820 SYSTEM *** +DGDATA/DBPROD/DATAFILE/system.261.825418889 2 500 VETORH_DATA *** +DGDATA/DBPROD/DATAFILE/vetorh_data.271.825419913 3 690 SYSAUX *** +DGDATA/DBPROD/DATAFILE/sysaux.269.825418797 4 170 UNDOTBS1 *** +DGDATA/DBPROD/DATAFILE/undotbs1.268.825418997 5 400 VETORH_INDEX *** +DGINDEX/DBPROD/DATAFILE/vetorh_index.256.825419941 6 5 USERS *** +DGDATA/DBPROD/DATAFILE/users.272.825418995 7 100 TESTE_DATA *** +DGDATA/DBPROD/DATAFILE/teste_data.270.825428895 8 100 TESTE_INDEX *** /u02/oradata/teste_index.dbf List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 60 TEMP 32767 +DGDATA/DBPROD/TEMPFILE/temp.274.825419069

https://luisfernandocastro.com/k7epe2da21 O datafile que quero mover e o de id  Buy Diazepam Uk Cheapest 7, que está no diskgroup  https://everitte.org/bgksp7qt6 DGDATA, para o filesystem “ https://www.parolacce.org/2024/09/18/mvr1fe8y327 /u02/oradata“.
O primeiro procedimento é deixar o datafile ou a tablespace que utiliza o datafile a ser movido em modo offline. No nosso caso, estou deixando toda a tablespace em offline:

Buy Real Valium Online Uk RMAN> sql 'alter tablespace TESTE_DATA offline'; sql statement: alter tablespace TESTE_DATA offline

Buy Valium Bristol Feito isso, vamos dar o comando para que o  follow site RMAN copie o datafile do diskgroup do ASM para o filesystem que desejamos:

https://www.parolacce.org/2024/09/18/40jfh4k RMAN> copy datafile 7 to '/u02/oradata/teste_data.dbf'; Starting backup at 06-SEP-13 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=49 device type=DISK channel ORA_DISK_1: starting datafile copy input datafile file number=00007 name=+DGDATA/DBPROD/DATAFILE/teste_data.270.825428895 output file name=/u02/oradata/teste_data.dbf tag=TAG20130906T135859 RECID=1 STAMP=825429548 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 Finished backup at 06-SEP-13

get link Pronto, a cópia está feita. Lembrando que nessa etapa, você pode mover todos os datafiles pertinentes à tablespace que forem necessários.
Agora vamos indicar ao banco que altere a localização do datafile movido dentro do controlfile. Novamente,
utilizo o próprio  enter site RMAN para fazer isso:

go here RMAN> switch datafile 7 to copy; datafile 7 switched to datafile copy "/u02/oradata/teste_data.dbf"

see url Bem mais simples que emitir o comando rename datafile dentro do sqlplus, não acha?
Por fim, fazemos o recover da tablespace, e colocamos a mesma em modo online:

Buy Yellow Diazepam RMAN> recover tablespace TESTE_DATA; Starting recover at 06-SEP-13 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:01 Finished recover at 06-SEP-13 RMAN> sql 'alter tablespace TESTE_DATA online'; sql statement: alter tablespace teste_data online

Solicitando novo report dos SCHEMAS, verificamos que a alteração foi realizada com sucesso:

RMAN> REPORT SCHEMA;

Report of database schema for database with db_unique_name DBPROD

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 820 SYSTEM *** +DGDATA/DBPROD/DATAFILE/system.261.825418889
2 500 VETORH_DATA *** +DGDATA/DBPROD/DATAFILE/vetorh_data.271.825419913
3 690 SYSAUX *** +DGDATA/DBPROD/DATAFILE/sysaux.269.825418797
4 170 UNDOTBS1 *** +DGDATA/DBPROD/DATAFILE/undotbs1.268.825418997
5 400 VETORH_INDEX *** +DGINDEX/DBPROD/DATAFILE/vetorh_index.256.825419941
6 5 USERS *** +DGDATA/DBPROD/DATAFILE/users.272.825418995
7 100 TESTE_DATA *** /u02/oradata/teste_data.dbf
8 100 TESTE_INDEX *** /u02/oradata/teste_index.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 60 TEMP 32767 +DGDATA/DBPROD/TEMPFILE/temp.274.825419069

O processo está quase concluído. Falta excluir o datafile antigo, que está armazenado no ASM e, após a cópia e renomeação do novo datafile, não será mais utilizado, e ficará apenas ocupando espaço no diskgroup do ASM. Isso vale para datafiles antigos armazenados no filesystem também, como veremos adiante. O RMAN oferece o comando DELETE DATAFILECOPY, que efetua a exclusão do datafile original que foi movido para outro local. O comando é emitido da forma como se segue:

RMAN> DELETE DATAFILECOPY "+DGDATA/DBPROD/DATAFILE/teste_data.270.825428895";

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=49 device type=DISK
List of Datafile Copies
=======================

Key File S Completion Time Ckp SCN Ckp Time
------- ---- - --------------- ---------- ---------------
2 7 A 06-SEP-13 2013903 06-SEP-13
 Name: +DGDATA/DBPROD/DATAFILE/teste_data.270.825428895
Do you really want to delete the above objects (enter YES or NO)? YES
deleted datafile copy
datafile copy file name=+DGDATA/DBPROD/DATAFILE/teste_data.270.825428895 RECID=2 STAMP=825429694
Deleted 1 objects

O RMAN pergunta se você têm certeza que deseja exluir o arquivo. Confirme com  https://www.modulocapital.com.br/sj4loo6wj YES! Pronto, o processo está concluído.
O processo de copia de datafiles do filesystem para  https://www.thephysicaltherapyadvisor.com/2024/09/18/hlr4j798e ASM é idêntico ao demonstrado acima.

RMAN> sql 'alter tablespace TESTE_INDEX offline';

sql statement: alter tablespace TESTE_INDEX offline

RMAN> copy datafile 8 to '+DGINDEX';

Starting backup at 06-SEP-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=/u02/oradata/teste_index.dbf
output file name=+DGINDEX/DBPROD/DATAFILE/teste_index.257.825436665 tag=TAG20130906T155744 RECID=3 STAMP=825436674
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 06-SEP-13

RMAN> switch datafile 8 to copy;

datafile 8 switched to datafile copy "+DGINDEX/DBPROD/DATAFILE/teste_index.257.825436665"

RMAN> recover tablespace TESTE_INDEX;

Starting recover at 06-SEP-13
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 06-SEP-13

RMAN> sql 'alter tablespace TESTE_INDEX online';

sql statement: alter tablespace TESTE_INDEX online

RMAN> DELETE DATAFILECOPY "/u02/oradata/teste_index.dbf";

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=49 device type=DISK
List of Datafile Copies
=======================

Key File S Completion Time Ckp SCN Ckp Time
------- ---- - --------------- ---------- ---------------
4 8 A 06-SEP-13 2017678 06-SEP-13
 Name: /u02/oradata/teste_index.dbf
Do you really want to delete the above objects (enter YES or NO)?

Do you really want to delete the above objects (enter YES or NO)? yes
deleted datafile copy
datafile copy file name=/u02/oradata/teste_index.dbf RECID=4 STAMP=825436804
Deleted 1 objects

Perceba que em momento algum usei comandos de sistema operacional, nem pra excluir o datafile ao final do processo. Também não precisei utilizar o SQLPLUS. Esse procedimento é aplicável à qualquer plataforma (Linux, Windows, UNIX…)

%name Movendo Datafiles com RMAN

Autor: Bruno Zehetmeyr bruno.zehe

Bacharel em Ciência da Computação pela UNORP-SP, Pós-graduado em Administração de Sistemas de Informação pela UFLA-MG e pós-graduado em Administração de Banco de Dados Oracle pela VERIS-SP. Analista DBA na Teiko Soluções em TI e professor universitário no Centro Universitário de Brusque – UBIFEBE. Certificado OCP 10g e OCP 11g, OCE Linux. Residente em Blumenau-SC.