1. Téma: Architektura databáze
Oracle 12c
Tomáš Solař, Oracle ACE
Tomas Solar Consulting
Prezentace pochází z webináře, který proběhl 14.2.2014 online na stránkách
www.Tomas-Solar.com
pro informace o dalších prezentacích navštivte webové stránky
Tomáš Solař
● pořádá různé webináře, workshopy, školení
● vzdáleně spravuje databáze klientů
● poskytuje konzultace na různorodých projektech
2. Webinář v rámci cyklu Oracle DBA
Tomáš Solař, Oracle ACE
Tomas Solar Consulting
Téma: Architektura databáze
Oracle 12c
3. Tomas Solar Consulting
Představení - Kdo jsem?
Jméno:
Povolání:
Certifikace:
Autor:
Co dělám:
Tomáš Solař
DBA, konzultant, školitel, autor, blogger
Oracle ACE, OCP 10g/11g, OCE 10g/11g a další.
Oracle Database 11g - Hotová řešení (cpress)
Oracle DBA – examples from practice (ebook)
- Spravuji databáze a OFM klientům, kteří to chtějí.
- Školím lidi, které to zajímá.
- Pracuji na projektech, které jsou zajímavé.
- Připravuji webináře a semináře, protože mě to baví.
- Pořádám workshopy, protože teorie nestačí.
- Píši o problémech a jejich řešení.
- Bavím se s lidmi, protože rád poslouchám.
4. Single vs cluster
Tomas Solar Consulting
Inst 1
Inst 2
Inst 1 Inst 2 Inst 3
DB1
DB2
DB Sdílené uložištěLokální uložiště
Single/non-cluster
Clustrový systém - RAC
5. Připojení k serveru
Tomas Solar Consulting
Aplikace
APP
server DB
Klient
Middle tier DB server
Sqlplus
Klient
Multitier
DB
DB server
Client/server
6. Tomas Solar Consulting
Celková architektura databáze Oracle 12c
Lze stáhnout ze stránek
Oracle společně s dalsími
podklady jako soubor
poster.zip
7. SGA
Tomas Solar Consulting
Instance
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo a
arch log
Architektura databáze
Database
buffer
cache
Redo
log
buffer
Large
pool
PGA
Java pool Streams pool
Stack
space
User
global
area
Server
proceslistener
User
proces
Pamětové struktury
Procesy
Uložiště
Instance = pamět + procesy
Databáze = instance + uložiště
Data dict. cache
Other
(keep,recycle,..)
SGA Shared pool
Library cache
8. Tomas Solar Consulting
•Easy connect naming: TCP/IP a vypisuje se vše
SQL> CONNECT hr/hr@dbserver.tomas-solar.com:1521/orcl
•Local naming: Používá se konfigurační soubor tnsnames.ora
SQL> CONNECT hr/hr@orcl
•Directory naming: Použití jmeného serveru LDAP
SQL> CONNECT hr/hr@orcl
•External naming: Použití podporovaných non-Oracle jmených služeb
Client/application server
Oracle Net
tnsnames.ora
sqlnet.ora
Připojení do databáze
listener.ora
sqlnet.ora
9. Tomas Solar Consulting
Shared pool
Shared pool
Library cache
Data dictionary
cache
Server result cache
● SQL
● PL/SQL
Reserved pool
Parsing
● kontrola syntaxe sql dotazu
● kontrola objektů na které se odkazuje v dotazu
● kontrola oprávnění (systémová i objektová)
● převedení dotazu do byte-code (p-code)
● vyhledání optimální cesty nebo exekučního
plánu
Data dictionary cache = row cache
LRU - algoritmus, co se nepoužívá se odstraní
= Dotazy
= Objekty
= Větší chunk
= Výsledky
SHARED_POOL_SIZE
10. Tomas Solar Consulting
Database buffer cache
Obsahuje data z
● tabulek
● indexu
● materializovaných pohledů
● systémová data
Stavy bloku
● free - může být využitý
● pinned - aktuálně používaný
● dirty - změněný, čeká na
zápis do datového souboru
Database buffer cache
Default Buffer pool
(databázové bloky)
Non-Default Buffer
pool
Flash buffer area
DB_CACHE_SIZE
11. Tomas Solar Consulting
Redo log buffer
Redo log buffer
● drží informace o změnách
● DML, DDL nebo interní operace
● jak byla změna provedená
Kdy se zapisuje do redo log
souboru:
● commit
● každé 3 vteřiny
● buffer z ⅓ plný
● před každým zápisem
dirty bufferu (DBWn)
Detailní informace o redo logu rozebírám na
webináři
Core Oracle DBA: ZMĚNA BLOKU
LOG_BUFFER
12. Tomas Solar Consulting
Large pool
Large pool je využíván
● RMAN
● Shared server
● Paralelní operace
● I/O serverové procesy
● Oracle XA - více databází
● Advanced queuing
● přímý zápis datová pumpa
Large pool
response queues
request queues
Oracle XA
backup/recovery
private SQL pro
shared server
PX msg pool
LARGE_POOL
13. SGA
Tomas Solar Consulting
Instance
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo a
arch log
Architektura databáze
Database
buffer
cache
Redo
log
buffer
Large
pool
PGA
Java pool Streams pool
Stack
space
User
global
area
Server
proceslistener
User
proces
Pamětové struktury
Procesy
Uložiště
Instance = pamět + procesy
Databáze = instance + uložiště
Data dict. cache
Other
(keep,recycle,..)
SGA Shared pool
Library cache
14. Tomas Solar Consulting
Program global area (PGA)
PGA obsahuje informace privátní nebo vztahující se k dané session.
PGA
SQL work area
● sort area
● hash area
User global area (UGA)
● session
variables
● OLAP pool
Private SQL area
● persistent area
● runtime area
Třídení, hash joins. Cursory.
Řídící informace k session. Bitmapové
indexy.
Překopírovaný kontext z shared poolu pro
konkrétní SQL dotaz.
16. Parametry pro nastavení paměti
SGA_MAX_SIZE
SGA_TARGET
MEMORY_TARGET
MEMORY_MAX_TARGET
PGA_AGGREGATE_TARGET
SHARED_POOL_SIZE
DB_CACHE_SIZE
LARGE_POOL_SIZE
JAVA_POOL_SIZE
STREAMS_POOL_SIZE
OTHER
Automatic
memory
management
Automatic
shared
memory
management
Tomas Solar ConsultingTomas Solar Consulting
17. Database smart flash cache
Tomas Solar ConsultingTomas Solar Consulting
Database
buffer
cache
SGA
Database
smart flash
cache
● OS Solaris neb linux
● 2x až 10x velikosti SGA
● db file sequential read je top
wait event
DB_FLASH_CACHE_FILE = /dev/sda, /dev/sdb, /dev/sdc
DB_FLASH_CACHE_SIZE = 32G, 32G, 64G
18. Tomas Solar Consulting
Backgroud procesy
PMON - Řídí systémové server procesy, po pádu uvoňuje zdroje, rollback.
SMON - Zodpovědný za instance recovery. Po pádu databáze.
DBWn - Zapisuje do datových souborů. Až 20.
LGWR - Zapisuje do redo logů.
CKPT - Zápis dirty buffers do datových souborů plus kontrolní soubor.
SMON díky tomu ví, odkud má dělat recovery.
ARCn - Vytváří archívní soubory. Max 30.
MMON - Podporuje AWR, sbírá statistiky, snapshoty, kontroluje thresholdy
MMNL - Zapisuje ASH statistikyz bufferu (SGA) na disk.
CJQ0 - Kontroluje naplánované úlohy.
J000 - Slave proces spouští vlastní úlohy. Max 1000.
DIA0 - Řeší deadlock situace a další hangy.
VKTM - Časovač v databázi.
LREG - Registrace databáze do listeneru
20. Tomas Solar Consulting
Instanc
e
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo
logy
Database writer (DBWn)
Database
buffer
cache
Redo
log
buffer
Large
pool
SGA Shared pool
Library cache
Data dict. cache
Other
(keep,recycle,..)
Java pool Streams pool
Uložiště
arch
logy
DB_WRITER_PROCESSES
Zapisuje dirty buffers z LRUW
list tzv. incremental checkpoint
DBWn zapisuje do datových
souborů, když nastane:
● shutdown
● checkpoint
● recovery time překročen
● je potřeba blok a není
žádný free
● spuštěn DDL příkaz
● každé 3 vteřiny
● a další
21. Tomas Solar Consulting
Instanc
e
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo
logy
Redo log writer (LGWR)
Database
buffer
cache
Redo
log
buffer
Large
pool
SGA Shared pool
Library cache
Data dict. cache
Other
(keep,recycle,..)
Java pool Streams pool
Uložiště
arch
logy
- Před DBWn se musí zapsat
změny z redo log bufferu do
souboru.
- Musí existovat aspoň člen ve
skupině.
- Fast commit - odložen zápis
do datového souboru
- Group commits - pokud je
hodně změn, zapisuje se do
redo a nakonec zapíše jen
jeden commit.
22. Tomas Solar Consulting
Instanc
e
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo
logy
Checkpoint process (CKPT)
Database
buffer
cache
Redo
log
buffer
Large
pool
SGA Shared pool
Library cache
Data dict. cache
Other
(keep,recycle,..)
Java pool Streams pool
Uložiště
arch
logy
Checkpoint definuje system
change number (SCN) v redo.
- Je to zásadní informace pro
obnovu.
- Updetuje se hlavička
datových souboru a kontrolní
soubor.
- Veškeré změny před tímto
SCN jsou zapsané i v
datových souborech.
23. Tomas Solar Consulting
Instance
ARCnDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo
logy
Archiver process (ARCn)
Database
buffer
cache
Redo
log
buffer
Large
pool
SGA Shared pool
Library cache
Data dict. cache
Other
(keep,recycle,..)
Java pool Streams pool
Uložiště
arch
logy
- Aktivuje se při zapnutí
archívního módu.
- Může být více destinací i
procesů.
24. Tomas Solar Consulting
Data files
Control
files
redo
logy
Uložiště - rozložení
arch
logy
backup
init file
passwd file
alert log
trace files
select name from v$controlfile;
select member from v$logfile;
select name from v$datafile;
show parameter spfile;
25. Tomas Solar Consulting
Logická a fyzická struktura
Database
Tablespace
Segment
Extent
Oracle data
block
Data file
File system
or
raw devices
Logical Physical
27. Tomas Solar Consulting
Instance
otherDBW0 CKPT LGWR SMON PMON RECO
Data files
Control
files
redo a
arch log
Architektura databáze
Database
buffer
cache
Redo
log
buffer
Large
pool
SGA
PGA
Shared pool
Library cache
Data dict. cache
Other
(keep,recycle,..)
Java pool Streams pool
Stack
space
User
global
area
Server
proces
listener
User
proces
Pamětové struktury
Procesy
Uložiště
Instance = pamět + procesy
Databáze = instance + uložiště
29. Automatic storage management
Tomas Solar Consulting
Diskové pole, NAS, SAN, lokální..
DiskgroupsDG1
DG2
FRA
Soubory dané databáze
DB DB DB
ASM ASM ASM
Servery
● Single nebo RAC
● Běží na nich ASM instance
● Běží na nich libovoný
počet db
30. Tomas Solar Consulting
Logická a fyzická struktura
Database
Tablespace
Segment
Extent
Oracle data
block
Data files
File system
or
raw devices
ASM
ASM
allocation
unit
ASM
disk group
ASM
file
ASM
extent
ASM
disk
Logical Physical
31. Disk A
1
5
Disk B
2
6
Disk C
3
7
Disk D
4
8
ASM file
Disk group
Extent
map
File
extent
Extent maps
Tomas Solar ConsultingTomas Solar Consulting
32. Tomas Solar Consulting
S čím mohu pomoci
● Provést základní healthcheck
● Zkonzultovat váš stávající stav
● Připravit školení, workshop, webinář
● Zajistit support databazí. Spolupráce
od 4h měsíčně
● Spolupráce na projektech
● EMERGENCY kontakt
● a další
Kontakt:
Web: http://www.tomas-solar.com/kontakt/
Mail: tom@tomas-solar.com
Tel: 731 196 647
Skype: database-administrator
Bezplatná konzultace !
Skype, hangout, telefon.
33. Tomas Solar Consulting
Děkuji za pozornost.
Napište mě ihned.
Dokud máte otázky v hlavě
Těším se na dalším webináři.
Děkuji za vyplnění dotazníku, který Vám zašlu.
http://www.tomas-solar.com/dotaznik-k-webinari/
Registrace na komunitním webu pro DBA.
http://database-administrator.com/
Registrace k odběru ebooku
http://www.tomas-solar.com/ebook-zdarma/