Você está na página 1de 4

Migrando para ASM utilizando apenas o RMAN

by Flávio Soares -
http://flaviosoares.com/2012-01/migrando-para-asm-utilizando-apenas-o-rman/

Migrando para ASM utilizando apenas o RMAN


O ASM é sem dúvida um dos maiores avanços de gerenciamento de disco e muitas coisas
relacionadas a I/O (performance, gerenciamento, etc..). Em um outro post estarei mostrando
as vantagens de um ambiente utilizando ASM e como ele é benéfico para o ambiente.

Apesar de todas essas vantagens, ainda hoje existem muitos ambientes em que não é
utilizado o ASM. Pensando nisso hoje estaremos vendo como utilizar o RMAN (apenas o
RMAN) para realizar uma migração de um filesystem comum como ext3 para ASM.

No nosso caso, estaremos movendo todos os datafiles e tempfiles do banco dbtst para o
diskgroup +DGROUP1.

[oracle@oracle11gR3 ~]$ rman target /


Recovery Manager: Release 11.2.0.3.0 - Production on Wed Jan 4 13:56:46 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DBTST (DBID=2987787466)

-- Habilitando o Oracle Managed File


RMAN> sql "alter system set db_create_file_dest=''+DGROUP1'' scope=spfile";
using target database control file instead of recovery catalog
sql statement: alter system set db_create_file_dest=''+DGROUP1'' scope=spfile

-- Mudando a localização do controlfile


RMAN> sql "alter system set control_files=''+DGROUP1'' scope=spfile";
using target database control file instead of recovery catalog
sql statement: alter system set control_files=''+DGROUP1'' scope=spfile

RMAN> shutdown immediate;


database closed
database dismounted
Oracle instance shut down

-- Subimos o banco em modo NOMOUNT


RMAN> startup nomount
connected to target database (not started)
Oracle instance started

Total System Global Area 839282688 bytes

Fixed Size 2233000 bytes


Variable Size 511708504 bytes
Database Buffers 318767104 bytes
Redo Buffers 6574080 bytes

página 1 / 4
Migrando para ASM utilizando apenas o RMAN
by Flávio Soares -
http://flaviosoares.com/2012-01/migrando-para-asm-utilizando-apenas-o-rman/

Nesse momento vamos restaurar o nosso control file atual


('/u01/app/oracle/oradata/dbtst/control01.ctl' ou '/u01/app/oracle/oradata/dbtst/control02.ctl')
para o diskgroup DGROUP1. O grande lance aqui é que como mudamos o parâmetro
control_files para o +DGROUP1 e habilitamos o Oracle Managed Files e temos uma cópia
consistência do control files pois baixamos o banco de maneira adequada, simplesmente
restaurando o control file atual ele irá gerar no caminho do diskgroup DGROUP1.

Observe a saída do comando:

RMAN> restore controlfile from '/u01/app/oracle/oradata/dbtst/control01.ctl';

Starting restore at 04-JAN-12


allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=137 device type=DISK

channel ORA_DISK_1: copied control file copy


output file name=+DGROUP1/dbtst/controlfile/current.256.771688895
Finished restore at 04-JAN-12

Como já temos nosso control file restaurado para o DGROUP1, podemos inicializar o banco
em mount.

RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

Agora vamos realizar um backup do tipo copy formatando para o diskgroup DGROUP1.

RMAN> BACKUP AS COPY DATABASE DATABASE FORMAT '+DGROUP1';

Starting backup at 04-JAN-12


allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=137 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/dbtst/system01.dbf
output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/data_D-DBTST_I-2987787466
_TS-SYSTEM_FNO-1_01mvu2gt tag=TAG20120104T140308 RECID=2 STAMP=771689052
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:06
channel ORA_DISK_1: starting datafile copy

página 2 / 4
Migrando para ASM utilizando apenas o RMAN
by Flávio Soares -
http://flaviosoares.com/2012-01/migrando-para-asm-utilizando-apenas-o-rman/

...

input datafile file number=00004 name=/u01/app/oracle/oradata/dbtst/users01.dbf


output file name=+DGROUP1/dbtst/datafile/users.262.771689571 tag=TAG20120104T140308
RECID=13 STAMP=771689575
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 04-JAN-12
channel ORA_DISK_1: finished piece 1 at 04-JAN-12
piece handle=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/0dmvu33a_1_1 tag=TAG201201
04T140308 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 04-JAN-12
channel ORA_DISK_1: finished piece 1 at 04-JAN-12
piece handle=+DGROUP1/dbtst/backupset/2012_01_04/nnsnf0_tag20120104t140308_0.263.
771689581 tag=TAG20120104T140308 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 04-JAN-12

Com a image copy do banco de dados feito, o vamos migrar nossos datafiles para esses
arquivos de copias de backup. Isso tudo é feito através do comando SWITCH DATABASE TO
COPY, que sempre quando utilizado deve-se realizar um recover do banco de dados.

RMAN> SWITCH DATABASE TO COPY;

RMAN> RECOVER DATABASE;

Agora abrimos o banco e adicionamos um novo tempfile para o tablespace TEMP e


removemos o tempfile '/u01/app/oracle/oradata/dbtst/temp01.dbf' antigo. Como nosso OMF
está apontando para o diskgroup DGROUP1 não precisamos especificar o caminho do
tempfile na sua criação.

RMAN> SQL "ALTER DATABASE OPEN";


RMAN> SQL "ALTER TABLESPACE TEMP ADD TEMPFILE";
RMAN> SQL "ALTER DATABASE TEMPFILE ''/u01/app/oracle/oradata/dbtst/temp01.dbf'' DR
OP";

página 3 / 4
Migrando para ASM utilizando apenas o RMAN
by Flávio Soares -
http://flaviosoares.com/2012-01/migrando-para-asm-utilizando-apenas-o-rman/

Após esses passos seus datafiles e tempfiles estarão todos no ASM.

página 4 / 4

Powered by TCPDF (www.tcpdf.org)

Você também pode gostar