Usar comandos ASM num ambiente RAC é uma coisa muito chatinha... (pra dizer o mínimo). Não podemos reclamar, afinal é isso que nos mantem empregados ;-).
Bom, depois de suar muito, descobri como copiar arquivos entre diskgroups num ambiente Oracle RAC ASM. Vejam estas dicas muito fáceis!
Como mover datafiles entre diskgroups:
1) Coloque a tablespace offline (indisponível para uso):
SQL> ALTER TABLESPACE exemplo OFFLINE;
2) Entre na ferramenta RMAN do Oracle:
[oracle@rac1 racdb]$ rman target / nocatalog
3) Copie os datafiles para o diskgroup desejado:
copy datafile '+DG_DISK3/sysdb/datafile/datafile1.dbf' to '+DG_DISK1'; (estamos movendo do diskgroup 3 para o diskgroup 1)
4) Anote o nome que será gerado para o datafile no diskgroup de destino (ver passo3)
5) Renomeie o datafile para o nome que o RMAN gerou no passo 3
alter database rename file '+DG_DISK3/sysdb/datafile/datafile1.dbf' to 'nome do rman passo 3';
6) Repita os passos acima para copiar outros datafiles, se for preciso;
7) Coloque as tablespaces online:
SQL> ALTER TABLESPACE exemplo ONLINE;
Simples, não é mesmo? Mas e se você quiser mover a tablespace SYSTEM ou a SYSAUX? Aqui é que a porca torce o rabo...
Nada de muito complicado, mas será preciso tirar o banco de dados do ar e somente funcionará se seu banco estiver no modo archive. Veja como fazer:
Como mover tablespace SYSTEM e SYSAUX para outro DISKGROUP (RAC com ASM)
1) Identifique a localização da tablespace SYSTEM e do seu respectivo datafile:
SQL> select ts.name,df.name from v$datafile df,v$tablespace ts where ts.ts#=df.ts# and ts.name='SYSTEM';
2) Entre na ferramenta RMAN do Oracle:
[oracle@rac1 racdb]$ rman target / nocatalog
3) Copie o datafile para o novo diskgroup:
RMAN> backup as copy tablespace system format '+DG_DISK1';
4) Tire o banco de dados do ar:
RMAN> shutdown immediate;
5) Reinicie o banco com a opção MOUNT:
RMAN> startup mount;
6) Informe a nova localização do datafile:
RMAN> switch tablespace system to copy;
7) Execute a recuperação do banco de dados:
RMAN> recover database;
8) Abra o banco:
RMAN> alter database open;
Para a tablespace SYSAUX a sequencia é a mesma, ok?
Felizmente na versão 11g já existe um opção para copiar arquivos dentro do próprio ASM. A coisa tá melhorando...
Abraços e Sucesso!
Luis Adelson
PS. As vezes fico sem escrever porque acho que alguns artigos são simples demais. Vocês poderiam sugerir algum assunto para ser dismitificado aqui?
Nenhum comentário:
Postar um comentário