SVRMGR> connect internal
Connected.SVRMGR> select * from v$database;
NAME CREATED LOG_MODE CHECKPOINT ARCHIVE_CH
--------- -------------------- ------------ ---------- ----------
DATA 06/16/06 17:24:55 ARCHIVELOG 4728248833 4728248830
1 row selected.SVRMGR>
Si no se encuentra en modo ARCHIVELOG los pasos son.seteo de los parámetros del initlog_archive_dest = /opt1/oracle/arch/
log_archive_start = true
shutdown de la base.
STARTUP MOUNT EXCLUSIVE;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
listo ahora esta en archivelog mode
una vez comprobado esto hay que hacer un backup.
yo utilize este para generar el script de bkp debido a que la base tenía datafiles sobre raw devices y sobre archivos planos.
set serveroutput on size 100000
spool /opt1/oracle/dbs/copia_hot.sql
BEGIN
DECLARE
v_sentencia VARCHAR2(500);
secuencia number;
v_termina varchar2(50);
v_archivo varchar2(50);
BEGIN
secuencia := 0;
dbms_output.put_line('set serveroutput on;');
dbms_output.put_line('spool /opt1/oracle/dbs/copia_hot.log;');
FOR i IN (SELECT tablespace_name,SUM(bytes)
FROM dba_data_files
GROUP BY tablespace_name
ORDER BY 2 DESC)
LOOP
BEGIN
dbms_output.put_line ('alter tablespace 'i.tablespace_name' begin backup;');
FOR j IN ( SELECT file_name
FROM dba_data_files
WHERE tablespace_name = i.tablespace_name)
LOOP
secuencia := secuencia + 1;
select upper(substr(j.file_name,(length(j.file_name))-3,length(j.file_name))),
substr(file_name,(instr(file_name,'/',1,((length(file_name) - nvl(length(replace(file_name, '/', '')),0)) /length('/'))))+1)
into v_termina, v_archivo
from dba_data_files
where file_name = j.file_name
and tablespace_name = i.tablespace_name;
if v_termina = '.DBF' then
dbms_output.put_line ('!rcp ' j.file_name ' oracle1@destino:'j.file_name';');
dbms_output.put_line ('!rsh destino -l oracle1 chmod 660 'j.file_name';');
else
dbms_output.put_line ('!dd if='j.file_name' bs=2048k rsh bbatrece -l oracle1 "dd of=' j.file_name' bs=2048k";');
end if;
END LOOP;
dbms_output.put_line ('alter tablespace 'i.tablespace_name' end backup;');
dbms_output.put_line ('alter system archive log current;');
END;
END LOOP;
END;
dbms_output.put_line ('ALTER DATABASE CREATE STANDBY CONTROLFILE AS''''/opt1/oracle/dbs/controlsb.ctl'''';');
begin
for cur1 in ( select upper(substr(name,(length(name))-3,length(name))) termina, name archivo
from v$controlfile)
loop
if cur1.termina = '.CTL' then
dbms_output.put_line ('!rcp /opt1/oracle/dbs/controlsb.ctl destino:'cur1.archivo';'); else
dbms_output.put_line ('!dd if=/opt1/oracle/dbs/controlsb.ctl bs=2048k rsh destino-l oracle1 "dd of='cur1.archivo' bs=2048k";');
end if;
end loop;
dbms_output.put_line('spool off;');
dbms_output.put_line('exit;');
END;/
spool OFF
Con este script se genera otro como este.
set serveroutput on;
spool /opt1/oracle/dbs/copia_hot.log;
alter tablespace COMERCIAL begin backup;
!rcp /oracle/oradata03/comercial1.dbf oracle1@destino:/oracle/oradata03/comercial1.dbf;
!rsh destino -l oracle1 chmod 660 /oracle/oradata03/comercial1.dbf;
!dd if=/dev/rdsk/c120t0d9s2 bs=2048k rsh destino -l oracle1 "dd of=/dev/rdsk/c120t0d9s2 bs=2048k";
!dd if=/dev/rdsk/c120t0d11s4 bs=2048k rsh destino -l oracle1 "dd of=/dev/rdsk/c120t0d11s4 bs=2048k";
!dd if=/dev/rdsk/c120t0d2s1 bs=2048k rsh destino -l oracle1 "dd of=/dev/rdsk/c120t0d2s1 bs=2048k";!rcp /oradata/SPERIF/base/comercial2.dbf oracle1@destino:/oradata/SPERIF/base/comercial2.dbf;
!rsh destino -l oracle1 chmod 660 /oradata/SPERIF/base/comercial2.dbf;
;alter tablespace COMERCIAL end backup;
etc...etc...etc
Luego de estar copiado todo junto con el home de ORACLE
se genera el controlfile para la Standby.
ALTER DATABASE CREATE STANDBY CONTROLFILE AS'/opt1/oracle/dbs/controlsb.ctl';
se copia el control file generado pisando el o los control files en el destino.
rcp /opt1/oracle/dbs/controlsb.ctl destino:/opt1/oracle/dbs/ctlSPERIF02.ctl;
una vez hecho esto se intenta subir la base para ver que funcione.
svrmgrl <
startup nomount;
alter database mount standby database;
recover standby database;
auto
quit
EOF
Ahora va a aplicar todos los archive logs que necesite aplicar.
No hay comentarios:
Publicar un comentario