Wiktor Chudziak

Wiktor Chudziak Oracle Database,
wdrożenia IT

Temat: log_archive_dest_n na NFS jako optional

Witam,

Zwracam się z pytaniem czy któryś z szanownych kolegów próbował zapisywać zarchiwizowane logi na udziale NFS ale jako lokalizacja opcjonalna.

Otóż: Oracle wymaga aby NFS był podmontowany z opcją hard (czyli w przypadku awarii system czeka aż lokalizacja będzie osiągalna; co za tym idzie do czasu pojawienia się lokalizacji baza danych milczy i czeka.)

NFS z opcją soft z timeo oraz retry nie podziała -> Oracle nie pozwoli zapisać na takim udziale sieciowym.

Będę wdzięczny za jakąkolwiek pomoc.

konto usunięte

Temat: log_archive_dest_n na NFS jako optional

Wiktor Chudziak:
NFS z opcją soft z timeo oraz retry nie podziała -> Oracle nie pozwoli zapisać na takim udziale sieciowym.


mount -o rw,bg,intr,hard,timeo=600,wsize=32768,rsize=32768,noac

konto usunięte

Temat: log_archive_dest_n na NFS jako optional

Od wersji 11.1.0.7 możesz użyć Direct NFS.

Poszukaj na metalinku.
Direct NFS: FAQ [ID 954425.1]Bartosz Zieliński edytował(a) ten post dnia 13.09.12 o godzinie 20:39
Wiktor Chudziak

Wiktor Chudziak Oracle Database,
wdrożenia IT

Temat: log_archive_dest_n na NFS jako optional

Krzysztof P.:
Wiktor Chudziak:
NFS z opcją soft z timeo oraz retry nie podziała -> Oracle nie pozwoli zapisać na takim udziale sieciowym.


mount -o rw,bg,intr,hard,timeo=600,wsize=32768,rsize=32768,noac

Niestety (po odłączeniu serwera z udostępnionym udziałem):

SQL> alter system switch logfile (powodujące utworzenie archlog);
<czeka>

dmesg:
nfs: server ..... not ressponding, still trying

Po podpięciu serwera do switcha wszystko zaczyna działać tj. arch się tworzy.

Ustawiłem nawet timeo na 60 i nic. Cały czas czekał aż pojawi się katalog do zapisu.

Na wersje 11g niestety w tym przypadku nie mogę sobie pozwolić.

konto usunięte

Temat: log_archive_dest_n na NFS jako optional

Wiktor Chudziak:
Ustawiłem nawet timeo na 60 i nic. Cały czas czekał aż pojawi się katalog do zapisu.

Trochę się chyba nie zrozumieliśmy.

Na to co chcesz zrobić jest pewien sposób, ale nie ma nic wspólnego z bazą Oracle jako taką.

Po prostu do crontaba dodajesz skrypt, który co jakiś czas pinguje serwer docelowy, a jeśli ten odpowie, to wtedy montujesz przez NFS udostępniany przez niego katalog.

Jak się uda podmontować to katalog z archivelogami synchronizujesz za pomocą rsync. Po zakończeniu robisz unmount.

Skrypt MUSI zawierać semafor, żeby nie dał rady uruchomić się wielokrotnie, a w rozwiązaniu musisz zawrzeć alarm, który zawiadomi cię o tym, że synchronizacja nie udała się przez pewien nieprzekraczalny czas.
Wiktor Chudziak

Wiktor Chudziak Oracle Database,
wdrożenia IT

Temat: log_archive_dest_n na NFS jako optional

Dzięki za pomoc.

Jednym jednak z założeń jest wykorzystanie samego Oracle 10g Standard oraz podstawowych usług OS-a.

Jak widać banalny problem którego nie można tak łatwo przeskoczyć.

Może zamiast NFS-a wykorzystać Sambę ??

Podobne rozwiązanie o którym piszesz już wdrażałem - napisałem w Pythonie. Niestety teraz nie mogę sobie pozwolić na wolną skryptologie :)

Mimo wszystko jeszcze raz dziękuję za pomoc.
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: log_archive_dest_n na NFS jako optional

Wiktor Chudziak:
Dzięki za pomoc.

Jednym jednak z założeń jest wykorzystanie samego Oracle 10g Standard

Witam,
Jeśli masz 10g SE to zgodnie z licencją nie możesz wykorzystać wielu lokalizacji... Dopiero od 11g pojawiła się taka możliwość:


LOG_ARCHIVE_DEST_n Parameters

Starting with Oracle Database 11g Release 1 (11.1), the LOG_ARCHIVE_DEST_n parameter can be used to specify a local archiving destination on a database instance running Oracle Standard Edition. Previously, this parameter could only be specified on a database instance running Oracle Enterprise Edition.


Źródło: http://docs.oracle.com/cd/B28359_01/server.111/b28300/...

Pozdrawiam,
Kamil.
Tomasz Kania

Tomasz Kania DBA, SoftSystem Sp.
z o.o.

Temat: log_archive_dest_n na NFS jako optional

A ja się nie zgodzę z kolegą...
log_archive_dest + log_archive_duplex_dest
mogą być użyte na 10g SE.
Chyba, że 2 lokalizacje to jeszcze nie "wiele"... ;)

http://docs.oracle.com/cd/B19306_01/server.102/b14237/...
http://docs.oracle.com/cd/B19306_01/server.102/b14237/...Tomasz Kania edytował(a) ten post dnia 17.09.12 o godzinie 21:15
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: log_archive_dest_n na NFS jako optional

Tomasz Kania:
A ja się nie zgodzę z kolegą...
log_archive_dest + log_archive_duplex_dest
mogą być użyte na 10g SE.
Chyba, że 2 lokalizacje to jeszcze nie "wiele"... ;)

A racja Panie Kolego - na śmierć zapomniałem, że jeszcze takie dwa cudeńka istniały :) A jeśli chodzi o "wiele" - jest: "jeden", "dwa", "trzy" i dopiero "mnóstwo" :D

Pozdrawiam,
K.

Temat: log_archive_dest_n na NFS jako optional

Wiktor Chudziak:
Dzięki za pomoc.

Jednym jednak z założeń jest wykorzystanie samego Oracle 10g Standard oraz podstawowych usług OS-a.

Jak widać banalny problem którego nie można tak łatwo przeskoczyć.

Może zamiast NFS-a wykorzystać Sambę ??

Można by jeszcze użyć iSCSI jako zasobu o ile masz taką możliwość.
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: log_archive_dest_n na NFS jako optional

A tak mi jeszcze zaświtało - spróbuj może ustawić event na bazie:


10298 trace name context forever, level 32


Ten event powinien wyłączyć dla 10.2 sprawdzanie opcji montowania NFS.
Na metalinku jest opisane wprawdzie jak rozwiązać problem związany z RMAN'em (notka 387700.1) ale może i dla archivelog pomoże....
Szymon K.

Szymon K. Oracle DBA

Temat: log_archive_dest_n na NFS jako optional

A przewrotnie zapytam... Po co chcesz wrzucać te archy na zasób NFS? Może ktoś podsunie lepsze rozwiązanie (zamiast NFSa) ;) W zależności od tego co chcesz zrobić, może wygodniej byłoby podmontować tego NFSa odwrotnie - czyli wystawić z serwera tej bazy, a na serwerze docelowym zamontować? :)
Dlaczego zależy Ci na opcji soft? Zakładasz, że serwer docelowy nie zawsze będzie dostępny?
Wiktor Chudziak

Wiktor Chudziak Oracle Database,
wdrożenia IT

Temat: log_archive_dest_n na NFS jako optional

Witam,

Serwer docelowy - do którego będą zapisywane arch-y może nie być dostępny przez jakiś czas + pozostaje jeszcze mechanizm synchronizacji.

Zapis arch-ów na zdalnym serwerze powinien być asynchroniczny tj. brak dostępności serwera docelowego nie powinna wpływać na pracę bazy danych.

Aktualnie moje środowisko testowe działa na rsync ... i nawet dobrze się sprawuje tylko trochę obciąża procesor (diff plików).

Wniosek :)
... potrzebuję "logicznego stand-by z opóźnieniem" na wersji SE 10g pracującego na dwóch pingwinach.
Szymon K.

Szymon K. Oracle DBA

Temat: log_archive_dest_n na NFS jako optional

Logicznego? Czy fizycznego? :> Jak rozumiem, baza ma być fizycznym stand-by, a pisząc o logicznym masz na myśli serwer.
To ja bym to zrobił tak:
Archy niech się generują tak jak się generują (do jednej lokalizacji) na serwerze Primary. Natomiast Serwer Standby niech montuje po NFS zasób z serwera Primary z archami i je sobie aplikuje. Tutaj nie masz problemów z trybem hard. I na dobrą sprawę potrzebujesz mniej zasobów dyskowych - wystarczy jeden zasób pod archy na bazie Primary (nie musisz duplikować archów). Wystarczy, że baza Standby będzie je widziała i aplikowała.
Co o tym myślisz?
Kamil Stawiarski

Kamil Stawiarski Oracle Certified
Master | Oracle ACE

Temat: log_archive_dest_n na NFS jako optional

Szymon, ostatnio dostałem info od jednego ze sprzedawców Oracle, że takie rozwiązanie wymaga zakupu licencji również na tą bazę, która jest naszym standby...
Grzegorz Ludwiczek

Grzegorz Ludwiczek Specjalista d/s baz
danych i systemów
operacyjnych,
KAMSO...

Temat: log_archive_dest_n na NFS jako optional

Szymon Kubiszewski:
A przewrotnie zapytam... Po co chcesz wrzucać te archy na zasób NFS? Może ktoś podsunie lepsze rozwiązanie (zamiast NFSa) ;) W zależności od tego co chcesz zrobić, może wygodniej byłoby podmontować tego NFSa odwrotnie - czyli wystawić z serwera tej bazy, a na serwerze docelowym zamontować? :)
Dlaczego zależy Ci na opcji soft? Zakładasz, że serwer docelowy nie zawsze będzie dostępny?

Dokładnie to jest dobre podejście IMHO, czyli to standby pobiera sobie pliki z produkcyjnego.
Wtedy żadne "uwalenie" połączenia nie wpływa na wydajność/stabilność produkcyjnego.
Trzeba tylko dobrze sobie dopracować metodę na rotację ewentualną tych logów.

Kamil Stawiarski:
Szymon, ostatnio dostałem info od jednego ze sprzedawców Oracle, że takie rozwiązanie wymaga zakupu licencji również na tą bazę, która jest naszym standby...

Potwierdzę to :-) (chociaż bardziej :-( )
W papierach o licencjonowaniu baz oraclowych jest zapis w stylu "serwer standby wykonywany w dowolny sposób, nawet własnymi skryptami, w oparciu o archivelogi powinien posiadać własną licencję"
I zdaje się nawet było, ze licencjonowanie tego standby musi być takie samo jak produkcyjnego (czyli jak produkcyjny na cpu, to standby też, jak na NU to na NU).

Jak znajdę to dołożę linka do tego zapisu na stronach oracla (albo poszukajcie sami :-) ).

P.S. Ilość CPU/NU nie musi być taka sama co na produkcyjnym, tylko sposób licencjonowania.

P.S.2. Znalazłem :-)
http://www.oracle.com/us/corporate/pricing/sig-070616.pdf

Taki zapis, na stronie 21
Standby – In this method, one or more copies of a primary database are
maintained on a standby server(s). The sites in a standby configuration may be
dispersed geographically and are connected by Oracle Net Services. As the
primary database is modified, log information generated by the changes are
sent to the standby database(s) and subsequently applied to the standby
database. If the primary database fails, a standby database can be activated to
be the new primary database. Solutions like Oracle Data Guard (included with
Oracle Database EE) or customer-generated scripts can be used. In this
environment, both the primary and the standby databases must be fully
licensed. Additionally, the same metric must be used to license both
databases.

--
Grzegorz LudwiczekGrzegorz Ludwiczek edytował(a) ten post dnia 02.10.12 o godzinie 17:06
Szymon K.

Szymon K. Oracle DBA

Temat: log_archive_dest_n na NFS jako optional

Oczywiście, że tak. Każda baza standby wymaga licencji. Ale to co Wiktor teraz ma/próbuje zrobić też wymaga tej licencji. W oracle licencje tak naprawdę są na serwer z binariami, jeśli masz binaria... to potrzebujesz licencji. Jedyna opcja zmniejszenia kosztów licencji przy środowiskach "wielonode'owych" to trzymanie binariów na macierzy, która może serwować dyski raz do jednego serwera, a raz do drugiego. Wtedy w razie konieczności przełączenia (np. z powodu awarii serwer), na drugim serwerze podmontowujesz zasób z binariami i tam otwierasz bazę - wtedy nie potrzeba dodatkowej licencji. Zgodzicie się z tym? Natomiast jeśli będzie dokładnie taka sama konfiguracja (DC/DRC - active/passive), gdzie pliki bazy są montowane na drugim serwerze, w razie awarii pierwszego, ALE binaria będą sobie tam "czekały" na awarię serwera pierwszego: To wtedy już potrzeba licencji na oba serwery. Dobrze piszę? :>
Tak czy siak przy bazach Standby na każdy node musimy mieć licencje.
Grzegorz Ludwiczek

Grzegorz Ludwiczek Specjalista d/s baz
danych i systemów
operacyjnych,
KAMSO...

Temat: log_archive_dest_n na NFS jako optional

Szymon Kubiszewski:
W oracle licencje tak naprawdę są na serwer z binariami, jeśli masz binaria... to potrzebujesz licencji. Jedyna opcja zmniejszenia kosztów licencji przy środowiskach "wielonode'owych" to trzymanie binariów na macierzy, która może serwować dyski raz do jednego serwera, a raz do drugiego. Wtedy w razie konieczności przełączenia (np. z powodu awarii serwer), na drugim serwerze podmontowujesz zasób z binariami i tam otwierasz bazę - wtedy nie potrzeba dodatkowej licencji. Zgodzicie się z tym? Natomiast jeśli będzie dokładnie taka sama konfiguracja (DC/DRC - active/passive), gdzie pliki bazy są montowane na drugim serwerze, w razie awarii pierwszego, ALE binaria będą sobie tam "czekały" na awarię serwera pierwszego: To wtedy już potrzeba licencji na oba serwery. Dobrze piszę? :>
Tak czy siak przy bazach Standby na każdy node musimy mieć licencje.


Nie do końca musisz zawsze licencjonować wszystko
Cytat z tego samego dokumentu:
Failover – In this type of recovery, nodes are arranged in a cluster and share
one disk array. A Failover cluster is a group of systems, bound together into a
common resource pool. In this type of recovery method, the Production node
acts as the primary node. When the primary node fails, one of the surviving
nodes in the cluster acts as the primary node. Solutions like Oracle Failsafe
(included with Oracle Database EE or SE, SE1), or third party vendor solutions
(e.g. Veritas, HP Service Guard, HACMP, Linux HA - Heartbeat) are used to
manage Failover environments. In this type of environment,

A zwłaszcza to:
Oracle permits licensed Oracle customers to run some Technology Programs on an
unlicensed spare computer for up to a total of ten separate days in any given
calendar year.

Once the primary node is repaired, you must switch back to the
primary node. Once the failover period has exceeded ten days, the failover
node must be licensed. In addition, only one failover node per clustered
environment is at no charge for up to ten separate days even if multiple nodes
are configured as failover. Downtime for maintenance purposes counts
towards the ten separate days limitation.

Moim zdaniem jeśli na drugim serwerze leżą sobie tylko binaria i czekają na awarię i nie są do niczego innego wykorzystywane produkcyjnie, to ich licencjonować nie musisz. To jest IMHO Failover, może trochę ręczny a nie automatyczny jak by się pewnie przydało :-)

Natomiast to co robi Wiktor to IMHO standby jak nic :-)

P.S. I przy okazji, w przypadku ściagania przez standby archivelogów, to nie potrzeba wyrzucania ich w dwie lokalizacje, czyli pytanie z tematu nie wymaga już odpowiedzi :-)
Tylko tak jak już pisałem - dobrze sobie zorganizować rotację / czyszczenie tych archivelogów.

--
Łączę różne wyrazy i pozdrawiam
Grzegorz LudwiczekGrzegorz Ludwiczek edytował(a) ten post dnia 02.10.12 o godzinie 20:10

Temat: log_archive_dest_n na NFS jako optional

Kamil Stawiarski:
Szymon, ostatnio dostałem info od jednego ze sprzedawców Oracle, że takie rozwiązanie wymaga zakupu licencji również na tą bazę, która jest naszym standby...

No chyba ze masz named user - wtedy z tego co pamietam to mozesz miec dowolna liczbe serwerow byle liczba socketow byla <= 4 (chodz to raczej grey area bo standby to nie klaster).

pozdrawiam,
Marcin
Szymon K.

Szymon K. Oracle DBA

Temat: log_archive_dest_n na NFS jako optional

Nie do końca tak... w Przypadku EE nie bierze się pod uwagę socketów tylko też procesory licencyjne i tak jak piszesz: 1 procesor licencyjny to przynajmniej 4 NUPy. Sockety bierze się pod uwagę tylko przy SE. Tak czy siak, czy licencje CPU czy licencje NUP - maszynę pod bazę Standby trzeba liczyć do puli licencji.
Trochę odeszliśmy od tematu ;)

Następna dyskusja:

Private Link z "@" w nazwie...




Wyślij zaproszenie do