1. Oracle DBMS
1.1 Oracle DBMS ๊ตฌ์กฐ
๊ตฌ๋ถ | ์ค๋ช | ||
---|---|---|---|
Database | Data files | ๋ฐ์ดํฐ ํ์ผ์๋ ์ค์ ์ฌ์ฉ์ ๋ฐ์ดํฐ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ, ๋ฉํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค. | |
Control files | ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ํ ๋ ํ์ํ ํ์ผ์ ์ด๋ฆ, ์์น ๋ฐ ์ํ์ ๊ฐ์ ์ ๋ณด์ Online Redo Log ํ์ผ์ ๋ํ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. | ||
Control files | Redo log file์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ์ด๋ฅผ ์ ์ฅํ๊ณ ๋ฐ์ดํฐ ๋ณต๊ตฌ์ ์ฌ์ฉํฉ๋๋ค. | ||
Instance | SGA | Data buffer cache | ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ SGA ๋ด์ ์กด์ฌํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋๋ค. ๋ฐ์ดํฐ ํ์ผ์์ ์ฝ์ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ณต์ฌ๋ณธ์ ์ ์ฅํฉ๋๋ค. |
Redo log buffer | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ๋จผ์ Redo log buffer์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค. Redo๋ ์์คํ ์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ๋ฅผ ์ํด ์ฌ์ฉํฉ๋๋ค. | ||
Background Process | SMON | ์ค๋ผํด ์ธ์คํด์ค๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก์ธ์ค ์ ๋๋ค. ์ธ์คํด์ค ๋ณต๊ตฌ, ๋ฐ์ดํฐ ํ์ผ์ ๋น ๊ณต๊ฐ์ ์ฐ๊ฒฐ, ์ฌ์ฉํ์ง ์๋ ์์ ์ธ๊ทธ๋จผํธ๋ค์ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. | |
PMON | ์ค๋ผํด ์๋ฒ์์ ์ฌ์ฉ๋๋ ํ๋ก์ธ์ค๋ค์ ๊ฐ์ํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ข๋น ํ๋ก์ธ์ค ํฌ, SGA ๋ฆฌ์์ค ์ ๋ฆฌ, ์ปค๋ฐ๋์ง ์์ ํธ๋์ญ์ ์ ๋กค๋ฐฑํฉ๋๋ค. | ||
DBWR | Buffer Cache์ ์์ ๋(Dirty) ๋ฒํผ์ ๋ด์ฉ์ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋กํฉ๋๋ค. | ||
LGWR | Redo log buffer์ ๋ด์ฉ์ Online redo log file์ ๊ธฐ๋กํฉ๋๋ค. | ||
CKPT | SGA ์์ ๋ณ๊ฒฝ๋ ๋ฒํผ ์บ์์ ๋ฆฌ๋ ๋ก๊ทธ ๋ฒํผ๋ฅผ ๋์คํฌ ์์ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅํ๋๋ก DBWR์ LGWR๋ฅผ ํธ์ถํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ํ์ผ์ ํค๋ ๋ถ๋ถ์ ์ฒดํฌ ํฌ์ธํธ ์ด๋ฒคํธ ์์ ์, ์ปจํธ๋กค ํ์ผ์๋ ๋ฐ์๋ ์ฒดํฌ ํฌ์ธํธ ์ด๋ฒคํธ์ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ด ๊ธฐ๋ก์ ํตํด </span>3๊ฐ์ง ํ์ผ(Data file, Control file, Redo log file)์ ๋๊ธฐํ๋ฅผ ๋ณด์ฅ</span>ํ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ ์ ๋ณด๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด ๋ณต๊ตฌ๊ฐ ์์๋ฉ๋๋ค. | ||
PGA | Sort Area | ์ ๋ ฌ ์์ ์ ์ํ ๊ณต๊ฐ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ์ ๋ ฌ๋์ด ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฅํฉ๋๋ค. ๋ง์ฝ pga ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ ๋์คํฌ์์ ์ ๋ ฌ์ด ์ผ์ด๋๋ฏ๋ก ์ํ ์๋๊ฐ ์ ํ๋ฉ๋๋ค. | |
Cursor State | SQL์ ํ์ฑ ์ ๋ณด๊ฐ ๊ธฐ๋ก๋์ด ์๋ ์ฃผ์๋ฅผ ์ ์ฅํฉ๋๋ค. |
โ๏ธ PGA: ํ๋ก์ธ์ค์ ๋ํ ๋ฐ์ดํฐ์ ์ ์ด์ ๋ณด๊ฐ ํฌํจ๋ ๋น ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋๋ค.
์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ง์ ํ๋ก์ธ์ค๊ฐ ๋์์ ๋ฐ์ดํฐ์ ์์ธ์คํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ Lock์ ๋ฌผ๋ก ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ธ SGA์์ ์์นํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ Lock ๋งค์ปค๋์ฆ(Latch)๋ ํ์ํฉ๋๋ค.
Random Access ๋ถํ์ ์์ธ ROWID ํ๋ โ Hash Function(DBA) โ Cache Buffer Chain Latch ํ๋(Wait) โ Buffer Lock์ด ๊ฑธ๋ฆฐ ๊ฒฝ์ฐ ๋๊ธฐ ์ด๋ฒคํธ ๋ฐ์(Wait) โ LRU ์๊ณ ๋ฆฌ์ฆ์ ์ํด ํน์ ๋ธ๋ก์ด Age Out๋๋ค๋ฉด LRU Latch ํ๋ ํ์(Wait)
1.2 Buffer Pinning
์ธ๋ฑ์ค Leaf ๋
ธ๋๋ฅผ ์ค์บํ๋ฉฐ RowID๋ฅผ ์ฝ์ ๋ ๋ฐ๋ก ๋ค์ RowID๋ฅผ ํจ๊ป ์ฝ์ต๋๋ค.
๋ง์ฝ ๋์ผํ DBA(DB Block Address)๋ผ๋ฉด Age Out์ ๋ฐฉ์งํ๊ธฐ ์ํด Pin์ ๊ฑธ์ด๋ก๋๋ค.
Pin์ ๊ฑธ์ด๋๋ ๊ฒ๊ณผ ๋์์ RowID๋ฅผ PGA์ ์ ์ฅํ์ฌ ๋ฐ๋ก ์ฐพ์๊ฐ ์ ์๋๋ก ํฉ๋๋ค.
Buffer Pinning์ Logical Read(Buffer์์ ์ฝ๋ ๊ฒ)๋ก ์กํ์ง ์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋์ด๊ฒ ๋ฉ๋๋ค.
1.3 Clustering Factor
์ธ๋ฑ์ค๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฝ์์ ๋ ์ด์ RowID์ ๋ค์ RowID์ DBA๊ฐ ๋์ผํ ์ ๋๋ฅผ ๋ํ๋ด๋ ์งํ์
๋๋ค.
์ด์ RowID์ ๋ค์ RowID์ DBA๊ฐ ์์ดํ ๊ฒฝ์ฐ +1 ์ฆ๊ฐํฉ๋๋ค.
Clustering Factor๊ฐ ์ข์ผ๋ฉด Buffer Pinning ๊ธฐ๋ฒ์ผ๋ก ์ป๋ ์ด์ ์ด ๊ทน๋ํ๋ฉ๋๋ค.
ํต์์ ์ผ๋ก์ธ๋ฑ์ค์ ์์ต๋ถ๊ธฐ์ ์ 10 ~ 15%๋ผ๊ณ ํ์ง๋ง, ์ ํํ๋ํด๋ฌ์คํฐ๋ง ํฉํฐ์ ์ํด์ ์ข์ฐ๋ฉ๋๋ค.
C.F ์์น๊ฐ ๋ฎ์ (ํด๋ฌ์คํฐ๋ง ํฉํฐ๊ฐ ์ข์) | C.F ์์น๊ฐ ๋์ (ํด๋ฌ์คํฐ๋ง ํฉํฐ๊ฐ ๋์จ) |
---|---|
โข C.F ์์น๊ฐ ๋ธ๋ก ์์ ๊ทผ์ โข R.A ํจ์จ์ด ์ข์ (Buffer Pinning ํจ๊ณผ) |
โข C.F ์์น๊ฐ ๋ก์ฐ ์์ ๊ทผ์ โข R.A ํจ์จ์ด ๋์จ |
์ธ๋ฑ์ค์ ์ปฌ๋ผ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ๋ง ํฉํฐ์ ์ํฅ์ ์ฃผ๊ฒ ๋ฉ๋๋ค.
๊ตฌ๋ถ | ๋ณ๊ฒฝ ์ | ๋ณ๊ฒฝ ํ |
---|---|---|
์ธ๋ฑ์ค | ์ฌ์๋ช | ์ฌ์๋ช + ๊ธ์ฌ |
์ ๋ ฌ ์์ | ์ฌ์๋ช + RowID | ์ฌ์๋ช + ๊ธ์ฌ + RowID |
ํด๋ฌ์คํฐ๋ง ํฉํฐ | ์ข์(๋ฎ์) | ๋์จ(๋์) |