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;
31 Temmuz 2009 Cuma
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder