31 Temmuz 2009 Cuma

RMAN Backup

1) SQL> archive log list;

komutu ile archivelog da olup olmadığını anla.

2) DOS> rman target sys/oracle@orcl

3) Yedekleri e:\vtyedek klasörüne alacağız. 1 backup saklama stratejisi ile backup alacağız. Klasörü RMAN yaratmaz

CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT
'E:\vtyedek\ora_df_%t_%s_%p';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'E:\vtyedek\%F';
CONFIGURE BACKUP OPTIMIZATION ON;

------------------------------------------------------------------------------------------
redundancy 1 yerine bu satırı da verebilirsin: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; -- son 7 gün lük yedeği sakla demek
yedek yeri belirtilirken max dosya boyutu da verilebilir: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT
'e:\vtyedek\ora_df_%t_%s_%p' maxpiecesize 2G; -10 gb ise 2 gb a böluyor.

show all;

tüm veritabanını yedeğini alalım:

BACKUP DATABASE PLUS ARCHIVELOG;

--crosscheck archivelog all

Veritabanı yedeğinin sağlıklı olup olmadığını, eksik backup dosyası olup olmadığını

RESTORE DATABASE VALIDATE;

komutuyla görebiliriz. Eksik dosya olursa hata mesajı verir ve eksik dosyayı söyler.



İşin ne kadarının bittiğini gösterir:

SQL> SELECT SID, SERIAL#, OPNAME,CONTEXT, SOFAR, TOTALWORK, ROUND(SOFAR/TOTALWORK*100,2) "% COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
--AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK
/
----------------------------
create or replace function yedek_yuzde_kac return varchar2 is
yuzde varchar2(20);
begin

select '%'|| ROUND (SOFAR/TOTALWORK*100,2)
into yuzde
from v$session_longops
where opname like 'RMAN%'
and opname not like '%aggregate%'
and TOTALWORK <> 0
and SOFAR <> TOTALWORK;
return yuzde;

end;

grant execute
on yedek_yuzde_kac
to public

create public synonym yyk for yedek_yuzde_kac
---------------------


datafile ları tek tek yedekle:

REPORT SCHEMA;
--------------
report obsolete; eski yedekleri listeler

delete noprompt obsolete;

crosscheck backup;

BACKUP VALIDATE DATABASE

----
BACKUP DATAFILE 5;


tablespace düzeyinde yedekle:

BACKUP TABLESPACE EXAMPLE;


incremental backup al:

BACKUP INCREMENTAL LEVEL 0 DATABASE;

datafile düzeyinde incremental backup alabiliriz:

BACKUP INCREMENTAL LEVEL 1 DATAFILE 5;


archivelogları yedekliyoruz:

BACKUP ARCHIVELOG ALL;


backup ihtiyacı olan dosyalar:

REPORT NEED BACKUP;


eski backup dosyalarını göster:

REPORT OBSOLETE;


eski backup dosyalarını sil:

DELETE OBSOLETE;


database ve archivelog yedeklerini validate edelim:

BACKUP VALIDATE DATABASE ARCHIVELOG ALL;


recover edilemeyecek olanları gör:

REPORT UNRECOVERABLE;


bugün yedeğinin alındığından eminseniz eski archivelogları boşaltmak için:

DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-1';

crosscheck yaparak backupsetlerin yerlerinde olup olmadığına bakabiliriz:

CROSSCHECK BACKUP OF DATABASE;


datafile, tablespace ve controlfile yedekleme bilgilerini görebiliriz:

LIST BACKUP OF DATAFILE 5;

LIST BACKUP OF CONTROLFILE;

Hiç yorum yok:

Yorum Gönder