Nauka baz danych Oracle

0

Znam dobrze MySQL i MariaDB. Potrafię tworzyć zapytania, również z JOINami lewo, prawo stronnymi, podzapytania. Również optymalizacja baz danych. Umiem pisać triggery słabo procedury i funkcję.

Chciałem poznać bazę Oracle. Jaką iść drogą, jeśli aktualnie mam zawodowej szansy pracy w Oracle:

  1. Pobrać Oracle Database 11g Express Edition i na tej bazie próbować pracować. Pytanie tylko jak ona odbiega od aktualnej 12c?
  2. Wykupić jakiś tani (o ile jest) hosting z Oracle?

Czy Oracle dużo różni się od baz MySQL/MariaDB?? Pytam z punktu widzenia programisty Java.

0
erlu napisał(a):

Znam dobrze MySQL i MariaDB. Potrafię tworzyć zapytania, również z JOINami lewo, prawo stronnymi, podzapytania. Również optymalizacja baz danych. Umiem pisać triggery słabo procedury i funkcję.

Chciałem poznać bazę Oracle. Jaką iść drogą, jeśli aktualnie mam zawodowej szansy pracy w Oracle:

  1. Pobrać Oracle Database 11g Express Edition i na tej bazie próbować pracować. Pytanie tylko jak ona odbiega od aktualnej 12c?
  2. Wykupić jakiś tani (o ile jest) hosting z Oracle?

Czy Oracle dużo różni się od baz MySQL/MariaDB?? Pytam z punktu widzenia programisty Java.

Powinieneś rozpocząć od zapoznania się z architekturą bazy Oracle, polecam książkę: Thomas Kyte - "Expert Oracle Database Architecture". Właściwie to powinna być pozycja obowiązkowa, zanim zabierzesz się z instalację.

Między 11g i 12c jest duża różnica (g" w 11 jest od "grid", zaś "c" w 12 jest od "cloud") dotycząca funkcjonalności. Chodzi głównie o funkcjonalności z perspektywy administratora bazy danych. Dla programisty Javy i początkującego adepta Oracle w zasadzie niedostrzegalne różnice. Zarówno do MySQL/MariaDB jak i Oracle używasz interfejsu JDBC i tyle, więc dużych zmian nie powinieneś odczuć.

Polecam VirtualBoxa + instalację pod Linuxem. Pod Windows jest to też możliwe, ale napotkasz dużo więcej problemów. Oracle udostępnia również obrazy VM z pre-instalowanymi komponentami. W zamyśle ma to ułatwiać róże rzeczy, ale trzeba wiedzieć co chcesz osiągnąć i który VM Ci w tym pomoże. Na początku oczywiście nie masz tej wiedzy, więc lepiej zacząć od instalacji bazy od 0 i przejściu przez typowe problemy "jak się połączyć?".

Polecam stronę: https://oracle-base.com/

Tom Kyte + oracle-base => odpowiedzi na 99% typowych problemów z Oracle

Jak chcesz wiedzieć jak działa Oracle od podszewki i poznać jak podchodzić do rozwiązywania pozostałych 1% problemów, to warto śledzić:

  • blogi (Tanel Poder, Jonathan Lewis i linki z blogrolli)
  • oracle-l (lista mailingowa)
0

możesz za darmo pobrać każdą wersję oracle, także 12c - do nauki nie potrzebujesz wykupywać licencji. Jednak musisz wziąć pod uwagę, że pełna wersja ma dość znaczne wymagania sprzętowe.

Co do różnicy to tak jak każda baza różni się od mysqla w niektórych względach dość mocno. Mysql nie trzyma się standardu (choćby to, że nie wszystkie pola nieagregowane muszą być w group by). Także sam język pl/sql jest trochę inny od choćby t-sql z mysqla czy pl/pgsql z postgresa.

Na początek trzeba przyswoić sobie konfigurację bazy (zdarza się, że po instalacji coś nie chce działać jeśli potem grzebie się w ustawieniach IP np.), przyswoić co to jest nasłuch (listener), do czego służy plik listener.ora, tnsnames.ora, czym się różni baza od instancji, czym jest przestrzeń tabel i jak działają użytkownicy (a działają inaczej niż w większości baz, opisywałem to w tym tygodniu).

Po domyślnej instalacji możesz zacząć od razu przejść do pisania zapytań, tworzenia tabel itd bez zagłębiania się w powyższe ale jeśli myślisz na poważnie o oracle to to co napisałem wyżej to podstawy, które musisz znać aby się odnaleźć w tym systemie

1 użytkowników online, w tym zalogowanych: 0, gości: 1