You are on page 1of 11

select * from v$backup_piece order by completion_time desc rman > list backup completed after '01-MAR-12';

para el ERP cuando se utiliza rman -------------------------------------------------------------rman > sql "alter session set optimizer_mode=RULE"; la configuracion del default -----------CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR EJEMPLO: cONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE clear;

SQL> SELECT s.sid, p.spid, s.program, s.action, s.client_info from v$session s, v$process p WHERE s.paddr = p.addr AND s.program like '%rman%'; There will be 2 processes : - the rman polling channel always has NULL in ACTION column. - the 1st rman default channel will have an Action (FINISHED) and NULL in client _info Note the spid of the 1st default channel eg 3165 then do: SQL> oradebug setospid 3165 SQL> oradebug unlimit SQL> oradebug event 10046 trace name context forever, level 12 ----------------------------------------------------------------------------------rman target / log rman.log trace rman.trc debug RMAN> list backupset summary; Upload the following files: - rman.log - rman.trc -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

delete noprompt archivelog from logseq=32592 until logseq=32670; crosscheck archivelog all; delete noprompt archivelog from logseq=32720 until logseq=32878;

---multiplexar controlfile en RAC+ASM --------------------------------------------shutdown immediate startup nomount Luego, rman target / restore controlfile to '+OTRODG' from 'ubicacion actual del controlfile'; Entras con asmcmd para ver la ruta del nuevo CF, y actualizas el spfile alter system set control_files='ruta1','ruta2',...,'rutan' scope=spfile; Luego bajas y subes la base ------------------------------------------------------------------SQL> select name,value from v$rman_configuration; Select space_used,space_limit from v$recovery_file_dest; SQL> select count(*) from V_$DATABASE_BLOCK_CORRUPTION; SQL> select count(*) from V_$BACKUP_CORRUPTION; SQL> select count(*) from V_$COPY_CORRUPTION;

SQL> connect / as sysdba SQL> shutdown immediate SQL> startup mount SQL> recover database using backup controlfile until cancel; -- type CANCEL SQL> alter database open resetlogs; -----------------------------------------------------BD NOARCHIVE ---------------------CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '?/oradata/%F'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt TO 'cf_auto_%F'; CONFIGURE CONTROLFILE AUTOBACKUP CLEAR; # returns to default setting of OFF ---CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default -----------------RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u03/cont rolfile_%F.bck'; rman target / RUN {

SHUTDOWN IMMEDIATE; STARTUP MOUNT; backup database format '/u03/backup_%U_%d_%s.bck'; alter database open; } rman target / run { SHUTDOWN IMMEDIATE; startup nomount; restore controlfile from autobackup;-----> toma respaldo de la FRA o del paramet ero db_recover_file_dest restore controlfile from '/u03/control'; alter database mount; restore database; recover database noredo; alter database open resetlogs; } ---------------------------snapshot del controlfile ---------------------------CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/db/dbs/sn apcf_CORQA1.f'; # default luego se puede hacer un restore al snapshot: restore controlfile from '/u01/app/oracle/product/10.2.0/db/dbs/snapcf_CORQA1.f' ; ------------------------------------------------------------------------------configuracion a cintas con RMAN -----------------------------------------------------------------------------------configure channel device type sbt parms= SBT_LIBRARY=/path/librera run { allocate channel 'dev_0' type 'sbt_tape' parms 'SBT_LIBRARY=/opt/omni/lib/libob2 oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=CORQA,OB2BARLIST=Full_Online _CORQA-Oracle-RAC)'; backup full database; backup format 'Full_Online_CORQA-Oracle-RAC<CORQA_%s:%t:%p>.dbf' archivelog all delete all input; backup format 'Full_Online_CORQA-Oracle-RAC<CORQA_%s:%t:%p>.dbf' current control file; crosscheck backup; crosscheck archivelog all; } -----------------------------------recuperar un datafile con RMAN --------------------------------------------------RMAN> RMAN> run { sql 'alter database datafile 30 offline'; restore datafile 30; recover datafile 30; sql 'alter database datafile 30 online' ;

} -----------------------------------recuperar un TABLESPACE con RMAN --------------------------------------------------sql 'alter session set optimizer_mode=RULE'; RMAN> run {sql 'alter tablespace users offline' ; restore tablespace users ; recover tablespace users ; sql 'alter tablespace users online' ; } -------------------------------------genera controlfile con sqlplus -----------------------------------ALTER DATABASE BACKUP CONTROLFILE TO '/u02/backup/hot/full/oraplaControlfile.bac kup' reuse; RECOVER DATABASE UNTIL TIME "TO_DATE('30-AUG-200609:30','DD-MON-YYYY HH24:MI')"; restore database until time "to_date('09-03-2010 19:00','dd-mm-yyyy hh24:mi')"; recover database until time "to_date('09-03-2010 19:00','dd-mm-yyyy hh24:mi')"; recuperacion incompleta -----------------------recover database until cancel; recover database until time '2009-01-01-10:20'; recover database until time '2009-01-01-10:20' using backup controlfile; con rman con bd mount ----------------------------RMAN> run { set until time= to_date('01-10-2009 10:40','dd-mm-yyyy hh24:mi') o bien puede ser: set until sequence 120 thread 1; restore database; recover database; alter database open resetlogs; } -------------------------------------------------------------------------------CONFIGURE CONTROLFILE AUTOBACKUP ON; backup database archivelog all delete input spfile; RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> startup nomount; restore controlfile; alter database mount; list backup; -------> para obtener el SCN restore database until scn 592007; recover database; alter database open resetlogs;

RECUPERACION CON RAC Y ASM ------------------------------------srvctl stop database -d CORQA; srvctl start database -d CORQA -o nomount; RMAN> restore controlfile from '+DISKGROUP1/corqa/backupset/2009_06_19/ncsnf0_t ag20090619t103734_0.335.689942283' srvctl stop database -d CORQA; srvctl start database -d CORQA -o mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open resetlogs; -------------------------------------------------------RMAN> crosscheck backup; RMAN> delete obsolete; RMAN> delete expired; Se borran los backups restantes: RMAN> delete backup; -----------------------------------------

DELETE DELETE DELETE DELETE

BACKUPPIECE 101; NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 300; BACKUP TAG='before_upgrade'; BACKUP OF TABLESPACE users DEVICE TYPE sbt; # delete only from tape

DELETE NOPROMPT ARCHIVELOG ALL; DELETE EXPIRED BACKUP; elimina todos los backup de la bd --------------------------------DELETE BACKUP; DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE 133 THREAD 1; list list list LIST list list list list LIST backup of archivelog all; backup of controlfile; backup of database; COPY OF DATAFILE 1, 2, 3; expired backup; backup by file; archivelog all; backup summary; INCARNATION;

list list LIST LIST LIST

BACKUPSET; copy; BACKUP BY FILE; COPY OF DATABASE ARCHIVELOG ALL; BACKUP OF DATAFILE 3 SUMMARY;

LIST BACKUP DEVICE TYPE sbt; LIST BACKUP DEVICE TYPE disk; list backup summary; restore database from tag='TAG20090617T171932'; recover database delete archivelog maxsize 50m; alter database open; Restaurar unos Archivelogs ---------------------------run { set archivelog destination to '/oracle/product/9.2.0.4/backups/rman'; restore archivelog from logseq 13032 until logseq 13033 thread 2; } base de datos abierta ---------------------ALTER SYSTEM ARCHIVE LOG CURRENT; base de datos abierta, cerrada o montada ----------------------------------------ALTER SYSTEM ARCHIVE LOG ALL; --------------------------monitoreo de backup ---------------------SELECT * FROM SYS.v_$session_longops SELECT TO_CHAR (start_time, 'DD-MON-YY HH24:MI') BACKUP, sofar, totalwork, elapsed_seconds / 60 "ELAPSE (Min)", ROUND (sofar / totalwork * 100, 2) "Complete%" FROM SYS.v_$session_longops WHERE compnam = 'dbms_backup_restore' / SELECT to_char(start_time,'DD-MON-YY HH24:MI') BACKUP, sofar, totalwork, elapsed_seconds/60 "ELAPSE (Min)", round(sofar/totalwork*100,2) "Complete%" FROM sys.v_$session_longops WHERE compnam = 'dbms_backup_restore' / SELECT DECODE (backup_type, 'L', 'ARCH', 'D', 'DB',

'I', 'INC', 'Unknown type=' || backup_type ) TYPE, TO_CHAR (a.start_time, 'DDMON HH24:MI') start_time, TO_CHAR (a.elapsed_seconds / 60, '99.9') || ' Min' DURATION, SUBSTR (handle, -35) handle, NVL (d.file#, l.sequence#) file#, NVL (d.blocks, l.blocks) blocks FROM SYS.v_$backup_set a, SYS.v_$backup_piece b, SYS.v_$backup_datafile d, SYS.v_$backup_redolog l WHERE a.start_time BETWEEN SYSDATE - 100 AND SYSDATE AND a.set_stamp = b.set_stamp AND a.set_stamp = d.set_stamp(+) AND a.set_stamp = l.set_stamp(+) ORDER BY start_time, file# ------------------------------------------------------------------BACKUP DB -------------------------------------------------------------------RMAN> run { allocate channel t1 type disk; backup full database ; backup (spfile) (current controlfile) ;-----> NO ES NECESARIO sql 'alter system archive log current'; backup archivelog all delete input ; backup archivelog all delete all input ; -----> o puede ser asi. release channel t1; } SELECT s.SID, p.SPID, s.CLIENT_INFO FROM V$PROCESS p, V$SESSION s WHERE p.ADDR = s.PADDR AND CLIENT_INFO LIKE 'rman%' ; copia datafile ---------------------rman> COPY DATAFILE 1 TO 'df1.copy'; stopear y start archive ------------------------alter system archive log stop alter system archive log start select DEST_NAME,STATUS,DESTINATION from V$ARCHIVE_DEST; ------------------------------------------eliminar los blocked corruptos ora-11578 ------------------------------------------rman > blockrecover datafile 9 block 21; RMAN> blockrecover corruption list ; o bien select * from v$database_block_corruption;

select * from v$backup_corruption; select * from v$copy_corruption;

ELIMINA LOS BACKUP COPY DE RMAN -------------------------------delete noprompt force copy;

----------ver el espacio en recovery en rman------------------------------------------------------------------------select name,space_limit/1024/1024, space_used/1024/1024,number_of_files from V$r ecovery_file_dest; SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE; ----------------------------------------------------------si se elimina un datafile,,como recuperarlo sin respaldo select * from v$recover_file; startup mount; alter database create datafile 24 as '/u01/orapla/tspc_tes_dat_s01.dat' size 800 m; SQL> alter database create datafile 8 as 'C:\PRUEBA02.DBF' size 10m; o bien alt er database create datafile 'c:\PRUEBA02.DBF' as SQL> recover datafile 8; SQL> alter database open; ------------------------------------------------------o bien recuperar con rman ------------------------------------------------------rman target / RMAN> restore datafile 8; RMAN> recover datafile 8; RMAN> exit SQL> alter database open; Una vez recuperado el datafile, se puede eliminar de la siguiente forma: SQL> alter tablespace prueba drop datafile 8;

backup database include current controlfile; C:\> rman rman> connect target / rman> set dbid ES DE LA MAQUINA 10.1.32.38

rman> startup nomount; rman>restore controlfile from '/u01/orapla/SNCF_ORAPLA.ORA'; rman> alter database mount; ####cambiar la ubicaccion de respaldo catalog start with '${BACKUP_LOC}' noprompt; rman> restore database; rman> recover database; rman> alter database open resetlogs; RMAN> restore database until sequence 9923; RMAN> recover database until sequence 9923;

Cataloging Backup Pieces You can catalog backup pieces on disk. This technique is useful if you use an op erating system utility to copy backup pieces from location to another on the sam e host, or from one host to another. You can even catalog a backup piece from a prior incarnation of the database. After a backup piece is cataloged, you can di splay its metadata by querying V$BACKUP_PIECE V$BACKUP_SET V$BACKUP_DATAFILE V$BACKUP_REDOLOG V$BACKUP_SPFILE. To catalog a backup piece: After connecting RMAN to the target database, catalog the filenames of the backu p pieces. For example: CATALOG BACKUPPIECE '/disk2/09dtq55d_1_2', '/disk2/0bdtqdou_1_1'; -------------------------------------------------------------------------------You can query V$ views to verify your changes. For example: SELECT * FROM v$rman_configuration; SELECT * FROM v$archived_log; SELECT * FROM V$BACKUP_FILES; SELECT * FROM V$BACKUP_DEVICE; SELECT * FROM V$BACKUP_REDOLOG; SELECT * FROM V$BACKUP_spfile; SELECT * FROM v$session_longops;---------para ver el monitoreo de progreso de los backup y copias via Rman SELECT sid,serial#,context,sofar,totalwork, ROUND(sofar/totalwork*100,2) "% co mpletye" FROM v$session_longops WHERE opname LIKE '%RMAN%' AND opname NOT LIKE 'RMAN: aggregate%' AND totalwor k !=0; SELECT * FROM V$SESSION_WAIT WHERE EVENT LIKE '%sbt%';

---------------------SELECT HANDLE FROM V$BACKUP_PIECE; To catalog all files in a disk location: RMAN> CATALOG RECOVERY AREA; # catalog all files in the recovery area RMAN> CATALOG START WITH '+disk'; # catalog all files from an ASM disk group RMAN> CATALOG START WITH '/fs1/datafiles/'; # catalog all files in directory RMAN archivelog management ----------------------------List archivelog all; RMAN> delete archivelog logseq=22; RMAN> delete archivelog from logseq=20 until logseq=21; RMAN> delete noprompt archivelog from logseq=22 until logseq=35; Delete archivelog all; LIST BACKUP; LIST COPY; CROSSCHECK BACKUP; CROSSCHECK COPY; DELETE EXPIRED BACKUP; DELETE OBSOLETE; delete backupset 349; ------------------------------------------Backing up the Target Database ------------------------------------------RMAN> backup database plus archivelog delete input; RMAN> delete noprompt force obsolete; RMAN> exit; ---------------------------------------------------------------------#!/bin/ksh rman target backup_admin/backup_admin nocatalog msglog rman_full_backup_db_onlin e_ORA920.log <<EOF backup database plus archivelog delete input; delete noprompt force obsolete; exit; EOF exit ----------------------------------------------------------------------

DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-6/24'; CROSSCHECK ARCHIVELOG ALL;

You might also like