Oracle Listener

advertisement
<Insert Picture Here>
Administracja serwerem bazy danych Oracle 11g
Instancja i dostęp do bazy danych
Wykład nr 1
Michał Szkopiński
Struktura przedmiotu
• 12 godzin wykładów
• 6 spotkań x 2 godziny
• 26 godzin ćwiczeń
• 13 laboratoriów x 2 godziny (12 x 2 godz)
• W trakcie laboratoriów wykonywanie typowych zadań
administracyjnych na dostarczonej maszynie
wirtualnej
• Możliwość wykonywania dodatkowych zadań
domowych
• Test końcowy
• Na ostatnim zjeździe w trakcie ostatniej tury laboratoriów
Agenda przedmiotu
• Wykład 1
• Zapoznanie się ze środowiskiem maszyny wirtualnej
• System operacyjny Linux
• Omówienie struktury bazy danych Oracle oraz wykonanie
podstawowych operacji
• Wykład 2
• Zarządzanie strukturą bazy danych (przestrzenie tabel, pliki
segmenty extenty i bloki danych)
• Wykład 3
• Zarządzanie użytkownikami i bezpieczeństwem danych
• Wykład 4
• Zarządzanie obiektami bazy danych (tabele, widoki, indeksy,
sekwencje, itp)
Agenda przedmiotu cd.
• Wykład 5
• Wykonywanie kopii zapasowych i odtwarzanie
• Wykład 6
• Monitorowanie i poprawianie wydajności bazy danych
• Instalowanie aktualizacji
Kilka słów o prowadzącym ...
• Michał Szkopiński
• [email protected]
• Pracownik Oracle Polska od 11 lat
•
•
•
•
•
Tester,
Programista,
Administrator Oracle,
Konsultant wdrożeniowy
Architekt rozwiązań Oracle Fusion Middleware
• Wykładowca WSISiZ w Warszawie
• Zainteresowania
• Nurkowanie, narty, wspinaczka, podróże
Oracle Database 11g
Podstawowe zadania administracyjne
• Instalowanie oprogramowania bazy danych na
dostępnym sprzęcie
• Tworzenie instancji bazy danych
• Zamykanie i otwieranie bazy danych. Dostęp przez
sieć, zmiany parametrów startowych
• Zarządzanie strukturą bazy
• Zarządzanie użytkownikami i bezpieczeństwem
• Wykonywanie kopii zapasowych i odtwarzanie po
awarii
• Monitorowanie wydajności i jej poprawa
• Instalowanie aktualizacji
Narzędzia administracyjne
• Oracle Universal Installer (OUI) – instalowanie
oprogramowania Oracle
• Oracle Database Configuration Assistance –
tworzenie instancji bazy z szablonów lub od zera
• SQL PLUS (sqlplus) – konsola z wierszem poleceń
• Enterprise Manager (emctl) – graficzne narzędzie
administracyjne
• Recovery Manager (rman) – tworzenie kopii i
odtwarzanie
• LISTENER (lsnrctl) – bramka sieciowa do połączeń
zdalnych
Elementy składowe bazy Oracle (1)
• Pliki
• Data files – pliki z danymi
• Control files – przechowuje fizyczną strukturę bazy (gdzie są
inne pliki potrzebne do uruchomienia instancji)
• Redo log files – pliki przechowujące zmiany w danych
• Archive log files – archiwalne redo logi
• PFILE & SPFILE – pliki z parametrami inicjalizującymi
instancję bazy
Elementy składowe bazy Oracle (2)
• Procesy
• SMON – System monitor – odtwarza bazę danych po awarii
instancji
• PMON – Process monitor – sprząta po awari procesu
użytkownika
• DBW – database writer – zapisuje zmienione bloki danych z
pamięci w plikach na dysku (data files)
• LGWR – log writer – zapisuje zmiany w plikach redo logów
• CKPT – checkpoint – informuje o potrzebie zrzucenia
wszystkich zmian z pamięci do plików na dyskach (data files,
redo logs)
• ARC – archiver – kopiuje wypełnione redo logi do innej
lokalizacji
Elementy składowe bazy Oracle (3)
• Pamięć
• SGA – System Global Area – wspólny obszar pamięci dla
całej instancji bazy
• Shared Pool – bufor na polecenia SQL wpółdzielone
między użytkownikami
• Database buffer cache – bufor bloków danych pobranych
z plików
• Redo log buffer – bufor redo logów
• Java Pool – do uruchamiania kodu Java
• Large Pool
• PGA – Program Global Area – procesy serwera obsługujące
sesje użytwkoników
Elementy składowe bazy Oracle
Instance
SMON
PMON
Others
RECO
SGA
Shared pool
Database
buffer
cache
Redo log
buffer
DBWn
CKPT
Library
cache
Data dictionary
cache
PGA
Server
process
User
process
Data files
Control
files
Database
LGWR
Redo log
files
ARCn
Archived
log files
Wykonanie operacji SELECT w bazie
Shared pool
Library
cache
Result
cache
Database
buffer
cache
Data dictionary
cache
Server
process
Jest w Result cache
Nie ma w Result cache, pobieram z dysku
Select salary
From employees
User
process
5500
Data files
Wykonanie transakcji w bazie
Update/Insert
Shared pool
Update
employees
Server
process
Database
buffer cache
New=7000
New=7000
Undo=5500
Undo=5500
LGWR
Synchronicznie z
DBWn
Asynchronicznie
operacją Commit
Set
salary=7000
Commit
Redo log
buffer
Commit
complete
User
process
Redo log
files
Data files
Zarządzanie pamięcią
• Manualne
• Samodzielnie określamy parametry poszczególnych buforów
• Należy ustawić
• SGA_MAX_SIZE = nM
• MEMORY_TARGET=0
• Automatyczne
• Serwer bazy samodzielnie będzie zarządzał przydziałem
pamięci dla poszczególnych buforów w SGA i PGA
• Należy ustawić
• MEMORY_TARGET= nM
• MEMORY_MAX_TARGET = nM
Sprawdzanie parametrów pamięci
• Za pomocą sqlplus:
• Polecenie „show parameter”
• memory_target
• sga_max_size
• pool – pokaże wszystkie parametry zawierające w nazwie
„pool” np: java_pool_size, shared_pool_size
itp.
• Poleceniem SELECT z widoku
• V$SGA
• V$SGASTAT
• V$PGASTAT
• V$MEMORY_DYNAMIC_COMPONENTS
Uruchamianie instancji bazy
• Bazę uruchamia się w 3 etapach
• NOMOUNT, MOUNT, OPEN
• NOMOUNT
• Tworzy obszar SGA wraz z poszczególnymi buforami i
procesami serwera
• Czytany jest plik inicjalizacyjny PFILE lub SPFILE
• MOUNT
• Czytany jest plik kontrolny CONTROL FILE
• Sprawdzana jest spójność plików bazy danych
• W tym trybie można odzyskiwać bazę po awarii
• OPEN
• Otwierane są wszystkie pozostałe pliki danych oraz redo logi
• Baza gotowa jest do użycia
Polecenia do uruchamiania bazy
• Normalne uruchomienie bazy danych
• startup
• Uruchomienie w trybie nomount (tylko przydzielenie
pamięci wraz z procesami instancji)
• startup nomount
• Uruchomienie w trybie MOUNT
• startup mount
• Zmiana trybu pracy instancji bazy
• alter database mount[open]
Zamykanie bazy danych
• Bazę danych można zamknąć na 4 sposoby
• shutdown normal
• Czeka aż wszyscy użytkownicy rozłączą się
• shutdown transactional
• Czeka na zakończenie wszystkich transakcji
• shutdown immediate
• Kończy natychmiast wszystkie transakcje poprzez
Rollback
• shutdown abort
• Natychmiast kończy pracę wszystkich procesów instancji
• Ponowne uruchomienie wymaga odtworzenia (operacja
automatyczna)
Nasłuch sieciowy – Oracle Listener
• Listener to proces który zarządza połączeniami
sieciowymi z instancją bazy
Listener
port 1521
Aplikacja
RDBMS
Oracle Net
Oracle Net
Klient
Sieć TCP/IP
Server Bazy
danych
Zarządzanie Listener-em
• Do zarządzania Listener-em służy polecenie
• lsnrctl
• Uruchomienie
• lsnrctl start
• Zatrzymanie
• lsnrctl stop
• Sprawdzenie statusu
• lsnrctl status
Konfiguracja połączeń sieciowych (1)
• Po stronie SERWERA bazy danych konfiguruje się proces
LISTENER-a w pliku
• $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = oracle1.localdomain)
(PORT = 1521))))
Konfiguracja połączeń sieciowych (2)
• Po stronie KLIENTA konfiguracja przechowywana
jest w pliku
• $ORACLE_HOME/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = oracle1.localdomain)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Podłączenie się do bazy danych
• Do celów administracyjnych używany będzie
najczęściej SQL PLUS:
• Podłączenie lokalne na serwerze bazy danych (bez użycia
LISTENER-a)
• sqlplus user1/pass1
• Podłączenie zdalne przez sieć
• sqlplus user1/pass1@orcl
• Podłączenie jako administrator - SYS
• sqlplus sys as sysdba
• Podłączenie lokalne więc hasło nie jest wymagane
• sqlplus sys@orcl as sysdba
• Podłączenie sieciowe więc hasło jest wymagane
Połączenia sieciowe – jak to działa
SQLPLUS ala/haslo@baza
Rozwiązywanie nazyw
baza =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.oracle.com)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=orcl)))
LISTENER
port 1521
orcl
myhost.oracle.com
Dziękuję za uwagę i
zapraszam na ćwiczenia
Download