› Fóruns › Banco de dados Oracle › Restaurando um banco em vários diskgroups › Restaurando um banco em vários diskgroups
Paulo,
para restaurar datafiles em path’s diferentes,
seja no asm ou em filesystem o RMAN possui as
claúsulas. SET NEW NAME e SWITH.
ex:
SET NEWNAME FOR DATAFILE ‘+dados2/oracle/oradata/db01/users.dbf’ TO
‘+dados1/oracle/oradata/db01/users.dbf’;
RESTORE DATAFILE ‘+dados2/app/oracle/oradata/db01/users.dbf`;
SWITCH DATAFILE ‘+dados1/app/oracle/oradata/db01/users.dbf’ TO DATAFILE COPY
‘+dados2/app/oracle/oradata/db01/users_index.dbf’;
ex2: Se for varios datafiles usa o claúsula
switch datafile all:
RUN {
set newname for datafile 1 to ‘/u03/wis/system01.dbf’;
set newname for datafile 2 to ‘/u03/wis/undotbs1.dbf’;
set newname for datafile 3 to ‘/u03/wis/sysauy01.dbf’;
set newname for datafile 4 to ‘/u03/wis/data_entrega.dbf’;
set newname for datafile 5 to ‘/u03/wis/data_entrega_small.dbf’;
set newname for datafile 6 to ‘/u03/wis/gkoscf_dtau.dbf’;
set newname for datafile 7 to ‘/u03/wis/gkoscf_inau.dbf’;
set newname for datafile 8 to ‘/u03/wis/gkoscf_indy.dbf’;
set newname for datafile 9 to ‘/u03/wis/indy_entrega.dbf’;
set newname for datafile 10 to ‘/u03/wis/tbs_data_asstec.dbf’;
set newname for datafile 11 to ‘/u03/wis/tbs_data_cestqhist_32m.dbf’;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo01.log”
TO ”/u03/wis/redo01.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo02.log”
TO ”/u03/wis/redo02.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo03.log”
TO ”/u03/wis/redo03.log” “;
SQL “ALTER DATABASE RENAME FILE ”/u02/oracle/oradata/wis/redo04.log”
TO ”/u03/wis/redo04.log” “;
RESTORE DATABASE;
switch datafile all;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS;
}
Ele basicamente irá dizer pro control-file os novos
caminhos a serem restaurados.
Rman é foda né!! rsrs