BAZY DANYCH ALTERNATYWNIE
BAZY DANYCH ALTERNATYWNIE
  • 27
  • 16 211
4 poziomy izolacji ANSI i 3 zjawiska towarzyszące
W ★kilka minut★ o poziomach izolacji wg standardu ANSI oraz o zjawiskach towarzyszących każdemu z tych poziomów. Trochę o domyślnych poziomach w różnych motorach baz danych oraz o wpływie poziomu izolacji na współbieżność transakcji działających na bazie danych.
Rozdziały:
00:00 Wstęp
00:26 Spójność w bazach danych
01:45 READ UNCOMMITTED
02:05 DIRTY READ
02:30 NON-REPEATABLE READ
03:07 PHANTOM READ
03:36 READ COMMITTED
05:02 REPEATABLE READ
05:59 SERIALIZABLE
07:03 Domyślny poziom izolacji
08:29 Zakończenie
Terminy:
► READ UNCOMMITTED - najniższy poziom izolacji. Odczytuje nie commit'owane zmiany dokonane przez inną transakcję.
► READ COMMITTED - poziom izolacji zapewniający odczyt tylko commit'owanych zmian innych transakcji
► REPEATABLE READ - poziom izolacji zawierający READ COMMITTED oraz zapewniający niezmienność jakości danych pomiędzy odczytami tych samych danych
► SERIALIZABLE - poziom izolacji zawierający REPEATABLE READ oraz zapewniający brak różnicy w ilości rekordów pomiędzy kolejnymi odczytami tych samych danych
► DIRTY READ - zjawisko odczytu nie commit'owanych zmian innych transakcji
► NON-REPEATABLE READ - zjawisko różnicy jakościowej pomiędzy kolejnymi odczytami tych samych danych przez jedną transakcję
► PHANTOM READ - zjawisko różnicy ilościowej pomiędzy kolejnymi odczytami tych samych danych przez jedną transakcję
Linki:
Facebook: DBALTERNATYWNIE
Log transakcyjny: ua-cam.com/video/dn6_ox4VrdM/v-deo.html
Deadlock: ua-cam.com/video/s1Ajm6OJIXI/v-deo.html
MVCC w bazach danych, UNDO i Flashback w Oracle: ua-cam.com/video/trrpOQm4Vks/v-deo.html
-
Keywords: #database #rdbms #mysql #postgresql #sqlserver #oracle #programming #coding #development #sql #plsql #backend #programowanie #poziomyizolacji #isolationlevels #bazadanych #bazydanych #oracledatabase #oracledba
Переглядів: 1 012

Відео

MVCC w bazach danych, UNDO i Flashback w Oracle
Переглядів 4353 роки тому
W ★krótką dyszkę★ dowiesz się jak technologia Multi-Version Concurrency Control wykorzystywana jest w bazach danych. Jakie są różnice w implementacji PostgreSQL, MySQL, SQL Server i Oracle. Do czego służy przestrzeń UNDO w Oracle i co oferuje technologia Flashback. Rozdziały: 00:00 Wstęp 00:19 Rys historyczny - blokowanie danych 01:00 Powody implementacji MVCC 01:47 Co to jest Multi-Version Con...
Pierwsza rocznica powstania kanału - podziękowania
Переглядів 3293 роки тому
Wdzięczność za Twoje komentarze, łapki, subskrypcje, a przede wszystkim za Twój czas poświęcony naszym materiałom. Zostań z nami. Pracujemy nad kolejnymi materiałami z, przystępnie przekazaną, wiedzą o bazach danych.
Resetlogs i inkarnacja - co powoduje i jak powstaje
Переглядів 2633 роки тому
W ★małą szóstkę★ dowiesz się co powoduje komenda resetlogs i kiedy jest przydatna. Oraz jak powstaje inkarnacja bazy danych Oracle. Rozdziały 00:00 Wstęp 00:28 Mięso 03:57 Powstanie inkarnacji 06:11 Podsumowanie 06:43 Zakończenie Terminy: ► RESETLOGS - opcja komendy OPEN powodująca wyczyszczenie REDO logów oraz reset ich licznika ► INKARNACJA - kolejny, logiczny byt bazy danych ► SCN - System C...
Truncate a delete - najważniejsze różnice
Переглядів 5613 роки тому
W ★szczęśliwą siódemkę★ dowiesz się jakie są najważniejsze różnice między komendą TRUNCATE, a DELETE gdy usuwasz wszystkie wiersze z tabeli. Rozdziały: 00:00 Wstęp 00:24 Mięso 00:53 Ilustracja DELETE 03:02 Ilustracja TRUNCATE 05:28 Rollback TRUNCATE 05:59 Podsumowanie 06:57 Zakończenie Terminy: ► TRUNCATE - komenda DDL, operuje na obiektach, minimalnie logowana, nie uruchamia triggerów, nie res...
UNDO RAP
Переглядів 3323 роки тому
Szybki beat o UNDO. Kto wie może nowy hit na zbliżający się karnawał :D ? Muzyka: (Prod. by Mixla) Linki: Facebook: DBALTERNATYWNIE - Keywords: #database #mysql #postgresql #sqlserver #oracle #programming #coding #development #software #sql #plsql #backend #process #thread #linux #unix #windows #rap #dba
Processes vs. Threads - Main differences
Переглядів 2,5 тис.3 роки тому
W ★szybką dyszkę★ dowiesz się jakie są najważniejsze różnice pomiędzy procesami, a wątkami. Oraz dlaczego na Windows tańsza jest obsługa wątków niż procesów. Rozdziały: 00:00 Wstęp 00:24 Mięso 07:54 Podsumowanie 09:44 Zakończenie Terminy: ► PROCESS - proces - instancja programu ► THREAD - wątek - najmniejsza i niezależna sekwencja instrukcji programu ► CONTEXT SWITCH - zmiana programu wykonywan...
Log transakcyjny - do czego i jak jest wykorzystywany
Переглядів 1,6 тис.4 роки тому
W ★szybki kwadrans★ dowiesz się jaki jest mechanizm wykorzystania i przyczyny istnienia logu transakcyjnego w bazach danych. Oraz jak przyspiesza pracę bazy danych. Ogólnie, ale zilustrowane na przykładzie REDO Oracle. Dodatkowo o różnicy w trybach pracy NOARCHIVELOG i ARCHIVELOG bazy Oracle, odtwarzaniu bazy danych do punktu w czasie (PIT - Point-In-Time - Recovery) oraz wzmianka o Oracle RAC....
Deadlock - mechanizmy powstawania,rozwiązywania i unikania
Переглядів 9824 роки тому
W ★szybką dyszkę★ dowiesz się trochę o transakcjach, a trochę o lock'ach. Poznasz mechanizm powstawania deadlock'ów - zakleszczeń, sposoby ich rozwiązywania przez bazy danych oraz metody zminimalizowania ryzyka ich powstania. Rozdziały: 00:00 Wstęp 00:28 Mięso 10:42 Zakończenie Terminy: ► TRANSAKCJA - jednostka pracy wykonywanej na zasobie. Np. na danych w bazie danych. ► LOCK - struktura w pam...
RMAN - kanały
Переглядів 3314 роки тому
W ★5 minut★ dowiesz się: co to jest i na czym polega działanie kanału RMAN, jak i do czego wykorzystywane są bufory wejścia/wyjścia, co to jest BACKUP SET i BACKUP PIECE. Zapoznasz się z modelem backup'u na taśmę. Rozdziały: 00:00 Wstęp 00:29 Mięso 05:47 Zakończenie Terminy: ► CHANNEL - kanał RMAN - proces kopiujący i analizujący bloki bazodanowe ► INPUT/OUTPUT BUFFERS - bufory wejścia/wyjścia ...
RMAN - block access
Переглядів 3264 роки тому
W ★5 minut★ dowiesz się: co to jest blok bazodanowy, dlaczego RMAN jest unikatowym narzędziem do obsługi backup'ów baz Oracle i jak RMAN wykorzystuje dostęp do bloków bazodanowych. Rozdziały: 00:00 Wstęp 00:35 Mięso 05:24 Zakończenie Terminy: ► DATA BLOCK - blok bazodanowy, najmiejsza jednostka danych na której operuje baza danych Oracle ► NULL BLOCK COMPRESSION - algorytm RMAN służący do elimi...
RMAN - architecture
Переглядів 5044 роки тому
W ★5 minut★ dowiesz się: jaka jest architektura i przewagi RMAN, różnica pomiędzy RMAN, a rman, co to jest SMR - server-managed recovery i co oznacza termin TARGET DATABASE. Rozdziały: 00:00 Wstęp 00:26 Mięso 05:32 Zakończenie Terminy: ► SMR - server-managed recovery - zdolność bazy danych do zbekapowania samej siebie ► RMAN - Recovery MANager - implementacja Oracle idei SMR ► rman - plik wykon...
SQL [5] Primary Key
Переглядів 3814 роки тому
Meandry ludzkiego umysłu... Świat baz danych, który każdego dnia przenika cienką granicę otaczającej nas rzeczywistości. Problem, który może dotknąć każdego. Rozwiązanie, które jest takie proste :) Dziś scenka, która pozwoli przybliżyć istotę Primary Key (klucza głównego), klucza naturalnego, klucza zastępczego. Rozdziały: 00:00 Wstęp 00:46 Scenka 03:40 Pogadanka 06:17 Wykład Źródłem wartości k...
Database and Instance - the difference. Based on Oracle.
Переглядів 2,1 тис.4 роки тому
Database and Instance - the difference. Based on Oracle.
SQL [4] Database Normalization
Переглядів 4234 роки тому
SQL [4] Database Normalization
Zostań lepszym dba !
Переглядів 2224 роки тому
Zostań lepszym dba !
Trigger :)
Переглядів 2414 роки тому
Trigger :)
SQL [3] Database Objects
Переглядів 2924 роки тому
SQL [3] Database Objects
SQL [2] In Infrastructure Stack
Переглядів 2244 роки тому
SQL [2] In Infrastructure Stack
SQL [1] Basics
Переглядів 4794 роки тому
SQL [1] Basics
Say Hi Hello :)
Переглядів 6984 роки тому
Say Hi Hello :)
FULL_TABLE_SCAN vs INDEX
Переглядів 5614 роки тому
FULL_TABLE_SCAN vs INDEX
Missing REDO
Переглядів 3314 роки тому
Missing REDO
BLA BLA BLA... DBA + DBMS_REDEFINITION
Переглядів 5134 роки тому
BLA BLA BLA... DBA DBMS_REDEFINITION
Let's get started !
Переглядів 1384 роки тому
Let's get started !

КОМЕНТАРІ

  • @szama280
    @szama280 Рік тому

    Świetny materiał. Jasno i czytelnie. Dodatkowo przekaz w formie obrazkowej lepiej się przyswaja. Dzięki Marcin!

  • @kubamosakowski7350
    @kubamosakowski7350 Рік тому

    👍

  • @kubamosakowski7350
    @kubamosakowski7350 Рік тому

    👍👍

  • @kamilsvideo
    @kamilsvideo Рік тому

    Poddał się, to ostatni filmik

  • @artemixkulibaba7264
    @artemixkulibaba7264 Рік тому

    Świetny film!

  • @kopaczp
    @kopaczp 2 роки тому

    Świetnie wytłumaczone :)

  • @GraczDominik
    @GraczDominik 2 роки тому

    Witam,nie do końca rozumiem różnicę między problemem not repeatible read a Phantom read. Skoro uniknięcie tego pierwszego gwarantuje powtarzalność odczytów z tabeli, to nie gwarantuje jednocześnie tego co omija problem Phantom read?

    • @markippo
      @markippo Рік тому

      Repeatable read zapewnia spójność w obszarze istniejących danych, o które twoja transakcja poprosiła np. Jeżeli napisałeś Select, w którym poprosiłeś o 10 rekordów, to na każdym z tych wierszy tworzony jest lock, który uniemożliwi modyfikację danych przez inną transakcję (będzie kręciła się tak długo, aż twoja transakcja się zakończy). Phantom read dotyczy głównie nowych danych (insertów) i jest efektem wyżej opisanej lokalnej blokady na rekord, nie cały obiekt (tabelę), a więc przy poziomie izolacji repeatable read inne transkacje mogą dodać nowe wiersze do tabeli, w trakcie trwania twojej transakcji. Dlatego też 2 Select może być ilościowo, nie jakościowo różny. Serializable lockuje całą tabelę - więc na czas trwania twojej transakcji, tylko Ty masz dostęp do jej modyfikacji, a co gorsza również odpytania. Izolacja jest wysoka, ale wspóbieżność zerowa, więc w systemach o wysokim współczynniku wspóbieżności to nie jest najwspanialszy pomysł... Sql server oferuje jeszcze 5 typ izolacji - Snapshot, który oferuje benefity serializable, przy jednoczesnym braku blokad. Z tą jednak różnicą, że Twoje operacje wykonywane są na tymczasowej kopi - ograniczeniem jest więc prędkość samej transakcji oraz miejsce, jeżeli chcemy dokonać operacji na większych zbiorach. Materiał zawiera też błąd - podstawowym poziomem izolacji w sql server jest read committed, aczkolwiek do danych niezatwierdzonych bardzo łatwo się dostać za pomocą hinta nolock. Należy też zauważyć, że domyślna transakcyjność jest niejawna, a więc wszystkie operacje DML zostaną automatycznie zatwierdzone po ich wykonaniu. Należy na to uważać, zwłaszcza gdy przychodzi się np. Z Oracle. Problemem nadużywania nolock w sql server jest inny poziom zachowania samego silnika współbieżności. Np. W Oracle, tak długo jak trqnskacja nie jest zatwierdzona, użytkownicy mogą odpytać tabelę w jej niezmienionej formie. W sql server, tak długo aż nie wykona się ostatnia operacja z batcha, tak długo modyfikowane rekordy będą zablokowane, a więc w przypadku Select * innego użytkownika, taka operacja będzie wisieć.

  • @pawepysz6055
    @pawepysz6055 2 роки тому

    Bardzo konkretnie, dzięki 👍👍

  • @cnsr
    @cnsr 2 роки тому

    Ewentualnie SQuirreL :)

  • @acid965
    @acid965 2 роки тому

    Świetnie wytłumaczone! Tak po ludzku, że nie da się nie zrozumieć. Dzięki ogromne za ten przekaz :)

  • @o0GzxS41BIbyux3vEoNehl5FH
    @o0GzxS41BIbyux3vEoNehl5FH 2 роки тому

    Super wytłumaczone. Może coś o Oracle net? Nawiązywanie połączenia z DB, listener, sesje, pooling. Również interesujące byłoby technologia multitenant - jak się bazy PDB mają do instancji głównej bazy, jak używane są zasoby, redologi, itp.

  • @sebon11
    @sebon11 2 роки тому

    Bardzo fajnie wytłumaczone

  • @az.leandra
    @az.leandra 2 роки тому

    Super odcinek, oby więcej takich mimo niewielu komentarzy. Jedynie nie wiem co do 5:20 jak niby otwarta baza danych może powodować nieaktualne pliki? Chyba jak baza danych jest otwarta i robimy z niej selecta to dostaniemy najbardziej aktualne dane jak to tylko możliwe?

  • @symbiot11
    @symbiot11 2 роки тому

    Super , ze Pan tworzy takie filmy. Mam jedno pytanie : W logu sa zapisywane tylko transakcje czy też dane po modyfikacji ?

  • @szpiegu_spy
    @szpiegu_spy 2 роки тому

    Uśmiałem się ale i nauczyłem czegoś nowego. 😁

  • @Gamerv4
    @Gamerv4 2 роки тому

    Super wytłumaczone!

  • @sebon11
    @sebon11 3 роки тому

    Kozacko opisane :)

  • @michah5761
    @michah5761 3 роки тому

    Nie wiem, czy tematyka jest niszowa i dlatego masz mało wyświetleń, ale filmy są bardzo wartościowe i dla mnie potrzebne ;-) pozdrawiam!

  • @jimraynor4383
    @jimraynor4383 3 роки тому

    Właśnie się uczę do poprawki z baz danych :) Bardzo pomocny materiał!

  • @selfcodegenerator8712
    @selfcodegenerator8712 3 роки тому

    Bardzo dobry dobry kanał aby zrozumieć dogłębne działanie baz danych, wielkie dzieki. :-)

  • @hajtez
    @hajtez 3 роки тому

    Kawałek z bennym trochę przydługi. Brakuje wstępu czym jest index, przed samym szukaniem. Można roziwnąć o partycjonowanie i wspomnienie kiedy indeksy nam nie pomagają :)

  • @cya3mdirl158
    @cya3mdirl158 3 роки тому

    Triggery, procedury - nie używać najlepiej baza danych jest tylko pudełkiem a backend jakiś ma logikę z testami jednostkowymi, akceptacyjnymi itp. Nikt nie napiszę takich testów w DSL np. w Spock. Dwa można użyć natywnie JDBC i mieć jeden do jeden SQLa w aplikacji i tak się robi, ale niestety pokolenia programistów jadą na tutotrialach z Hibernate którego nie znają... A jak brak wydajności zawsze można iść w stronę CQRS.

  • @cya3mdirl158
    @cya3mdirl158 3 роки тому

    Co z tego, że są te postacie normalne, jak tutaj się myśli rzeczownikowo, zamiast zachowaniem. Najpierw trzeba zrobić dobry Event Storming, mapy kontekstów, potem zacząć od Domain Driven Design, a gdzieś dopiero na samym końcu baza danych. Oczywiście kod napisać w języku obiektowym jak Java/Kotlin/C# etc...

  • @nieinformatyk
    @nieinformatyk 3 роки тому

    co z tym kursem administracji? :)

  • @123cezar1981
    @123cezar1981 3 роки тому

    Fajne

  • @adys00
    @adys00 3 роки тому

    Przydałby się odcinek o poziomach izolacji transakcji w tym kontekście oraz może w nawiązaniu do deadlocków, o których już była mowa. Najlepiej jak zawsze dla kilku RDBMS-ów. :)

  • @informatyczna42
    @informatyczna42 3 роки тому

    Takie porównania są bardzo fajne, od razu wiadomo o co chodzi. W taki sposób chętnie bym się dowiedziała więcej o różnicach między linked serverami a openquery. Czy np NO LOCK jest przesyłany, po której stronie te dwa mechanizmy działają, czy na serwerze zdalnym czy lokalnym. Jak to się przekłada na performance... rozkład na czynniki pierwsze:) z pozdrowieniami, Mil

  • @mariuszbartkowski9514
    @mariuszbartkowski9514 3 роки тому

    Świetny materiał. Bardzo przystępnie zrobiony!

  • @zwierze
    @zwierze 3 роки тому

    Czyli w przypadku delete potrzebujemy jeszcze drop table? Czy to jeszcze jakoś inaczej idzie i drop table też ma jakieś ukryte moce?

    • @mateuszmajkowski8034
      @mateuszmajkowski8034 3 роки тому

      Delete czyści tylko dane z tabeli i nie usuwa struktury tabeli. Po delete tabelka ciągle isnieje razem ze wszystkimi uprawnieniami. Po prostu jest pusta. Po drop tabelka jest usuwana lub wpada do kosza (jeśli jest włączony)

    • @zwierze
      @zwierze 3 роки тому

      @@mateuszmajkowski8034 OK, dzięki :) czyli pakiet wtedy delete + drop powinien dać radę.

    • @mateuszmajkowski8034
      @mateuszmajkowski8034 3 роки тому

      @@zwierze Tak w skrócie mogę dopisać, że jeśli chcesz usunąć tabelkę, to wystarczy samo Drop Table. Nie trzeba jej czyścić deletem jeśli chcesz ją wyrzucić z bazy. Mało tego: nie powinno się robić delete jeśli chcesz tabelkę po prostu wyrzucić. Delete służy bardziej do usunięcia części rekordów z tabeli. Jak byś zrobiła* delete danych z jakiejś wielkiej tabeli to trwałoby to bardzo długo. No i zapchała* byś przestrzeń Undo niepotrzebnie.

    • @zwierze
      @zwierze 3 роки тому

      @@mateuszmajkowski8034 dzięki bardzo za wyjaśnienie. Btw, pewnie będę tu wpadać, więc dla wyjaśnienia: jestem oną ;)

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 3 роки тому

      I takie dyskusje miło się czyta :) Pozdrawiamy

  • @hipekk
    @hipekk 3 роки тому

    Brakuje moim zdaniem jednej praktycznej informacji (powiedzianej wprost), co się dzieje z kolumnami autoincrement w przypadku tych operacji :).

    • @zwierze
      @zwierze 3 роки тому

      A to nie jest tak, że skoro usuwamy wszystko jak leci to to pozostaje bez znaczenia?

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 3 роки тому

      Cześć Rafał, Odpowiadamy wprost. Nic się nie dzieje, wiersze są po prostu usuwane. Oracle identity column zostało wprowadzone w wersji 12c i jego główne zadanie to nadanie unikatowego(bądź kolejnego) numeru podczas insertów.

    • @marcinbadtke
      @marcinbadtke 3 роки тому

      W SQL Server kolumna IDENTITY jest zerowana.

    • @hipekk
      @hipekk 3 роки тому

      @@bazydanychalternatywnie1873 dzieje się i sęk w tym, że te operacje mają różne konsekwencje dla takich kolumn (przynajmniej w SQL Server). Truncate powoduje, że pole autoinkrementowane jest zerowane, natomiast delete "nie rusza" licznika.

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 3 роки тому

      @@hipekk Dokładnie tak. Dzięki, że zwróciłeś na to uwagę :-)

  • @przemysawmaogorski5145
    @przemysawmaogorski5145 3 роки тому

    Dużo zdrowia, reszta przyjdzie sama

  • @hello_warsaw4024
    @hello_warsaw4024 3 роки тому

    Michał Majkowski - Świetna muza, genialny tekst, extra wykonanie a do tego wartość edukacyjna. Sztos !

  • @Eric36246
    @Eric36246 3 роки тому

    No i powstał nowy odłam w muzyce - Oracle Gangsta RAP ;) Jak się ten raper nazywa? cały świat będzie chciał to wiedzieć :D

  • @kowal1122
    @kowal1122 4 роки тому

    jak zwykle fajnie. :) Mikrofon krawatowy nie załapał dźwięku?

  • @ryszardwatroba3673
    @ryszardwatroba3673 4 роки тому

    Podoba mi się forma przekazu Czekam z niecierpliwością na następne prezentacje

  • @nieinformatyk
    @nieinformatyk 4 роки тому

    5:12 co to za plik i lokalizacja?

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      Chodzi o skrypt generujący raporty AWR. Skrypt znajduje się w $ORACLE_HOME/rdbms/admin. Z sqlplus można go uruchomić np. komendą @?/rdbms/admin/awrrpt.sql

    • @nieinformatyk
      @nieinformatyk 4 роки тому

      @@bazydanychalternatywnie1873 dzięki

  • @WoodyEx
    @WoodyEx 4 роки тому

    Ciekawy materiał :) oby więcej, jak znajdziecie czas możecie poruszyć temat listenera, konfiguracji po stornie plików *.ora i samej bazy, problemów z połączeniem, połączenie bezpośrednie poprzez sqlplus etc.

  • @nieinformatyk
    @nieinformatyk 4 роки тому

    Cześć, bardzo fajny materiał :) Mam kilka pytań. 1. Czy z praktycznego punktu widzenia opłaca się utrzymywać archive redo log po wykonaniu pełnego backupu? Inaczej mówiąc zdarza się, że wykorzystuje się inny niż najświeższy(najnowszy) backup? Bo tylko w takiej sytuacji widzę sens trzymania archive redo logów. 2. Czy pliki redo zawierają tylko zatwierdzone operacje czy również niezatwierdzone? Jeśli również niezatwierdzone to czym się różni plik undo od pliku redo? 3. Jak to możliwe, że po awarii bazy danych jesteśmy w stanie odzyskać niezatwierdzone transakcje? Bo z tego co mi wiadomo niezatwierdzone zmiany znajdują się w undo segmencie(czyli w pamięci RAM, w plikach undo). Jeśli teraz ma miejsce awaria to tracimy pamięć RAM a tym samym wszystko, czego nie ma na dysku. 4. Jak nazywa się proces instancji przenoszący dane z redo log do data files(w trakcie normalnego funkcjonowania oraz po awarii)? DBWr przenosi dane do data files wyłącznie z buforów, czy się mylę? 5. 08:00 Skąd baza wie, że dane z redo są w data filach? Porównuje SCN? 6. Może jakiś odcinek o checkpointach? :) 7. Fajnie by też byłoby się dowiedzieć trochę więcej o danych undo. Z tego co mi wiadomo niektóre niezatwierdzone transakcje są niejawnie przez bazę commitowane(dlatego szybciej działa operacja commit niż rollback). Czy to znaczy, że niezatwierdzona transakcja może się znaleźć w redo? No i czy da się odczytać zawartość plików undo? LogMiner działa tylko dla redo logów? 8. Na czym polega opcja logging/nologging, np. w poleceniu create table? W obu przypadkach zapisujemy zmiany na danych tabeli do redo logów? Dzięki :)

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      Cześć ! Dzięki za pytania, kilka z nich nadaję się na osobny odcinek :) ale w skrócie postaramy się odpowiedzieć tu: 1. Uściślijmy - należy robić backup archivelog podobnie jak plików bazy danych. Co do samego utrzymywania ich po backupie, warto jeśli mam bazę standby. Wtedy ostatnie kilka godzin archivelogów na dysku potrafi znacząco przyśpieszyć naprawę replikacji. 2. Tak - w plikach znajdują się zarówno zatwierdzona jak i niezatwierdzone operacja. Powodów jest kilka np. Transakcja trwająca 10 godzin nie zmieści się w ramie i musi być zapisywana do redo. Różnica pomiędzy redo i undo - temat na osobny odcinek. 3. Nie jest to możliwe. Po awarii baza danych weryfikuje transakcje z redo, zatwierdzone trafiają do bazy, niezatwierdzone - są wycofywane. 4. Nie ma takiego procesu. Redo nie piszę do data file. Jedynym procesem który to robi jest DBWn. Wymuszeniem takiego zapisu zajmuje się kolejny proces CKPT. Przy awarii obstawiam na RECO. 5. Tak, informacja o aktualnym SCN znajduję się w nagłówku pliku. 6. Może :) 7. To pytanie jest niejako kontynuacją 2. Zapis do redo i plików jest ciągły. Pozwala to na: - przetwarzanie transakcji większych od puli pamięci - przetwarzania transakcji większych od redo - szybki commit niezależnie od ilości zmodyfikowanych wierszy. 8. W skrócie opcja nologging generuję mniej redo. Oracle bardzo tego nie lubi i samo przełączenie nologging nie zawsze skutkuję brakiem redo dla danego polecenia. Jeśli nie jesteś pewny swojego backupu to lepiej poczekać nieco dłużej i pozwolić redo robić swoje. Uff :) Mam nadzieję, że pomogłem. Nowe odcinki w krótce. Pozdrawiamy !

    • @nieinformatyk
      @nieinformatyk 4 роки тому

      @@bazydanychalternatywnie1873 Super, dziękuje za odpowiedzi. Pojawiło mi się kilka kolejnych, ale poczekam z nimi, bo podejrzewam, że na większość z nich uzyskam odpowiedź w nagraniach. PS. Macie w planach jakiś kurs dla Oracle DBA? Chętnie bym się podszkolił z tych tematów.

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      @@nieinformatyk Dziękujemy za uznanie dla naszej pracy 🙂 Tak, kurs jest planowany. W tej chwili nie możemy podać jeszcze konkretnego terminu. Będziemy informować gdy tylko zostaną ustalone jakieś ramy czasowe. Na ten czas zachęcamy i zapraszamy do zadawania nam pytań czy zgłaszania tematów, które miałyby zostać poruszone w naszych materiałach. Motory bazy danych - ze szczególnym uwzględnieniem Oracle, projektowanie baz danych oraz ciągle rozwijający się jezyk SQL to zagadnienia w których czujemy się najlepiej 🙂 Ale nie stronimy od Oracle GoldenGate, DataGuard czy Cloud.

  • @tomaszkucharski6895
    @tomaszkucharski6895 4 роки тому

    Fajną robotę robicie! Może jakiś materiał typu "Błędy programistów Java/C# vs DBA"? Jakieś protipy od Was magików Oracle'a dla zwykłych szarych klepaczy kodu? Pisząć aplikacje oparte o Javę często spotykam się z problemami na Oracle i zawsze w głowie jest "a jakby tak posiąść trochę tej magicznej wiedzy DBA" :D

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      O to chodzi w tym kanale - chcemy, my DBA, pomóc programistom aby ich aplikacje działały wydajniej z naszymi bazami danych :-) Aby programiści byli świadomi co baza danych może zrobić dla ich aplikacji. Aby w aplikacji nie powielać kodu, który jest już w bazie danych. Jeśli masz jakiś konkretny temat na myśli - daj znać :-)

    • @tomaszkucharski6895
      @tomaszkucharski6895 4 роки тому

      Wpada błąd z proda "sql-ka działa wolno" - jak to przeanalizować? Jak czytać statspacki? :)

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      Heh, temat rzeka :-) Najlepszy, bo wizualny, byłby OEM czy inny Toad/SQLDeveloper. Jeśli tylko sqlplus to sugeruję zaprzyjaźnić się z pakietem DBMS_XPLAN, wygenerować plan wykonania i zweryfikować czy optymalizator wybiera optymalny. Np. jakich i czy w ogóle używa indeksów. Można też zerknąć do widoków wydajnościowych i albo szukać od strony zużytych zasobów - DBA_HIST_%, albo od strony 'wait events'.

  • @nieinformatyk
    @nieinformatyk 4 роки тому

    Fajne nagranie, poleciał sub :)

  • @rickmainer4988
    @rickmainer4988 4 роки тому

    Nic się nie dowiedziałem, ale wiem, że kilka lat temu byłoby mi to się przydatne. Kontynuujcie! Pozdrawiam.

  • @andrzejbudzynski9237
    @andrzejbudzynski9237 4 роки тому

    Czy przy restorze gdy jest uwalony mozna odtwarzac tylko te backup piece ktore nie zostaly odtworzone czy leci wszystko od poczatku?

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      RMAN powinien odtworzyć tylko pliki, których brakuje. Niemniej jest to obwarowane warunkami. Dokładnie opisane w nocie MOS: 1621319.1

  • @marcinjanosz1378
    @marcinjanosz1378 4 роки тому

    Dobre

  • @andrzejbudzynski9237
    @andrzejbudzynski9237 4 роки тому

    Super material. Dzieki.

  • @andrzejbudzynski9237
    @andrzejbudzynski9237 4 роки тому

    Dzieki!

  • @dragontear85
    @dragontear85 4 роки тому

    Jak już mamy listę życzeń, to chętnie bym zobaczył techniczny materiał o Golden Gate, co to jest i jak działa z real life application.

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      Dzięki :-) Nie mogę obiecać, że nastąpi to szybko, ale pomysł skrzętnie zanotowałem.

  • @dragontear85
    @dragontear85 4 роки тому

    Ja in memory database robiłem już z 11g ;) Pozdrawiam, grrzesiek ;) ps. Warto wspomnieć, że bywają specyficzne przypadki, kiedy index rośnie (zajmuje więcej miejsca) bardziej niż sama tabela.

    • @bazydanychalternatywnie1873
      @bazydanychalternatywnie1873 4 роки тому

      Dla chcącego nic trudnego :)

    • @dragontear85
      @dragontear85 4 роки тому

      @@bazydanychalternatywnie1873 Chciałem po prostu wspomnieć, że było to możliwe wcześniej, tak informacyjnie... ;)

  • @andrzejbudzynski9237
    @andrzejbudzynski9237 4 роки тому

    Czekam na odcinek o RMANie i jakims Netbackupie czy Networkerze :)

  • @zarys76
    @zarys76 4 роки тому

    Brawo :) fajny odcinek.

  • @szymoncirocki2237
    @szymoncirocki2237 4 роки тому

    Hej zastanawia Cię jak sprzedawać na LinkedIn? Sprawdź hashtag 👉👉 #linkedinleadsgenerationb2b