Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
Webinář v rámci cyklu Oracle DBA
Tomáš Solař, Oracle ACETomas Solar Consulting
Téma: Architektura databáze Oracle 12c
Tomas Solar Consulting
Představení - Kdo jsem?
Jméno:
Povolání:Certifikace:
Autor:
Co dělám:
Tomáš Solař
DBA, konzultant, školitel, autor, bloggerOracle 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.
Single vs cluster
Tomas Solar Consulting
Inst 1
Inst 2Inst 1 Inst 2 Inst 3
DB1
DB2
DB Sdílené uložištěLokální uložiště
Single/non-clusterClustrový systém - RAC
Připojení k serveru
Tomas Solar Consulting
AplikaceAPP
server DB
KlientMiddle tier DB server
Sqlplus
Klient
Multitier
DB
DB server
Client/server
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
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
PGAJava pool Streams pool
Stack space
User global area
Server proceslistenerUser
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
Tomas Solar Consulting
•Easy connect naming: TCP/IP a vypisuje se všeSQL> CONNECT hr/[email protected]:1521/orcl
•Local naming: Používá se konfigurační soubor tnsnames.oraSQL> CONNECT hr/hr@orcl
•Directory naming: Použití jmeného serveru LDAPSQL> CONNECT hr/hr@orcl
•External naming: Použití podporovaných non-Oracle jmených služeb
Client/application serverOracle Net
tnsnames.orasqlnet.ora
Připojení do databáze
listener.orasqlnet.ora
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 cacheLRU - algoritmus, co se nepoužívá se odstraní
= Dotazy
= Objekty
= Větší chunk
= Výsledky
SHARED_POOL_SIZE
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
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
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
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
PGAJava pool Streams pool
Stack space
User global area
Server proceslistenerUser
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
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.
Tomas Solar Consulting
EM Express - memory mamagement
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
Automaticmemorymanagement
Automaticsharedmemorymanagement
Tomas Solar ConsultingTomas Solar Consulting
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/sdcDB_FLASH_CACHE_SIZE = 32G, 32G, 64G
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 thresholdyMMNL - 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
Tomas Solar Consulting
Background procesy
Tomas Solar Consulting
Instance
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_PROCESSESZapisuje 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ší
Tomas Solar Consulting
Instance
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.
Tomas Solar Consulting
Instance
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.
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ů.
Tomas Solar Consulting
Data filesControl files
redo logy
Uložiště - rozložení
arch logybackup
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;
Tomas Solar Consulting
Logická a fyzická struktura
Database
Tablespace
Segment
Extent
Oracle data block
Data file
File system or
raw devices
Logical Physical
Tomas Solar Consulting
Logická a fyzická struktura
Database
Tablespace
Segment
Extent
Oracle data block
Logical
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
SGAPGAShared pool
Library cache
Data dict. cache
Other (keep,recycle,..)
Java pool Streams pool
Stack space
User global area
Server proceslistenerUser
proces
Pamětové struktury
Procesy
UložištěInstance = pamět + procesy
Databáze = instance + uložiště
Tomas Solar Consulting
Architektura databáze
Automatic storage management
Tomas Solar Consulting
Diskové pole, NAS, SAN, lokální..
DiskgroupsDG1 DG2FRA
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
Tomas Solar Consulting
Logická a fyzická struktura
Database
Tablespace
Segment
Extent
Oracle data block
Data files
File system or
raw devices
ASM
ASMallocation
unit
ASMdisk group
ASMfile
ASMextent
ASMdisk
Logical Physical
Disk A15
Disk B26
Disk C37
Disk D48
ASM fileDisk group
Extentmap
Fileextent
Extent maps
Tomas Solar ConsultingTomas Solar Consulting
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: [email protected]: 731 196 647Skype: database-administrator
Bezplatná konzultace !Skype, hangout, telefon.
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/