Pular para o conteúdo principal

Clonando database usando RMAN

Database de Origem:

oracle@denilson:~> rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Oct 1 15:07:49 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=3270432501)
RMAN> backup database plus archivelog;

-- mais informações sobre RMAN:
http://dicasoracledba.blogspot.com/2009/05/backup-rapido-e-simples-com-rman.html

* Copiar todos os backup pieces
* Copiar controlfile backup piece
* Copiar arquivo de parametros (init.ora)

Database Destino:

oracle@denilson_bkp:~> rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Sep 19 15:07:49 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)
RMAN> startup nomount;
Oracle instance started
Total System Global Area 205520896 bytes
Fixed Size 1218508 bytes
Variable Size 75499572 bytes
Database Buffers 121634816 bytes
Redo Buffers 7168000 bytes



Restaurar controlfile do backup piece:


RMAN> restore controlfile from '/u01/rman/backup/c-3932056136-20070213-02';
Starting restore at 13-SEP-09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete,
elapsed time: 00:00:02
output filename=/u01/oracle/product/oradata/ora10g/orcl/control01.ctl
Finished restore at 13-SEP-09


RMAN> alter database mount ;

-- Catalogar todos os backup pieces copiados do banco de origem:

Exemplo:
RMAN> catalog backuppiece '/u01/rman/backup/o1_mf_annnn_TAG20070213T002925_2x21m6ty_.bkp';
Starting implicit crosscheck backup at 13-FEB-07allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=155 devtype=DISK
Crosschecked 3 objects
Finished implicit crosscheck backup at 13-FEB-07
Starting implicit crosscheck copy at 13-FEB-07using channel ORA_DISK_1
Finished implicit crosscheck copy at 13-FEB-07searching for all files in the recovery areacataloging files..

-- Verificar após catalogar:

RMAN > list backup of archivelog all;


Caso a estrutura de diretórios no servidor de destino estiver diferente você pode renomear os arquivos:

-- Renomeando redo logs:
SQL> alter database rename file '/u01/oracle/product/oradata/ora10g/orcl/redo01.log' to '/u01/oracle/product/oradata/orcl/redo01.log';

-- Renomeando datafiles:
RMAN> run { set until sequence set newname for datafile 1 to '/u01/oracle/product/oradata/orcl/system01.dbf';
set newname for datafile 2 to '/u01/oracle/product/oradata/orcl/undotbs01.dbf'; set newname for datafile 3 to '/u01/oracle/product/oradata/orcl/sysaux01.dbf'; }


RMAN> restore database;

-- Caso foi necessário renomear os arquivos utilize o switch datafile:
RMAN> switch datafile all;

RMAN> recover database;

RMAN> alter database open resetlogs;



Comentários

Postagens mais visitadas deste blog

Index SKIP SCAN???

Index Skip Scan nada mais é que o "split" logico de um indice composto, ou seja, se sua clausula WHERE não tiver todos os campos do indice composto, ele é dividido em menores sub-indices Exemplo: -------- SQL> create table teste(a number,b number); Table created. SQL> begin 2 for i in 1..1000 3 loop 4 insert into teste values(i, 56); 5 end loop; 6 end; 7 / PL/SQL procedure successfully completed. SQL> create index idx_teste on teste(a,b); Index created. SQL> analyze table teste compute statistics; Table analyzed. SQL> explain plan for select /*+ index_ss(teste idx_teste) */ * from teste where b=56; Explained. SQL> start ?\rdbms\admin\utlxpls.sql -------------------------------------------------------------------------------- | Operation | Name | Rows | Bytes| Cost | Pstart| Pstop | -------------------------------------------------------------------------------- | SELECT STATEMENT | | 1...

Configurar Tamanho de UNDO e tempo de RETENÇÃO (UNDO_RETENTION)

-- Tamanho Undo Atual SELECT SUM(a.bytes) "UNDO_SIZE" FROM v$datafile a, v$tablespace b, dba_tablespaces c WHERE c.contents = 'UNDO' AND c.status = 'ONLINE' AND b.name = c.tablespace_name AND a.ts# = b.ts#; -- Blocos de UNDO por Seg. SELECT MAX(undoblks/((end_time-begin_time)*3600*24)) "UNDO_BLOCK_PER_SEC" FROM v$undostat; --Tamanho do Bloco SELECT TO_NUMBER(value) "DB_BLOCK_SIZE [KByte]" FROM v$parameter WHERE name = 'db_block_size'; -- Select calcula UNDO RETENTION SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]", SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]", ROUND((d.undo_size / (to_number(f.value) * g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION [Sec]" FROM ( SELECT SUM(a.bytes) undo_size FROM v$datafile a, v$tablespace b, dba_tablespaces c WHERE c.contents = 'UNDO' ...

OHS 12c noprompt password when stop/start component

cd $OHS_DOMAIN/bin $ ./stopComponent.sh ohs1 Stopping System Component ohs1 ... Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Reading domain from /u01/oracle/domains/ohs_domain Please enter your password : password Connecting to Node Manager ... Successfully Connected to Node Manager. Killing server ohs1 ... Successfully killed server ohs1 Successfully disconnected from Node Manager. Exiting WebLogic Scripting Tool. Done $ OHS_HOME/oracle_common/common/bin $ wlst.sh readDomain('/u01/oracle/domains/ohs_domain') ohs_domain>cd('/SecurityConfiguration/ohs_domain') set('NodeManagerUsername','weblogic') set('NodeManagerPasswordEncrypted','password') updateDomain() closeDomain() exit() $ ./startComponent.sh ohs1  Starting system Component ohs1 ... Initializing WebLogic Scripting Tool (WLST) ... Welco...