Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Witam,

Bardzo prosze o ocene mojej strategi backupu oraz z mila checia przyjme wszelkie porady.
Zaprzyjaznilem sie z ksiazka "RMAN. Archiwizacja i odzyskiwanie danych" mimo ciekawej lektury ciagle mam pewne niejasnosci. Ale moze od poczatku...

Jest sobie baza - na chwile obecna pusta :-)
Wszystko stoi na Oracle10gR2 zrobilem dwie pule DATA (1.4TB) oraz FRA(800MB). Dodatkowo mam podpiety zewnetrzny zasob sieciowy (dysk) na ktory chce robic backupy. Generalnie wszystko jest skonfigurowane i dziala - ale nie wiem czy jest to zrobione poprawnie i zgodnie z sztuka.

Napisalem sobie dwa skrypciki:

# cat daily.sh
#!/bin/sh
. $HOME/.profile
rman target / <<EOF
backup archivelog all;
quit
EOF


# cat weekly.sh
#!/bin/sh
. $HOME/.profile
rman target / <<EOF
backup check logical database plus archivelog;
quit
EOF


W RMAN ustawilem sobie configure retention policy na 7dni, wlaczylem autobackup controlfile i spfile, ustawilem sciezke do zewnetrznego dyku na backupy - generalnie na pierwszy rzut oka jest OK.

A teraz meritum:
1. Od poniedzialku do piatku o godz. 21 robie sobie backup archivelog
2. W sobote robie Fullbackup + archivelog
3. Niedziela - nic sie nie robi

I tu moje pytania:

1. Rozumiem, ze po 7dniach starocie automatycznie wylatuja mi z FRA ?
2. Czy okno odtwarzania 7dniowe jest dobre czy zwiekszyc je - jakie sa kryteria doboru takiego okna?
3. Co jeszcze moge zmodyfikowac, dodac by bylo to jak najbardziej poprawne?

Dziekuje za wszelkie sugestie
Tomek

konto usunięte

Temat: Backup bazy - strategia

Tomasz Majchrowicz:
jakie sa kryteria doboru takiego okna?

SLA czyli maksymalny czas niedostępności bazy.
3. Co jeszcze moge zmodyfikowac, dodac by bylo to jak najbardziej poprawne?

http://www.oracle.com/technology/deploy/availability/p...
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Szczerze mowiac to dopiero teraz zglupialem hehe :)
Wezmy np. SLA na poziomie 10dni/rok

Recovery Window 10 day - okresla nam, ze mozemy odtworzyc bazke do dowlonego punktu sprzed 10dni, SLA zas gwarantuje nam w umowie z klientem, ze w ciagu roku moze nie miec 10dni dostepu do bazy. Szczerze mowiac nie widze scislego zwiazku :(

Czyli recovery window musi byc >= SLA ?

konto usunięte

Temat: Backup bazy - strategia

Tomasz Majchrowicz:
Szczerze mowiac to dopiero teraz zglupialem hehe :)
Wezmy np. SLA na poziomie 10dni/rok

Łącznie może i tak.

Ale często się określa, że np. może to być jednorazowo max 8h. I wtedy już trzeba "zakombinować" jak coś takiego zapewnić.
Adam B.

Adam B. Oracle Certified
Master

Temat: Backup bazy - strategia

Tomasz Majchrowicz:
Witam,

Bardzo prosze o ocene mojej strategi backupu oraz z mila checia przyjme wszelkie porady.
Zaprzyjaznilem sie z ksiazka "RMAN. Archiwizacja i odzyskiwanie danych" mimo ciekawej lektury ciagle mam pewne niejasnosci. Ale moze od poczatku...

Jest sobie baza - na chwile obecna pusta :-)
Wszystko stoi na Oracle10gR2 zrobilem dwie pule DATA (1.4TB) oraz FRA(800MB). Dodatkowo mam podpiety zewnetrzny zasob sieciowy (dysk) na ktory chce robic backupy. Generalnie wszystko jest skonfigurowane i dziala - ale nie wiem czy jest to zrobione poprawnie i zgodnie z sztuka.

Napisalem sobie dwa skrypciki:

# cat daily.sh
#!/bin/sh
. $HOME/.profile
rman target / <<EOF[/quote]> backup archivelog all;[quote]quit
EOF


# cat weekly.sh
#!/bin/sh
. $HOME/.profile
rman target / <<EOF[/quote]> backup check logical database plus archivelog;[quote]quit
EOF


W RMAN ustawilem sobie configure retention policy na 7dni, wlaczylem autobackup controlfile i spfile, ustawilem sciezke do zewnetrznego dyku na backupy - generalnie na pierwszy rzut oka jest OK.

A teraz meritum:
1. Od poniedzialku do piatku o godz. 21 robie sobie backup archivelog
2. W sobote robie Fullbackup + archivelog
3. Niedziela - nic sie nie robi

I tu moje pytania:

1. Rozumiem, ze po 7dniach starocie automatycznie wylatuja mi z FRA ?
2. Czy okno odtwarzania 7dniowe jest dobre czy zwiekszyc je - jakie sa kryteria doboru takiego okna?
3. Co jeszcze moge zmodyfikowac, dodac by bylo to jak najbardziej poprawne?

Dziekuje za wszelkie sugestie
Tomek

Ok. troche za mało informacji podałeś, podaj jaka wielkość bazy będzie za rok , albo jaki przyrost dzienny , co chcesz dokładnie uzyskać ..bo wiesz RMAN-em to można nawet zrobić coś na miare BCV nie płacąc ani grosza .. więc musisz trochę więcej opowiedzieć.
Osobiście ja bym tego tak nie robił odtworzenie, jeżeli awaria w piątek będzie dość długa w przypadku sporego dziennego przyrostu logów.
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Miesiecznie to bedzie ok 4GB przyrostu bazy. Baza jest glownie przyrostowa.

Konfiguracja RMANa:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/backup/backup_%U';
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f'; # default


Mysle zrobic cos takiego:

Poniedzielek, Wtorek, Sroda, Czwartek, Piatek - archivelog 3x dziennie (daily.sh)
Sobota - Fullbackup + archivelog (weekly.sh)
Niedziela - nic

Chcial bym zaprojektowac sobie backup - ktory nie bedzie bardzo skomplikowany a jednoczesnie zapewni mi w razie awarii odzyskanie danych.

Tomek

konto usunięte

Temat: Backup bazy - strategia

Tomasz Majchrowicz:
Chcial bym zaprojektowac sobie backup - ktory nie bedzie bardzo skomplikowany a jednoczesnie zapewni mi w razie awarii odzyskanie danych.

Pewnym ułatwieniem jest posiadanie w każdym backupie klonu controlfiles. Czyli w każdym skrypcie robisz alter database backup controlfile.

Wtedy po prostu kopiujesz init, kopiujesz controlfile na swoje miejsce i możesz od razu zacząć odtwarzanie.
Adam B.

Adam B. Oracle Certified
Master

Temat: Backup bazy - strategia

Ale jeszcze jedno, czas odtwarzania jaki zakładasz w razie awarii , to jest bardzo istotne jaki masz dostępny czas
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Dobra chyba zaczynam lapac o co chodzi :)
Zastanawia mnie tylko jeden fakt - gdy podczas instalacji bazy instalator zapytal mnie czy chce uzyc multipleksowania dla controlfile i archivelog zadefiniowalem dwie lokalizacje:
+DATA
+FRA
No i archive log list pokazuje mi, ze archivelog trzymam tylko w +DATA/orcl

I tu jest mam pytanie czy jest sens wskazywania innej lokalizacji w moim przypadku +FRA/orcl na archivelog skoro i tak przeciez jest ona na tej samej macierzy?

Jeszcze mam jedno pytanko czy w EM podac inna lokalizacje dla archivelog (w +FRA) jako:
+FRA/orcl
czy
USE_DB_RECOVERY_FILE_DEST

TomekTomasz Majchrowicz edytował(a) ten post dnia 11.02.10 o godzinie 08:54

konto usunięte

Temat: Backup bazy - strategia

Wpisz w Enterprise Manager sobie USE_DB_RECOVERY_FILE_DEST. I bedziesz od tej chwili miał archivelog w lokalizacji +DATA oraz +FRA.
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: Backup bazy - strategia

Bardzo prosze o ocene mojej strategi backupu oraz z mila checia przyjme wszelkie porady.

Witaj,
dołączając się do powyższych wypowiedzi moich kolegów po fachu, chciałbym zwrócić Ci również uwagę na dwie rzeczy - pamiętaj, że mając licencję na dowolną bazę Oracle, masz prawo postawić sobie obok drugą bazę danych przeznaczoną pod katalog RMAN. Bez tego całe repozytorium RMAN'a znajduje się w plikach kontrolnych - ich strata jest łatwiejsza do przełknięcia jeśli posiada się bazę katalogową.

Jeśli jednak nie zamierzasz używać katalogu odtwarzania zwróć uwagę na sprawę nr 2 - nazwy plików backupset, które tworzy RMAN są nieco mało intuicyjne, wobec czego późniejsza lokalizacja pliku backupset posiadającego np. plik kontrolny może być ciężka.

Zwróć uwagę na poniższy przykładowy skrypt:



#!/bin/sh

bname=`date +%d%m%Y_%H.%M`
dirname=/oracle/product/10.2.0/backup

rman target / log=${dirname}/log${bname} << EOF

run {
backup as compressed backupset database format '${dirname}/data_${bname}.%U';
backup as compressed backupset archivelog all delete all input format '${dirname}/archive_${bname}.%U';
backup as compressed backupset current controlfile format '${dirname}/control_${bname}.%U';
delete noprompt obsolete;
backup spfile format '${dirname}/spfile_${bname}.%U';
}

EOF



Jak widać nazwy plików backupset będą na tyle intuicyjne w powyższym przypadku, że w razie potrzeby wydania polecenia "RESTORE CONTROLFILE FROM" nie będziemy mieli problemów ze wskazaniem odpowiedniego pliku backup'u.

Jeśli baza przybierze na wielkości możesz rozważyć również backup'y inkrementalne z wykorzystaniem mechanizmu block change tracking (oczywiście jeśli masz bazę typu enterprise :P)

Pozdrawiam.
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

.Tomasz Majchrowicz edytował(a) ten post dnia 15.02.10 o godzinie 09:19
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Wielkie dzieki za pomoc! Myslalem o katalogu odtwarzania, ale nie bylem wlasnie pewien czy do tego jest potrzebna osobna licencja.

Mam jeszcze jedna taka zagwozdke - za nic nie moge dojsc o co w tym chodzi.
A wiec mialem archivelog w lokalizacji:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +DATA/orcl
Oldest online log sequence 1851
Next log sequence to archive 1853
Current log sequence 1853


Nastepnie zrobilem:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_10='LOCATION=USE_DB_RECOVERY_FILE_DEST' scope=spfile;


Co w rezultacie dało mi:
Database log mode              Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1851
Next log sequence to archive 1853
Current log sequence 1853


A w RMAN mam:
RMAN> list archivelog all;

using target database control file instead of recovery catalog

List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
1868 1 1851 A 15-FEB-10 +DATA/orcl/1_1851_703435381.dbf
1869 1 1851 A 15-FEB-10 +FRA/orcl/archivelog/2010_02_15/thread_1_seq_1851.282.711017353
1870 1 1852 A 15-FEB-10 +DATA/orcl/1_1852_703435381.dbf
1871 1 1852 A 15-FEB-10 +FRA/orcl/archivelog/2010_02_15/thread_1_seq_1852.283.711017395



SQL> show parameter log_archive_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string LOCATION=+DATA/orcl/
log_archive_dest_10 string LOCATION=USE_DB_RECOVERY_FILE_
DEST
log_archive_dest_2 string


Czyli powinienem miec archivelogi w 2 lokalizacjach. Czemu wiec w +DATA mam pliki *.dbf zas w +FRA archivelog/2010_02_15/thread_1_seq_1852.283.711017395.

Powinno byc w obu lokalizacjach to samo.
Nic juz nie rozumie - moze ktos mnie oswiecic?

TomekTomasz Majchrowicz edytował(a) ten post dnia 15.02.10 o godzinie 09:21
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: Backup bazy - strategia

Czyli powinienem miec archivelogi w 2 lokalizacjach. Czemu wiec w +DATA mam pliki *.dbf zas w +FRA archivelog/2010_02_15/thread_1_seq_1852.283.711017395.

Powinno byc w obu lokalizacjach to samo.
Nic juz nie rozumie - moze ktos mnie oswiecic?

To jest dokładnie to samo, tylko że w innej konwencji nazewniczej. Pojawienie się w bazie 10g lokalizacji recovery_file_dest pociągnęło za sobą m.in. powstanie innego sposobu nazywania plików np. ARCHIVELOG.

Zwróć uwagę na wspólną cechę w nazwie plików:

+DATA/orcl/1_1851_703435381.dbf
+FRA/orcl/archivelog/2010_02_15/thread_1_seq_1851.282.711017353

Cyfra 1 oznacza numer THREAD# (w przypadku bazy nie RAC'owej zawsze będzie miał wartość 1) (patrz v$log)

Liczba 1851 oznacza numer sekwencji (SEQUENCE# z perspektywy np. v$log).

Tak więc są to identyczne pliki z różnymi nazwami.

Pozdrawiam.
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Kamil Stawiarski:
To jest dokładnie to samo, tylko że w innej konwencji nazewniczej. Pojawienie się w bazie 10g lokalizacji recovery_file_dest pociągnęło za sobą m.in. powstanie innego sposobu nazywania plików np. ARCHIVELOG.

Bardzo dziekuje za informacje.
Mam jeszcze jedno drobne pytanie jesli chodzi o archivelog:
Na chwile obecna mam ustawione:

log_archive_dest_1 na +DATA/orcl


A chciał bym by wszystkie archivelog'i byly trzymane w nastepujacych lokalizacjiach:
log_archive_dest_10 - USE_DB_RECOVERY_FILE_DEST
log_archive_dest_1 - /u02/orcl/arch #Zasob NFS

W +DATA nie chce trzymac archivelog, tam chce aby byly tylko datafile. Jednak jak zrobie:
alter system set log_archive_dest_1='LOCATION=/u02/orcl/arch' scope=both;

to po restarcie instancji:
show parameter log_archive_dest ciagle pokazuje, ze log_archive_dest_1 jest ustawiony na +DATA :(

Jak pernamentnie ustawic log_archive_dest_1 na /u02/orcl/arch
gdy wczesniej bylo ustawione na +DATA/orcl ?

Tomasz

konto usunięte

Temat: Backup bazy - strategia

Tomasz Majchrowicz:
alter system set log_archive_dest_1='LOCATION=/u02/orcl/arch' scope=both;

to po restarcie instancji:
show parameter log_archive_dest ciagle pokazuje, ze log_archive_dest_1 jest ustawiony na +DATA :(

Podaj wynik tego polecenia:

select decode(count(*), 1, 'spfile', 'pfile' ) from v$spparameter where rownum=1 and isspecified='TRUE' ;
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia

Krzysztof Pułapa:
Tomasz Majchrowicz:
alter system set log_archive_dest_1='LOCATION=/u02/orcl/arch' scope=both;

to po restarcie instancji:
show parameter log_archive_dest ciagle pokazuje, ze log_archive_dest_1 jest ustawiony na +DATA :(

Podaj wynik tego polecenia:

select decode(count(*), 1, 'spfile', 'pfile' ) from v$spparameter where rownum=1 and isspecified='TRUE' ;


DECODE
------
spfile

konto usunięte

Temat: Backup bazy - strategia

Tomasz Majchrowicz:

DECODE
------
spfile

Naprawdę nie ma żadnego błędu przy alter system ? Podrzuć jeszcze wyniki

ls -la $ORACLE_HOME/dbs
cat $ORACLE_HOME/dbs/initorcl.ora

No i oczywiście jeśli pchasz przez NFS to obowiązkowy dokument:

http://www.dbaexpert.com/blog/2007/10/nfs-mount-option...Krzysztof Pułapa edytował(a) ten post dnia 16.02.10 o godzinie 10:41
Tomasz M.

Tomasz M. Administrator Linux

Temat: Backup bazy - strategia


-bash-3.00$ ls -la $ORACLE_HOME/dbs
total 14177
drwxr-x--- 2 oracle oinstall 14 Feb 11 14:35 .
drwxr-xr-x 60 oracle oinstall 65 Jan 14 14:18 ..
-rw-rw---- 1 oracle oinstall 572 Feb 3 13:51 ab_+ASM.dat
-rw-rw---- 1 oracle oinstall 1552 Feb 3 13:51 hc_+ASM.dat
-rw-rw---- 1 oracle oinstall 1552 Feb 3 13:52 hc_orcl.dat
-rw-r----- 1 oracle oinstall 31 Jan 14 13:47 initorcl.ora
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-rw---- 1 oracle oinstall 24 Jan 14 13:30 lk+ASM
-rw-rw---- 1 oracle oinstall 24 Jan 14 13:41 lkORCL
-rw-r----- 1 oracle oinstall 1536 Jan 14 13:30 orapw+ASM
-rw-r----- 1 oracle oinstall 1536 Feb 8 08:04 orapworcl
-rw-r----- 1 oracle oinstall 7094272 Feb 15 11:43 snapcf_orcl.f
-rw-r----- 1 oracle oinstall 1536 Jan 14 13:31 spfile+ASM.ora



-bash-3.00$ cat initorcl.ora
SPFILE='+DATA/orcl/spfileorcl.ora'


Nie. Brak bledow przy alter system. Do czasu jak nie zrestaruje instancji wszystko jest ok jesli chodzi o wskazania przechowywania archivelog. Po restarcie log_archive_dest_1 wraca na +DATA i za nic nie mam pojecia jak to trwale ustawic.

TomekTomasz Majchrowicz edytował(a) ten post dnia 16.02.10 o godzinie 11:18
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: Backup bazy - strategia


$ sqlplus /nolog
conn / as sysdba
create pfile from spfile
shutdown immediate


pflie wyląduje gdzieś w okolicy $ORACLE_HOME/dbs/init$ORACLE_SID.ora
zmieniasz co potrzebujesz (*.log_archive_dest_1)


$ sqlplus /nolog
conn / as sysdba
create spfile from pfile
startup
Irek Słonina edytował(a) ten post dnia 16.02.10 o godzinie 11:29

Następna dyskusja:

Jaki rozmiar ma backup bazy...




Wyślij zaproszenie do