Instalacja Oracle Database 12.2 w środowisku Docker

W związku z coraz powszechniejszym wykorzystywaniem kontenerów Docker i wynikającymi z tego pytaniami o prawidłową instalację i konfigurację oprogramowania serwera bazy danych przeprowadźmy krótką demonstrację obejmującą: (1) przygotowanie systemu operacyjnego Oracle Linux 7.2, (2) instalację oprogramowania Docker Engine, (3) instalację i konfigurację oprogramowania Oracle Database 12c. 1. Przygotowanie systemu operacyjnego Oracle Linux 7.2 Obejmuje dwie[…]

Kompresja HCC – ocena skuteczności na laptopie

Exadata, ZFS oraz Pillar Axiom umożliwiają stosowanie wysoce skutecznej kompresji kolumnowej HCC (Hybric Columnar Compression) – ciekawy opis znajduje się tu. Funkcjonalność HCC jest jednak wbudowana w każde wydanie serwera bazy danych Oracle Database 12c (nie tylko Exadata), lecz możliwość jej użycia jest blokowana na zasadzie „nie, bo nie”. Pomysły na jej odblokowanie publikowali już[…]

Indeksy częściowe w Oracle Database 12c

Oracle Database 12c oferuje ciekawe rozwiązanie, pozwalające zredukować rozmiar indeksu tworzonego na tabeli partycjonowanej, w której wiele partycji ma charakter archiwalny (bardzo rzadko podlega zapytaniom). Indeks częściowy – bo o nim mowa – może obejmować swoim zasięgiem wybrane partycje tabeli, podczas gdy rekordy w pozostałych partycjach tabeli pozostają bez indeksu. Gdy realizowane jest zapytanie do[…]

Kilka indeksów na tej samej kolumnie (wyrażeniu) ?!

W przeszłości wielokrotnie podejmowałem dyskusje dotyczące właściwego doboru typu indeksu w zależności od charakterystyki danych i od rodzaju wykonywanych zapytań. Wydawało się, że jednym z niespełnionych marzeń programistów było utworzenie wielu alternatywnych indeksów na tej samej kolumnie (np. bitmapowy, b-drzewo, partycjonowany lokalnie, partycjonowany globalnie,…) tak, aby to optymalizator zapytań (a nie programista) wybrał sobie ten,[…]

Walczymy ze zbędnym REDO w Oracle Database 12c! (temp_undo_enabled)

Jak dobrze wiemy, serwer bazy danych Oracle Database zapewnia odtwarzalność realizowanych transakcji poprzez generowanie informacji Redo zapisywanych w dziennikach powtórzeń (redo logs). Gdy zdarzy się awaria, informacje te pozwalają zrekonstruować stan bazy danych będący skutkiem transakcji zrealizowanych przed awarią. Istnieją jednak sytuacje, w których programiście wcale nie zależy na zabezpieczeniu transakcji, a wręcz postrzega on[…]

Automatic Data Optimization w 12c (Information Lifecycle Management)

To jedna z ciekawszych nowych funkcjonalności serwera Oracle Database 12c. Pomaga zoptymalizować mechanizmy składowania danych, którymi użytkownicy od pewnego czasu przestali się aktywnie interesować. Aktualnie dostępne są dwa rozwiązania: (1) kompresja (rekompresja) danych „niedotykanych” przez użytkowników, (2) przenoszenie (tzw. tiering) do „tańszej” przestrzeni tabel tych partycji, które przestają się mieścić w aktualnej przestrzeni tabel, a[…]

Jak nie pomylić się za pierwszym razem? Adaptatywne plany wykonania w Oracle Database 12c

Zajmowaliśmy się już kiedyś ciekawą kwestą korygowania nieoptymalnego planu wykonania z wykorzystaniem Cardinality Feedback (Jak optymalizator uczy się na błędach). Pokazaliśmy, że po pierwszym wykonaniu nieoptymalnego planu wykonania optymalizator potrafi go zmodyfikować tak, aby drugie wykonanie przebiegło już bardziej efektywnie. Niestety, ten mechanizm serwera potrafi być skuteczny dopiero przy drugim wywołaniu tego samego zapytania. Pierwsze[…]