์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿš€ Oracle RAC ์™„์ „์ •๋ณต ๊ฐ€์ด๋“œ

๐Ÿš€ Oracle RAC ์™„์ „์ •๋ณต ๊ฐ€์ด๋“œ

๊ณ ๊ฐ€์šฉ์„ฑ ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ๋ํŒ์™•์„ ํŒŒํ—ค์ณ๋ณด์ž! ๐Ÿ’ช

๐ŸŽฏ Oracle RAC๊ฐ€ ๋ญ”๋ฐ ์ด๋ ‡๊ฒŒ ๋‚œ๋ฆฌ์•ผ?

์š”์ฆ˜ ๊ธฐ์—…๋“ค DB ์„œ๋ฒ„ ๋ณด๋ฉด ์ง„์งœ ใ…‹ใ…‹ใ…‹ 24์‹œ๊ฐ„ 365์ผ ๋ฉˆ์ถ”๋ฉด ์•ˆ ๋˜์ž–์•„? ๐Ÿ’ธ
ํŠนํžˆ ๊ธˆ์œต๊ถŒ์ด๋‚˜ ๋Œ€ํ˜• ์‡ผํ•‘๋ชฐ ๊ฐ™์€ ๊ณณ์€ ์„œ๋ฒ„ 1๋ถ„๋งŒ ๋‹ค์šด๋˜์–ด๋„ ์ˆ˜์–ต ๋‚ ์•„๊ฐ€๋Š” ๊ฑฐ ์‹คํ™”์ž„ ใ„ทใ„ท
๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒŒ ๋ฐ”๋กœ Oracle RAC(Real Application Clusters)์ธ๋ฐ์š”~

๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ๋™์‹œ์— ์ผํ•˜๋Š” ์‹œ์Šคํ…œ์ด์—์š”.
ํ•œ ๋Œ€๊ฐ€ ๋ป—์–ด๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ๋ฐ”๋กœ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋‹ˆ๊นŒ ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋Œ์•„๊ฐ€๋Š” ๊ฑฐ์ฃ ! ๐Ÿ”„

์ผ๋ฐ˜ DB๋Š” ์„œ๋ฒ„ 1๋Œ€๊ฐ€ ํ˜ผ์ž ์—ด์ผํ•˜๋‹ค๊ฐ€ ์ฃฝ์œผ๋ฉด ๋์ธ๋ฐ,
RAC๋Š” ํŒ€ํ”Œ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๋ช…์ด ๊ฐ™์ด ์ผํ•˜๋‹ˆ๊นŒ ํ•œ ๋ช… ๋น ์ ธ๋„ ํ”„๋กœ์ ํŠธ๋Š” ๊ณ„์† ์ง„ํ–‰๋˜๋Š” ๋А๋‚Œ? ใ…‹ใ…‹ใ…‹
๋ฌผ๋ก  ํŒ€ํ”Œ์€ ํ•œ ๋ช… ๋น ์ง€๋ฉด ๋งํ•˜์ง€๋งŒ... RAC๋Š” ์ง„์งœ ์ž˜ ๋Œ์•„๊ฐ ๐Ÿ‘

๐Ÿ“Œ ํ•ต์‹ฌ ํฌ์ธํŠธ!
RAC = ์—ฌ๋Ÿฌ ์„œ๋ฒ„ + ํ•˜๋‚˜์˜ ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ + ์ดˆ๊ณ ์† ๋„คํŠธ์›Œํฌ
โ†’ ๊ณ ๊ฐ€์šฉ์„ฑ(HA) + ํ™•์žฅ์„ฑ(Scalability) + ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ํ•œ ๋ฐฉ์—! ๐ŸŽฏ
Oracle RAC ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋…ธ๋“œ 1 Instance 1 SGA ๋…ธ๋“œ 2 Instance 2 SGA ๋…ธ๋“œ N Instance N SGA ๊ณ ์† ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ Cache Fusion / Cluster Communication ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ (SAN) ๋ฐ์ดํ„ฐํŒŒ์ผ / ์ œ์–ดํŒŒ์ผ / ๋ฆฌ๋‘๋กœ๊ทธ Active Active

๐Ÿ—๏ธ RAC์˜ ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ๋œฏ์–ด๋ณด๊ธฐ

์ž ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ RAC ๋‚ด๋ถ€๋ฅผ ํŒŒํ—ค์ณ๋ณผ๊นŒ์š”? ใ…‹ใ…‹
์ผ๋‹จ RAC ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด 3๊ฐ€์ง€ ๋ ˆ์ด์–ด๋ฅผ ์•Œ์•„์•ผ ํ•ด์š”.

1๏ธโƒฃ ์ธ์Šคํ„ด์Šค ๋ ˆ์ด์–ด - ๊ฐ ๋…ธ๋“œ์—์„œ ๋Œ์•„๊ฐ€๋Š” Oracle ์ธ์Šคํ„ด์Šค๋“ค
2๏ธโƒฃ ํด๋Ÿฌ์Šคํ„ฐ์›จ์–ด ๋ ˆ์ด์–ด - ๋…ธ๋“œ๋“ค์„ ๋ฌถ์–ด์ฃผ๋Š” ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด
3๏ธโƒฃ ์Šคํ† ๋ฆฌ์ง€ ๋ ˆ์ด์–ด - ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋””์Šคํฌ

์ด ์„ธ ๊ฐ€์ง€๊ฐ€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ RAC๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฑฐ์ฃ ! ๐Ÿ’ฏ

๐ŸŽฎ ์ธ์Šคํ„ด์Šค ๋ ˆ์ด์–ด - ๊ฐ์ž์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

๊ฐ ๋…ธ๋“œ๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ Oracle ์ธ์Šคํ„ด์Šค๊ฐ€ ๋–  ์žˆ์–ด์š”.
๊ทผ๋ฐ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด, ๊ฐ ์ธ์Šคํ„ด์Šค๋Š” ์ž๊ธฐ๋งŒ์˜ SGA(System Global Area)๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๊ฑฐ!

SGA๋Š” ๋ญ๋ƒ๊ณ ์š”? ์˜ค๋ผํด์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ธ๋ฐ์š”~
- Database Buffer Cache: ๋ฐ์ดํ„ฐ ๋ธ”๋ก ์บ์‹ฑ
- Shared Pool: SQL ํŒŒ์‹ฑ ์ •๋ณด, ๋”•์…”๋„ˆ๋ฆฌ ์บ์‹œ
- Redo Log Buffer: ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋กœ๊น…
- Large Pool: ๋Œ€์šฉ๋Ÿ‰ ์ž‘์—…์šฉ

์ผ๋ฐ˜ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค Oracle์ด๋ž‘ ๋˜‘๊ฐ™์ฃ ? ใ…‡ใ…‡
์ฐจ์ด์ ์€ RAC์—์„œ๋Š” ์ด๋Ÿฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ๋™์‹œ์— ๋Œ์•„๊ฐ„๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”! ๐Ÿ”ฅ

๐Ÿ’ก ์ž ๊น!
๊ฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง€๋ฉด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์€ ์–ด๋–ป๊ฒŒ ์œ ์ง€ํ•˜๋ƒ๊ณ ์š”?
๋ฐ”๋กœ ์—ฌ๊ธฐ์„œ Cache Fusion์ด๋ผ๋Š” ๋งˆ๋ฒ•์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค! โœจ
์ด๊ฑด ๋’ค์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ• ๊ฒŒ์š” ใ…Žใ…Ž

๐ŸŒ ํด๋Ÿฌ์Šคํ„ฐ์›จ์–ด ๋ ˆ์ด์–ด - ์˜ค์ผ€์ŠคํŠธ๋ผ์˜ ์ง€ํœ˜์ž

์—ฌ๋Ÿฌ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์ฃผ๋Š” ๊ฒŒ ๋ฐ”๋กœ Oracle Grid Infrastructure์˜ˆ์š”.
์˜ˆ์ „์—๋Š” CRS(Cluster Ready Services)๋ผ๊ณ  ๋ถˆ๋ €๋Š”๋ฐ, 11g๋ถ€ํ„ฐ Grid Infrastructure๋กœ ํ†ตํ•ฉ๋์ฃ .

์ด ๋…€์„์ด ํ•˜๋Š” ์ผ์ด ์ง„์งœ ๊ฐœ๋งŽ์Œ ใ„ทใ„ท

์ปดํฌ๋„ŒํŠธ ์—ญํ• 
Clusterware ๋…ธ๋“œ ๊ฐ„ ํ†ต์‹ , ํด๋Ÿฌ์Šคํ„ฐ ๋ฉค๋ฒ„์‹ญ ๊ด€๋ฆฌ, ์žฅ์•  ๊ฐ์ง€ ๋ฐ ๋ณต๊ตฌ
ASM (Automatic Storage Management) ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ, ์ž๋™ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ, ๋ฏธ๋Ÿฌ๋ง
OCR (Oracle Cluster Registry) ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ ์ •๋ณด ์ €์žฅ์†Œ
Voting Disk ๋…ธ๋“œ ์ƒ์กด ์—ฌ๋ถ€ ํŒ๋‹จ, ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ ๋ฐฉ์ง€

ํŠนํžˆ Voting Disk๋Š” ์ง„์งœ ์ค‘์š”ํ•œ๋ฐ์š”,
๋„คํŠธ์›Œํฌ๊ฐ€ ๋Š๊ฒจ์„œ ๋…ธ๋“œ๋“ค์ด ์„œ๋กœ๋ฅผ ๋ชป ๋ณด๋Š” ์ƒํ™ฉ(์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ)์ด ๋ฐœ์ƒํ•˜๋ฉด,
Voting Disk์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๋งŒ ์‚ด์•„๋‚จ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ž๋™์œผ๋กœ ์žฌ๋ถ€ํŒ…๋ผ์š”! ๐Ÿ˜ฑ

์ด๊ฒŒ ์—†์œผ๋ฉด ๊ฐ ๋…ธ๋“œ๊ฐ€ "๋‚ด๊ฐ€ ์ฃผ์ธ์ด์•ผ!" ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๊ผฌ์ด๋Š” ๋Œ€์ฐธ์‚ฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋“ ์š” ใ…‹ใ…‹ใ…‹

๐Ÿ’พ ์Šคํ† ๋ฆฌ์ง€ ๋ ˆ์ด์–ด - ๋ชจ๋‘๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋ณด๋ฌผ์ฐฝ๊ณ 

RAC์˜ ํ•ต์‹ฌ์€ ๋ฐ”๋กœ ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€์˜ˆ์š”!
๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐํŒŒ์ผ, ์ปจํŠธ๋กคํŒŒ์ผ, ๋ฆฌ๋‘๋กœ๊ทธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ฑฐ๋“ ์š”.

๋ณดํ†ต ์ด๋Ÿฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์š”:
- SAN (Storage Area Network): ํŒŒ์ด๋ฒ„์ฑ„๋„ ๊ธฐ๋ฐ˜, ๊ฐ€์žฅ ๋งŽ์ด ์”€
- NAS (Network Attached Storage): NFS ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ
- iSCSI: IP ๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€

์—ฌ๊ธฐ์„œ Oracle์ด ์ œ๊ณตํ•˜๋Š” ASM(Automatic Storage Management)์„ ์“ฐ๋ฉด,
๋””์Šคํฌ ๊ด€๋ฆฌ๊ฐ€ ์—„์ฒญ ํŽธํ•ด์ ธ์š”! ํŒŒ์ผ์‹œ์Šคํ…œ ์—†์ด ๋ฐ”๋กœ RAW ๋””๋ฐ”์ด์Šค ์“ฐ๋Š” ๊ฑฐ๋ผ ์„ฑ๋Šฅ๋„ ์ข‹๊ณ  ใ…‡ใ…‡

ASM์ด ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋””์Šคํฌ์— ๋ถ„์‚ฐ์‹œํ‚ค๊ณ (์ŠคํŠธ๋ผ์ดํ•‘),
๋ฏธ๋Ÿฌ๋ง๋„ ํ•ด์ฃผ๊ณ , ๋””์Šคํฌ ์ถ”๊ฐ€ํ•˜๋ฉด ์•Œ์•„์„œ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ๊นŒ์ง€ ํ•ด์คŒ ๐Ÿ‘
์ง„์งœ ๊ฐœ๊ฟ€ ๊ธฐ๋Šฅ์ž„ ใ…‹ใ…‹ใ…‹

โšก Cache Fusion - RAC์˜ ๋น„๋ฐ€๋ณ‘๊ธฐ

์ž ์ด์ œ RAC์˜ ํ•ต์‹ฌ ์ค‘์˜ ํ•ต์‹ฌ! Cache Fusion์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ๊นŒ์š”? ๐ŸŽฏ

์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด๋ณผ๊ฒŒ์š”.
๋…ธ๋“œ1์—์„œ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์˜ A๋ผ๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์ฝ์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ(Buffer Cache)์— ์˜ฌ๋ ค๋†จ์–ด์š”.
๊ทธ๋Ÿฐ๋ฐ ๋…ธ๋“œ2์—์„œ๋„ ๋˜‘๊ฐ™์€ A ๋ธ”๋ก์„ ์ฝ์œผ๋ ค๊ณ  ํ•œ๋‹ค๋ฉด?

์˜›๋‚  ๋ฐฉ์‹(Disk Ping): ๋…ธ๋“œ1์ด A ๋ธ”๋ก์„ ๋””์Šคํฌ์— ์“ฐ๊ณ  โ†’ ๋…ธ๋“œ2๊ฐ€ ๋””์Šคํฌ์—์„œ ์ฝ์Œ
โ†’ ๋””์Šคํฌ I/O ๋ฐœ์ƒ! ๋А๋ฆผ! ๐Ÿ’ฉ

Cache Fusion ๋ฐฉ์‹: ๋…ธ๋“œ1์ด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” A ๋ธ”๋ก์„ ๋„คํŠธ์›Œํฌ๋กœ ์ง์ ‘ ๋…ธ๋“œ2์— ์ „์†ก!
โ†’ ๋””์Šคํฌ ์•ˆ ๊ฑฐ์นจ! ๋น ๋ฆ„! ๐Ÿš€

์ด๊ฒŒ ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” ๋…ธ๋“œ ๊ฐ„์— ๊ณ ์† ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ(๋ณดํ†ต InfiniBand๋‚˜ 10Gb ์ด๋”๋„ท)๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.
๋””์Šคํฌ๋ณด๋‹ค ๋„คํŠธ์›Œํฌ๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ˆ๊นŒ ์„ฑ๋Šฅ์ด ํ™• ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฑฐ์ฃ ! ๐Ÿ’ช

๐Ÿ”ฅ Cache Fusion์˜ ํ•ต์‹ฌ ํ”„๋กœ์„ธ์Šค๋“ค

GCS (Global Cache Service)
โ†’ ๋ธ”๋ก์˜ ํ˜„์žฌ ์ƒํƒœ์™€ ์œ„์น˜๋ฅผ ์ถ”์ ํ•˜๋Š” ์„œ๋น„์Šค
โ†’ "A ๋ธ”๋ก์€ ์ง€๊ธˆ ๋…ธ๋“œ2 ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๊ณ , Exclusive ๋ชจ๋“œ์•ผ!" ์ด๋Ÿฐ ์ •๋ณด ๊ด€๋ฆฌ

GES (Global Enqueue Service)
โ†’ ๋ฝ(Lock) ๊ด€๋ฆฌ ์„œ๋น„์Šค
โ†’ "๋…ธ๋“œ1์ด ์ด ๋กœ์šฐ์— ๋ฝ ๊ฑธ์—ˆ์œผ๋‹ˆ ๋…ธ๋“œ2๋Š” ๋Œ€๊ธฐํ•ด!" ์ด๋Ÿฐ ๊ฑฐ ์กฐ์œจ

LMS (Global Cache Service Process)
โ†’ ์‹ค์ œ๋กœ ๋ธ”๋ก์„ ๋„คํŠธ์›Œํฌ๋กœ ์ „์†กํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค
โ†’ ๋ณดํ†ต LMS0, LMS1, LMS2... ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋™์‹œ์— ๋Œ์•„๊ฐ

๐ŸŽญ ๋ธ”๋ก ๋ชจ๋“œ์™€ ์—ญํ•  ๋ณ€๊ฒฝ

Cache Fusion์—์„œ ๋ธ”๋ก์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ชจ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์–ด์š”.

๋ชจ๋“œ ์„ค๋ช…
Null (N) ๋ธ”๋ก์ด ๋ฉ”๋ชจ๋ฆฌ์— ์—†๋Š” ์ƒํƒœ
Shared (S) ์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๊ณต์œ  ๊ฐ€๋Šฅ
Exclusive (X) ํ•œ ๋…ธ๋“œ๋งŒ ๋…์ , ์ˆ˜์ • ๊ฐ€๋Šฅ
Local (L) ๋กœ์ปฌ ๋…ธ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉ, ๋‹ค๋ฅธ ๋…ธ๋“œ ์š”์ฒญ ์—†์Œ

์˜ˆ๋ฅผ ๋“ค์–ด๋ณผ๊ฒŒ์š” ใ…Žใ…Ž

1๏ธโƒฃ ๋…ธ๋“œ1์ด ๋ธ”๋ก A๋ฅผ ์ฝ์Œ โ†’ Local ๋ชจ๋“œ๋กœ ์บ์‹ฑ
2๏ธโƒฃ ๋…ธ๋“œ2๋„ ๋ธ”๋ก A๋ฅผ ์ฝ์œผ๋ ค ํ•จ โ†’ ๋…ธ๋“œ1์— ์š”์ฒญ
3๏ธโƒฃ ๋…ธ๋“œ1์˜ ๋ธ”๋ก A๊ฐ€ Shared ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝ๋˜๊ณ , ๋…ธ๋“œ2์— ์ „์†ก
4๏ธโƒฃ ๋…ธ๋“œ2๋„ Shared ๋ชจ๋“œ๋กœ ๋ธ”๋ก A๋ฅผ ์บ์‹ฑ
5๏ธโƒฃ ๋…ธ๋“œ3์ด ๋ธ”๋ก A๋ฅผ ์ˆ˜์ •ํ•˜๋ ค ํ•จ โ†’ Exclusive ๋ชจ๋“œ ์š”์ฒญ
6๏ธโƒฃ ๋…ธ๋“œ1, ๋…ธ๋“œ2์˜ ๋ธ”๋ก A๊ฐ€ ๋ฌดํšจํ™”(Invalidate)๋˜๊ณ , ๋…ธ๋“œ3์ด Exclusive ๋ชจ๋“œ๋กœ ํš๋“

์ด๋Ÿฐ ์‹์œผ๋กœ ๋ธ”๋ก์˜ ์—ญํ• ์ด ๊ณ„์† ๋ฐ”๋€Œ๋ฉด์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”! ๐ŸŽช

๊ทผ๋ฐ ์ด ๊ณผ์ •์—์„œ GC(Global Cache) ๋Œ€๊ธฐ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด์š”.
- gc current block 2-way: ํ˜„์žฌ ๋ธ”๋ก์„ ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€๊ธฐ
- gc cr block 2-way: ์ฝ๊ธฐ ์ผ๊ด€์„ฑ ๋ธ”๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€๊ธฐ
- gc buffer busy: ๋ธ”๋ก์ด ์ „์†ก ์ค‘์ด๋ผ ๋Œ€๊ธฐ

์ด๋Ÿฐ ๋Œ€๊ธฐ ์ด๋ฒคํŠธ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋‹ˆ๊นŒ,
RAC ํŠœ๋‹ํ•  ๋•Œ๋Š” ์ด ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ๋ด์•ผ ํ•ด์š”! ๐Ÿ“Š

Cache Fusion ๋™์ž‘ ๊ณผ์ • ๋…ธ๋“œ 1 Buffer Cache Block A (Shared) ๋…ธ๋“œ 2 Buffer Cache Block A (Shared) ๊ณ ์† ์ธํ„ฐ์ปค๋„ฅํŠธ ๋ธ”๋ก ์ „์†ก GCS (Global Cache Service) ๋ธ”๋ก ์œ„์น˜ ์ถ”์  ๋ชจ๋“œ ๊ด€๋ฆฌ (S/X/L) ์ผ๊ด€์„ฑ ๋ณด์žฅ ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ ์‹ค์ œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ (๋””์Šคํฌ I/O ์ตœ์†Œํ™”) Step 1 Step 2 !

๐Ÿ›ก๏ธ ๊ณ ๊ฐ€์šฉ์„ฑ(HA) - ์ ˆ๋Œ€ ์ฃฝ์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ

RAC์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์ด ๋ญ๋ƒ๋ฉด, ๋ฐ”๋กœ ๊ณ ๊ฐ€์šฉ์„ฑ(High Availability)์ด์—์š”! ๐Ÿ’ช
ํ•œ ๋…ธ๋“œ๊ฐ€ ์ฃฝ์–ด๋„ ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋Œ์•„๊ฐ€๊ฑฐ๋“ ์š”.

์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ๋ณผ๊ฒŒ์š” ใ…Žใ…Ž

๐Ÿ’ฅ ๋…ธ๋“œ ์žฅ์•  ์‹œ๋‚˜๋ฆฌ์˜ค

์ƒํ™ฉ: 4๊ฐœ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ RAC ํ™˜๊ฒฝ์—์„œ ๋…ธ๋“œ2๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋‹ค์šด๋จ! ๐Ÿ˜ฑ

1๋‹จ๊ณ„ - ์žฅ์•  ๊ฐ์ง€ (1~3์ดˆ)
โ†’ Clusterware์˜ CSSD(Cluster Synchronization Service Daemon)๊ฐ€ ๋…ธ๋“œ2์˜ ํ•˜ํŠธ๋น„ํŠธ ๋Š๊น€ ๊ฐ์ง€
โ†’ Voting Disk ์ฒดํฌ๋กœ ๋…ธ๋“œ2๊ฐ€ ์ง„์งœ ์ฃฝ์—ˆ๋Š”์ง€ ํ™•์ธ
โ†’ "๋…ธ๋“œ2 ์ฃฝ์Œ!" ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์— ์•Œ๋ฆผ ๐Ÿ“ข

2๋‹จ๊ณ„ - ์ธ์Šคํ„ด์Šค ๋ณต๊ตฌ (5~30์ดˆ)
โ†’ ๋…ธ๋“œ2์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋˜ ์„ธ์…˜๋“ค์ด ์‚ด์•„์žˆ๋Š” ๋…ธ๋“œ๋กœ ์ž๋™ ์žฌ์—ฐ๊ฒฐ (TAF - Transparent Application Failover)
โ†’ ๋…ธ๋“œ2๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋˜ ํŠธ๋žœ์žญ์…˜์€ ๋ฆฌ๋‘๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ๋ณต๊ตฌ
โ†’ ๋…ธ๋“œ2๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฝ(Lock)๋“ค ํ•ด์ œ

3๋‹จ๊ณ„ - ์„œ๋น„์Šค ์žฌ๋ถ„๋ฐฐ
โ†’ ๋…ธ๋“œ2๊ฐ€ ๋‹ด๋‹นํ•˜๋˜ ์›Œํฌ๋กœ๋“œ๋ฅผ ๋‚˜๋จธ์ง€ 3๊ฐœ ๋…ธ๋“œ๊ฐ€ ๋‚˜๋ˆ ์„œ ์ฒ˜๋ฆฌ
โ†’ Connection Pool ์žฌ์กฐ์ •
โ†’ ์„œ๋น„์Šค ์ •์ƒํ™”! โœ…

์ด ๋ชจ๋“  ๊ณผ์ •์ด ๋ณดํ†ต 1๋ถ„ ์ด๋‚ด์— ์™„๋ฃŒ๋ผ์š”!
์‚ฌ์šฉ์ž๋Š” ์ž ๊น ๋ฉˆ์นซํ•˜๋Š” ์ •๋„๋งŒ ๋А๋ผ๊ณ , ์„œ๋น„์Šค๋Š” ๊ณ„์† ๋Œ์•„๊ฐ€๋Š” ๊ฑฐ์ฃ  ใ…‹ใ…‹ใ…‹

๐ŸŽฏ TAF (Transparent Application Failover)

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๊ฐ€ ์ฃฝ์œผ๋ฉด ์ž๋™์œผ๋กœ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์žฌ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ!

TAF ๋ชจ๋“œ
- SESSION: ์„ธ์…˜๋งŒ ์žฌ์—ฐ๊ฒฐ, ์ง„ํ–‰ ์ค‘์ด๋˜ ์ฟผ๋ฆฌ๋Š” ์žฌ์‹คํ–‰ ํ•„์š”
- SELECT: SELECT ์ฟผ๋ฆฌ๋Š” ์ค‘๋‹จ๋œ ์ง€์ ๋ถ€ํ„ฐ ์ด์–ด์„œ ์‹คํ–‰ (๊ฐœ๊ฟ€!)

tnsnames.ora์— ์„ค์ •๋งŒ ํ•ด์ฃผ๋ฉด ๋! ๐Ÿ‘

๐Ÿ”„ ๋กค๋ง ์—…๊ทธ๋ ˆ์ด๋“œ - ๋ฌด์ค‘๋‹จ ํŒจ์น˜

RAC์˜ ๋˜ ๋‹ค๋ฅธ ๊ฐœ๊ฟ€ ๊ธฐ๋Šฅ! ๋กค๋ง ์—…๊ทธ๋ ˆ์ด๋“œ์˜ˆ์š” ๐ŸŽ‰

์ผ๋ฐ˜ DB๋Š” ํŒจ์น˜ํ•˜๋ ค๋ฉด ์„œ๋น„์Šค ์ค‘๋‹จํ•ด์•ผ ํ•˜์ž–์•„์š”?
๊ทผ๋ฐ RAC๋Š” ํ•œ ๋…ธ๋“œ์”ฉ ๋Œ์•„๊ฐ€๋ฉด์„œ ํŒจ์น˜ํ•  ์ˆ˜ ์žˆ์–ด์š”!

๋กค๋ง ์—…๊ทธ๋ ˆ์ด๋“œ ์ ˆ์ฐจ
1๏ธโƒฃ ๋…ธ๋“œ1 ์„œ๋น„์Šค ์ค‘์ง€ โ†’ ํŒจ์น˜ ์ ์šฉ โ†’ ์žฌ์‹œ์ž‘
2๏ธโƒฃ ๋…ธ๋“œ2 ์„œ๋น„์Šค ์ค‘์ง€ โ†’ ํŒจ์น˜ ์ ์šฉ โ†’ ์žฌ์‹œ์ž‘
3๏ธโƒฃ ๋…ธ๋“œ3, ๋…ธ๋“œ4๋„ ๋™์ผํ•˜๊ฒŒ ์ง„ํ–‰

์ด ๊ณผ์ •์—์„œ ๋‚˜๋จธ์ง€ ๋…ธ๋“œ๋“ค์ด ๊ณ„์† ์„œ๋น„์Šคํ•˜๋‹ˆ๊นŒ ๋ฌด์ค‘๋‹จ ํŒจ์น˜๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฑฐ์ฃ ! ๐Ÿš€
๊ธˆ์œต๊ถŒ์ด๋‚˜ 24์‹œ๊ฐ„ ์„œ๋น„์Šคํ•˜๋Š” ๊ณณ์—์„œ๋Š” ์ด๊ฑฐ ์ง„์งœ ํ•„์ˆ˜์ž„ ใ„ทใ„ท

๐Ÿ“ˆ ํ™•์žฅ์„ฑ(Scalability) - ๋…ธ๋“œ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋

ํŠธ๋ž˜ํ”ฝ์ด ๋Š˜์–ด๋‚˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?
์ผ๋ฐ˜ DB๋Š” ์„œ๋ฒ„ ์ŠคํŽ™์„ ์˜ฌ๋ฆฌ๋Š” Scale-Up ๋ฐฉ์‹๋ฐ–์— ์—†์–ด์š”.
๊ทผ๋ฐ ์ด๊ฒƒ๋„ ํ•œ๊ณ„๊ฐ€ ์žˆ์ž–์•„์š”? CPU 64์ฝ”์–ด, ๋ฉ”๋ชจ๋ฆฌ 1TB ์ด์ƒ ์˜ฌ๋ฆฌ๊ธฐ๋„ ํž˜๋“ค๊ณ  ๋น„์šฉ๋„ ใ„ทใ„ท

RAC๋Š” Scale-Out ๋ฐฉ์‹์ด๋ผ ๋…ธ๋“œ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ผ์š”! ๐Ÿ’ช

๋…ธ๋“œ ์ถ”๊ฐ€ ์‹œ๋‚˜๋ฆฌ์˜ค
1๏ธโƒฃ ์ƒˆ ์„œ๋ฒ„ ์ค€๋น„ (ํ•˜๋“œ์›จ์–ด ์„ธํŒ…)
2๏ธโƒฃ Grid Infrastructure ์„ค์น˜
3๏ธโƒฃ addNode.sh ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
4๏ธโƒฃ ์ƒˆ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์‹œ์ž‘
5๏ธโƒฃ ์„œ๋น„์Šค ์žฌ๋ถ„๋ฐฐ ์„ค์ •
6๏ธโƒฃ ๋! ๐ŸŽ‰

๊ธฐ์กด ๋…ธ๋“œ๋“ค์€ ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด ๊ณ„์† ๋Œ์•„๊ฐ€๊ณ ,
์ƒˆ ๋…ธ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ์ž๋™์œผ๋กœ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋ถ„์‚ฐ๋ผ์š”.

์ด๋ก ์ ์œผ๋กœ๋Š” ๋…ธ๋“œ๋ฅผ ๋ฌดํ•œ์ • ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,
์‹ค๋ฌด์—์„œ๋Š” ๋ณดํ†ต 4~8๋…ธ๋“œ ์ •๋„๊ฐ€ ์ตœ์ ์ด์—์š”.
๊ทธ ์ด์ƒ ๊ฐ€๋ฉด ๋…ธ๋“œ ๊ฐ„ ํ†ต์‹  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ปค์ ธ์„œ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š” ใ…‹ใ…‹

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ!

๋…ธ๋“œ๋ฅผ ๋งŽ์ด ์ถ”๊ฐ€ํ•œ๋‹ค๊ณ  ๋ฌด์กฐ๊ฑด ์„ฑ๋Šฅ์ด ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ์—์š”!

์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ์š”์†Œ๋“ค
- ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ (๋ณ‘๋ชฉ ๋ฐœ์ƒ ๊ฐ€๋Šฅ)
- ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ I/O ์„ฑ๋Šฅ (๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋‹ˆ๊นŒ)
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ (๋…ธ๋“œ ๊ฐ„ ๊ฒฝํ•ฉ์ด ๋งŽ์œผ๋ฉด ๋น„ํšจ์œจ์ )

๊ทธ๋ž˜์„œ RAC ๋„์ž… ์ „์— ์›Œํฌ๋กœ๋“œ ๋ถ„์„์ด ํ•„์ˆ˜์˜ˆ์š”! ๐Ÿ“Š

๐Ÿ”ง RAC ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ ์ƒ์„ธ ๋ถ„์„

์ด์ œ RAC๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋œฏ์–ด๋ณผ๊ฒŒ์š”! ๐Ÿ”
๊ฐ๊ฐ์˜ ์—ญํ• ์„ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด์•ผ RAC๋ฅผ ์ œ๋Œ€๋กœ ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š” ใ…‡ใ…‡

๐Ÿ—‚๏ธ OCR (Oracle Cluster Registry)

OCR์€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ˆ์š”.
์ผ์ข…์˜ ํด๋Ÿฌ์Šคํ„ฐ ์„ค์ • ์ €์žฅ์†Œ๋ผ๊ณ  ๋ณด๋ฉด ๋ผ์š”!

OCR์— ์ €์žฅ๋˜๋Š” ์ •๋ณด๋“ค
- ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ ๋ชฉ๋ก ๋ฐ ์ƒํƒœ
- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค ์ •๋ณด
- ASM ๋””์Šคํฌ ๊ทธ๋ฃน ๊ตฌ์„ฑ
- ์„œ๋น„์Šค ๋ฐ ๋ฆฌ์†Œ์Šค ์„ค์ •
- VIP(Virtual IP) ์ •๋ณด

OCR์ด ์†์ƒ๋˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด๊ฐ€ ๋งˆ๋น„๋  ์ˆ˜ ์žˆ์–ด์„œ,
Oracle์€ ์ž๋™์œผ๋กœ OCR์„ ๋ฏธ๋Ÿฌ๋งํ•ด์š”! (์ตœ์†Œ 2๊ฐœ, ๊ถŒ์žฅ 3๊ฐœ)

๊ทธ๋ฆฌ๊ณ  ๋งค์ผ ์ž๋™ ๋ฐฑ์—…๋„ ํ•ด์ฃผ๋‹ˆ๊นŒ ์•ˆ์‹ฌ ใ…Žใ…Ž
๋ฐฑ์—… ์œ„์น˜: $GRID_HOME/cdata/ํด๋Ÿฌ์Šคํ„ฐ๋ช…

๐Ÿ—ณ๏ธ Voting Disk - ์ƒ์กด ํŒ์ •์‚ฌ

Voting Disk๋Š” ๋…ธ๋“œ์˜ ์ƒ์กด ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ํˆฌํ‘œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด์—์š”.

๊ฐ ๋…ธ๋“œ๋Š” 1์ดˆ๋งˆ๋‹ค Voting Disk์— ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ๊ธฐ๋กํ•ด์š”.
๋งŒ์•ฝ ์–ด๋–ค ๋…ธ๋“œ๊ฐ€ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ๋ชป ์“ฐ๋ฉด? โ†’ ์ฃฝ์€ ๊ฑธ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํ‡ด์ถœ! โšฐ๏ธ

์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ ๋ฐฉ์ง€
๋„คํŠธ์›Œํฌ ๋‹จ์ ˆ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰˜๋ฉด,
Voting Disk์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ๊ฐ€ ๊ณผ๋ฐ˜์ˆ˜ ์ด์ƒ์ธ ๊ทธ๋ฃน๋งŒ ์‚ด์•„๋‚จ์•„์š”.

์˜ˆ๋ฅผ ๋“ค์–ด 4๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ 2:2๋กœ ๋‚˜๋‰˜๋ฉด?
โ†’ Voting Disk 3๊ฐœ ์ค‘ 2๊ฐœ ์ด์ƒ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ทธ๋ฃน์ด ์Šน๋ฆฌ!
โ†’ ์ง„ ๊ทธ๋ฃน์€ ์ž๋™์œผ๋กœ ์žฌ๋ถ€ํŒ…๋˜์–ด ๋ฐ์ดํ„ฐ ๊ผฌ์ž„ ๋ฐฉ์ง€ โœ…

์ด๊ฒƒ๋„ OCR์ฒ˜๋Ÿผ ๋‹ค์ค‘ํ™”๊ฐ€ ํ•„์ˆ˜! (ํ™€์ˆ˜ ๊ฐœ ๊ถŒ์žฅ: 3๊ฐœ or 5๊ฐœ)

๐Ÿ’พ ASM (Automatic Storage Management)

ASM์€ Oracle์ด ์ œ๊ณตํ•˜๋Š” ๋ณผ๋ฅจ ๋งค๋‹ˆ์ € + ํŒŒ์ผ์‹œ์Šคํ…œ ์—ญํ• ์„ ํ•ด์š”.
์ผ๋ฐ˜ ํŒŒ์ผ์‹œ์Šคํ…œ(ext4, xfs ๋“ฑ) ์—†์ด RAW ๋””๋ฐ”์ด์Šค๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ๊ฑฐ์ฃ !

ASM์˜ ์žฅ์ 
โœ… ์ž๋™ ์ŠคํŠธ๋ผ์ดํ•‘: ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋””์Šคํฌ์— ๋ถ„์‚ฐ ์ €์žฅ โ†’ I/O ์„ฑ๋Šฅ ํ–ฅ์ƒ
โœ… ์ž๋™ ๋ฏธ๋Ÿฌ๋ง: ๋ฐ์ดํ„ฐ ๋ณต์ œ๋กœ ์•ˆ์ •์„ฑ ํ™•๋ณด
โœ… ์ž๋™ ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ: ๋””์Šคํฌ ์ถ”๊ฐ€/์ œ๊ฑฐ ์‹œ ๋ฐ์ดํ„ฐ ์ž๋™ ์žฌ๋ถ„๋ฐฐ
โœ… ๋น ๋ฅธ ๋ณต๊ตฌ: ๋””์Šคํฌ ์žฅ์•  ์‹œ ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌ

ASM ๋””์Šคํฌ ๊ทธ๋ฃน
์—ฌ๋Ÿฌ ๋””์Šคํฌ๋ฅผ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ์Šคํ† ๋ฆฌ์ง€๋กœ ๋งŒ๋“œ๋Š” ๋‹จ์œ„์˜ˆ์š”.

Redundancy ์„ค๋ช… ์ตœ์†Œ ๋””์Šคํฌ
External ์™ธ๋ถ€ RAID ์‚ฌ์šฉ, ASM์€ ๋ฏธ๋Ÿฌ๋ง ์•ˆ ํ•จ 1๊ฐœ
Normal 2-way ๋ฏธ๋Ÿฌ๋ง (๋ฐ์ดํ„ฐ 2๋ฒŒ ์ €์žฅ) 2๊ฐœ
High 3-way ๋ฏธ๋Ÿฌ๋ง (๋ฐ์ดํ„ฐ 3๋ฒŒ ์ €์žฅ) 3๊ฐœ
Flex ์œ ์—ฐํ•œ ๋ฏธ๋Ÿฌ๋ง (ํŒŒ์ผ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ) 3๊ฐœ

๋ณดํ†ต ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” Normal Redundancy๋ฅผ ๋งŽ์ด ์จ์š”.
High๋Š” ๋„ˆ๋ฌด ๋””์Šคํฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๊ณ , External์€ RAID ์ปจํŠธ๋กค๋Ÿฌ์— ์˜์กดํ•˜๋‹ˆ๊นŒ์š” ใ…‡ใ…‡

๐ŸŒ ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ

RAC์—์„œ ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ๋Š” ์ƒ๋ช…์ค„์ด์—์š”! ๐Ÿ’“
Cache Fusion์œผ๋กœ ๋ธ”๋ก์„ ์ฃผ๊ณ ๋ฐ›๊ณ , ํด๋Ÿฌ์Šคํ„ฐ ํ†ต์‹ ๋„ ์—ฌ๊ธฐ์„œ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋“ ์š”.

์ธํ„ฐ์ปค๋„ฅํŠธ ์š”๊ตฌ์‚ฌํ•ญ
- ์ €์ง€์—ฐ(Low Latency): 1ms ์ดํ•˜ ๊ถŒ์žฅ
- ๊ณ ๋Œ€์—ญํญ(High Bandwidth): ์ตœ์†Œ 10Gbps, ๊ถŒ์žฅ 40Gbps ์ด์ƒ
- ์ „์šฉ ๋„คํŠธ์›Œํฌ: ๋‹ค๋ฅธ ํŠธ๋ž˜ํ”ฝ๊ณผ ์„ž์ด๋ฉด ์•ˆ ๋จ!

์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ 
- InfiniBand: ์ดˆ์ €์ง€์—ฐ, ์ดˆ๊ณ ์† (40~200Gbps), ๋น„์Œˆ ๐Ÿ’ฐ
- 10GbE/40GbE: ์ด๋”๋„ท ๊ธฐ๋ฐ˜, ๊ฐ€์„ฑ๋น„ ์ข‹์Œ
- RoCE (RDMA over Converged Ethernet): ์ด๋”๋„ท์— RDMA ๊ธฐ๋Šฅ ์ถ”๊ฐ€

์ธํ„ฐ์ปค๋„ฅํŠธ๊ฐ€ ๋А๋ฆฌ๋ฉด Cache Fusion ์„ฑ๋Šฅ์ด ๋–จ์–ด์ ธ์„œ,
๊ฒฐ๊ตญ ๋””์Šคํฌ I/O๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ์ „์ฒด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋ผ์š” ๐Ÿ˜ญ
๊ทธ๋ž˜์„œ RAC ์„ฑ๋Šฅ ํŠœ๋‹ํ•  ๋•Œ ์ธํ„ฐ์ปค๋„ฅํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์ˆ˜!

๐ŸŽฎ RAC ์„œ๋น„์Šค ๊ด€๋ฆฌ - ์›Œํฌ๋กœ๋“œ ๋ถ„์‚ฐ์˜ ๊ธฐ์ˆ 

RAC์—์„œ ์„œ๋น„์Šค(Service)๋Š” ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋…ผ๋ฆฌ์  ๋‹จ์œ„์˜ˆ์š”.
์„œ๋น„์Šค๋ฅผ ์ž˜ ์„ค๊ณ„ํ•˜๋ฉด ์›Œํฌ๋กœ๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„์‚ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ’ช

๐Ÿท๏ธ ์„œ๋น„์Šค ๊ฐœ๋…๊ณผ ๊ตฌ์„ฑ

์˜ˆ๋ฅผ ๋“ค์–ด๋ณผ๊ฒŒ์š” ใ…Žใ…Ž

4๋…ธ๋“œ RAC ํ™˜๊ฒฝ์—์„œ:
- SALES_SVC: ์˜์—…ํŒ€์šฉ ์„œ๋น„์Šค โ†’ ๋…ธ๋“œ1, ๋…ธ๋“œ2์—์„œ ์‹คํ–‰
- REPORT_SVC: ๋ฆฌํฌํŠธ์šฉ ์„œ๋น„์Šค โ†’ ๋…ธ๋“œ3, ๋…ธ๋“œ4์—์„œ ์‹คํ–‰
- BATCH_SVC: ๋ฐฐ์น˜ ์ž‘์—…์šฉ โ†’ ๋…ธ๋“œ4์—์„œ๋งŒ ์‹คํ–‰

์ด๋ ‡๊ฒŒ ์„œ๋น„์Šค๋ณ„๋กœ ๋…ธ๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด,
๋ฌด๊ฑฐ์šด ๋ฆฌํฌํŠธ ์ฟผ๋ฆฌ๊ฐ€ ์˜์—… ํŠธ๋žœ์žญ์…˜์— ์˜ํ–ฅ์„ ์•ˆ ์ฃผ๊ฒ ์ฃ ? ๐Ÿ‘

์„œ๋น„์Šค ์ƒ์„ฑ ์˜ˆ์‹œ

srvctl add service -d RACDB -s SALES_SVC \
  -preferred "RAC1,RAC2" \
  -available "RAC3,RAC4" \
  -policy AUTOMATIC \
  -failovertype SELECT \
  -failovermethod BASIC \
  -notification TRUE

์—ฌ๊ธฐ์„œ preferred๋Š” ์šฐ์„  ์‹คํ–‰ ๋…ธ๋“œ,
available์€ ์žฅ์•  ์‹œ ํŽ˜์ผ์˜ค๋ฒ„๋  ๋…ธ๋“œ์˜ˆ์š”!

โš–๏ธ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์ „๋žต

RAC๋Š” ๋‘ ๊ฐ€์ง€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ด์š”.

๋ฐฉ์‹ ์„ค๋ช… ์žฅ์ 
Client-Side ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐํ•  ๋…ธ๋“œ ์„ ํƒ ๋น ๋ฆ„, ๋„คํŠธ์›Œํฌ ํ™‰ ์ ์Œ
Server-Side ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋ถ€ํ•˜ ์ ์€ ๋…ธ๋“œ๋กœ ์—ฐ๊ฒฐ ๋™์ , ์‹ค์‹œ๊ฐ„ ๋ถ€ํ•˜ ๋ฐ˜์˜

Server-Side ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด ๋” ๋˜‘๋˜‘ํ•ด์š”!
PMON ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€ํ•˜ ์ •๋ณด๋ฅผ ๋ฆฌ์Šค๋„ˆ์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ณ ,
๋ฆฌ์Šค๋„ˆ๋Š” ๊ฐ€์žฅ ์—ฌ์œ ๋กœ์šด ๋…ธ๋“œ๋กœ ์—ฐ๊ฒฐ์„ ๋ณด๋‚ด๋Š” ๊ฑฐ์ฃ  ใ…Žใ…Ž

Connection String ์˜ˆ์‹œ:

SALES_SVC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = scan-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SALES_SVC)
    )
  )

์—ฌ๊ธฐ์„œ SCAN-VIP๋Š” Single Client Access Name์ธ๋ฐ,
ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐœ๋ณ„ ๋…ธ๋“œ IP๋ฅผ ๋ชฐ๋ผ๋„ SCAN๋งŒ ์•Œ๋ฉด ์ ‘์†ํ•  ์ˆ˜ ์žˆ์–ด์š”! ๊ฐœ๊ฟ€ ๐ŸŽ‰

๐Ÿ”„ FAN (Fast Application Notification)

๋…ธ๋“œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ด์—์š”.

FAN ๋™์ž‘ ๊ณผ์ •
1๏ธโƒฃ ๋…ธ๋“œ2 ๋‹ค์šด ๊ฐ์ง€
2๏ธโƒฃ FAN ์ด๋ฒคํŠธ ๋ฐœ์ƒ โ†’ ONS(Oracle Notification Service)๋ฅผ ํ†ตํ•ด ์ „ํŒŒ
3๏ธโƒฃ Connection Pool์ด ์ด๋ฒคํŠธ ์ˆ˜์‹ 
4๏ธโƒฃ ๋…ธ๋“œ2์— ์—ฐ๊ฒฐ๋œ ์ปค๋„ฅ์…˜๋“ค์„ ์ฆ‰์‹œ ์ •๋ฆฌ
5๏ธโƒฃ ์ƒˆ ์—ฐ๊ฒฐ์€ ์‚ด์•„์žˆ๋Š” ๋…ธ๋“œ๋กœ๋งŒ ์ƒ์„ฑ

FAN ์—†์œผ๋ฉด TCP ํƒ€์ž„์•„์›ƒ(๋ณดํ†ต 2๋ถ„)๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š”๋ฐ,
FAN ์“ฐ๋ฉด ์ˆ˜ ์ดˆ ๋‚ด์— ์žฅ์•  ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•ด์š”! โšก

JDBC, ODP.NET, OCI ๋“ฑ Oracle ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ธฐ๋ณธ ์ง€์›ํ•˜๋‹ˆ๊นŒ,
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ์ˆ˜์ • ์—†์ด ๋ฐ”๋กœ ์“ธ ์ˆ˜ ์žˆ์–ด์š” ๐Ÿ‘

RAC ์„œ๋น„์Šค ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ SCAN Listener ๋ถ€ํ•˜ ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ๋…ธ๋“œ 1 SALES_SVC ๋ถ€ํ•˜: 30% ๋…ธ๋“œ 2 SALES_SVC ๋ถ€ํ•˜: 75% ๋…ธ๋“œ 3 REPORT_SVC ๋ถ€ํ•˜: 50% ๋…ธ๋“œ 4 BATCH_SVC ๋ถ€ํ•˜: 20% ํด๋ผ์ด์–ธํŠธ Connection Pool FAN ์ด๋ฒคํŠธ ์ˆ˜์‹  / ์ž๋™ ํŽ˜์ผ์˜ค๋ฒ„ ์˜์—…ํŒ€ ๋ถ„์„ํŒ€

๐Ÿ” RAC ์„ฑ๋Šฅ ํŠœ๋‹ - ๋ณ‘๋ชฉ ์ง€์  ์ฐพ๊ธฐ

RAC๋ฅผ ๋„์ž…ํ–ˆ๋Š”๋ฐ ์„ฑ๋Šฅ์ด ์•ˆ ๋‚˜์˜จ๋‹ค? ๐Ÿ˜ฑ
๊ทธ๋Ÿผ ์–ด๋””๊ฐ€ ๋ฌธ์ œ์ธ์ง€ ์ฐพ์•„์•ผ๊ฒ ์ฃ ! ํŠœ๋‹ ํฌ์ธํŠธ๋ฅผ ์•Œ์•„๋ณผ๊ฒŒ์š” ใ…Žใ…Ž

๐Ÿ“Š ์ฃผ์š” ๋ชจ๋‹ˆํ„ฐ๋ง ์ง€ํ‘œ

RAC ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ๋•Œ ๋ด์•ผ ํ•  ํ•ต์‹ฌ ์ง€ํ‘œ๋“ค์ด์—์š”.

์ง€ํ‘œ ์„ค๋ช… ์ •์ƒ ๋ฒ”์œ„
GC CR Block Receive Time ์ฝ๊ธฐ ์ผ๊ด€์„ฑ ๋ธ”๋ก ์ˆ˜์‹  ์‹œ๊ฐ„ < 15ms
GC Current Block Receive Time ํ˜„์žฌ ๋ธ”๋ก ์ˆ˜์‹  ์‹œ๊ฐ„ < 15ms
Interconnect Bandwidth ์ธํ„ฐ์ปค๋„ฅํŠธ ์‚ฌ์šฉ๋ฅ  < 70%
Global Cache Hit Ratio ๊ธ€๋กœ๋ฒŒ ์บ์‹œ ์ ์ค‘๋ฅ  > 95%

์ด ์ˆ˜์น˜๋“ค์ด ์ •์ƒ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฑฐ์˜ˆ์š”!

AWR ๋ฆฌํฌํŠธ๋กœ ํ™•์ธํ•˜๊ธฐ

-- AWR ์Šค๋ƒ…์ƒท ์ƒ์„ฑ
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

-- AWR ๋ฆฌํฌํŠธ ์ƒ์„ฑ (RAC ์ „์ฒด)
@?/rdbms/admin/awrgrpt.sql

-- ํŠน์ • ์ธ์Šคํ„ด์Šค๋งŒ
@?/rdbms/admin/awrrpt.sql

AWR ๋ฆฌํฌํŠธ์—์„œ Top 5 Timed Events ์„น์…˜์„ ๋ณด๋ฉด,
์–ด๋–ค ๋Œ€๊ธฐ ์ด๋ฒคํŠธ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์–ด์š”!

๋งŒ์•ฝ gc current block 2-way ๊ฐ™์€ GC ์ด๋ฒคํŠธ๊ฐ€ ์ƒ์œ„๊ถŒ์ด๋ฉด?
โ†’ Cache Fusion ์„ฑ๋Šฅ ๋ฌธ์ œ! ์ธํ„ฐ์ปค๋„ฅํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠœ๋‹ ํ•„์š” ๐Ÿšจ

โšก ์ผ๋ฐ˜์ ์ธ ์„ฑ๋Šฅ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ์ฑ…

๋ฌธ์ œ 1: ์ธํ„ฐ์ปค๋„ฅํŠธ ๋ณ‘๋ชฉ
์ฆ์ƒ: GC ๋Œ€๊ธฐ ์ด๋ฒคํŠธ ์‹œ๊ฐ„์ด ๊ธธ๊ณ , ์ธํ„ฐ์ปค๋„ฅํŠธ ์‚ฌ์šฉ๋ฅ  ๋†’์Œ
์›์ธ: ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ๋ถ€์กฑ, ํŒจํ‚ท ์†์‹ค, ๋ ˆ์ดํ„ด์‹œ ๋†’์Œ
ํ•ด๊ฒฐ:
- ์ธํ„ฐ์ปค๋„ฅํŠธ ๋Œ€์—ญํญ ์—…๊ทธ๋ ˆ์ด๋“œ (10G โ†’ 40G)
- Jumbo Frame ํ™œ์„ฑํ™” (MTU 9000)
- ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜ ์ ๊ฒ€

๋ฌธ์ œ 2: ํ•ซ ๋ธ”๋ก ๊ฒฝํ•ฉ
์ฆ์ƒ: ํŠน์ • ๋ธ”๋ก์— ์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ๋™์‹œ ์ ‘๊ทผ, gc buffer busy ๋งŽ์Œ
์›์ธ: ์‹œํ€€์Šค, ์ธ๋ฑ์Šค ๋ฃจํŠธ ๋ธ”๋ก ๋“ฑ์— ์ง‘์ค‘ ์ ‘๊ทผ
ํ•ด๊ฒฐ:
- ์‹œํ€€์Šค CACHE ํฌ๊ธฐ ์ฆ๊ฐ€ (CACHE 1000 ์ด์ƒ)
- ์—ญ๋ฐฉํ–ฅ ํ‚ค ์ธ๋ฑ์Šค ์‚ฌ์šฉ
- ํŒŒํ‹ฐ์…”๋‹์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ

๋ฌธ์ œ 3: ์Šคํ† ๋ฆฌ์ง€ I/O ๋ณ‘๋ชฉ
์ฆ์ƒ: db file sequential read, db file scattered read ๋Œ€๊ธฐ ๋งŽ์Œ
์›์ธ: ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ ์„ฑ๋Šฅ ํ•œ๊ณ„
ํ•ด๊ฒฐ:
- SSD/NVMe ์Šคํ† ๋ฆฌ์ง€๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ
- ASM ์ŠคํŠธ๋ผ์ดํ•‘ ์ตœ์ ํ™”
- ๋ฒ„ํผ ์บ์‹œ ํฌ๊ธฐ ์ฆ๊ฐ€

๐Ÿ’ก Pro Tip!

RAC ํ™˜๊ฒฝ์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๊ฐ€ ์ •๋ง ์ค‘์š”ํ•ด์š”!

โŒ ๋‚˜์œ ์˜ˆ: ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•œ ๋งˆ์Šคํ„ฐ ํ…Œ์ด๋ธ”์˜ ์‹œํ€€์Šค๋ฅผ ์‚ฌ์šฉ
โ†’ ์‹œํ€€์Šค ๋ธ”๋ก์— ๊ฒฝํ•ฉ ๋ฐœ์ƒ, ์„ฑ๋Šฅ ์ €ํ•˜

โœ… ์ข‹์€ ์˜ˆ: ๋…ธ๋“œ๋ณ„๋กœ ๋‹ค๋ฅธ ๋ฒ”์œ„์˜ ID ์‚ฌ์šฉ (๋…ธ๋“œ1: 1~1000000, ๋…ธ๋“œ2: 1000001~2000000)
โ†’ ๊ฒฝํ•ฉ ์—†์Œ, ์„ฑ๋Šฅ ํ–ฅ์ƒ!

์ด๋Ÿฐ ์‹์œผ๋กœ ๋…ธ๋“œ ๊ฐ„ ๊ฒฝํ•ฉ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒŒ RAC ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ์ด์—์š” ๐ŸŽฏ

๐Ÿ› ๏ธ RAC ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ - ์‹ค์ „ ๊ฐ€์ด๋“œ

์ด๋ก ์€ ์ด์ œ ์ถฉ๋ถ„ํžˆ ์•Œ์•˜์œผ๋‹ˆ, ์‹ค์ œ๋กœ RAC๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์„ ๋ณผ๊นŒ์š”? ใ…Žใ…Ž
๋ฌผ๋ก  ์‹ค์ œ ์„ค์น˜๋Š” ์—„์ฒญ ๋ณต์žกํ•˜์ง€๋งŒ, ํ•ต์‹ฌ ๋‹จ๊ณ„๋งŒ ์ •๋ฆฌํ•ด๋ณผ๊ฒŒ์š”! ๐Ÿ’ช

๐Ÿ“‹ ์‚ฌ์ „ ์ค€๋น„์‚ฌํ•ญ

RAC ์„ค์น˜ ์ „์— ์ค€๋น„ํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋งŽ์•„์š” ใ„ทใ„ท

ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ
- ์ตœ์†Œ 2๋Œ€ ์ด์ƒ์˜ ์„œ๋ฒ„ (๋™์ผ ์ŠคํŽ™ ๊ถŒ์žฅ)
- ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€ (SAN, NAS, iSCSI ๋“ฑ)
- ํผ๋ธ”๋ฆญ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค (ํด๋ผ์ด์–ธํŠธ ์ ‘์†์šฉ)
- ํ”„๋ผ์ด๋น— ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค (์ธํ„ฐ์ปค๋„ฅํŠธ์šฉ, ์ตœ์†Œ 10Gbps)

์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ
- ์ง€์›๋˜๋Š” Linux ๋ฒ„์ „ (RHEL, Oracle Linux ๋“ฑ)
- ์ปค๋„ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •
- ํ•„์ˆ˜ RPM ํŒจํ‚ค์ง€ ์„ค์น˜
- ๋ฐฉํ™”๋ฒฝ ํฌํŠธ ์˜คํ”ˆ

๋„คํŠธ์›Œํฌ ์„ค์ •
๊ฐ ๋…ธ๋“œ๋งˆ๋‹ค ์ตœ์†Œ 3๊ฐœ์˜ IP๊ฐ€ ํ•„์š”ํ•ด์š”!
- Public IP: ํด๋ผ์ด์–ธํŠธ ์ ‘์†์šฉ
- Private IP: ์ธํ„ฐ์ปค๋„ฅํŠธ์šฉ
- VIP (Virtual IP): ํŽ˜์ผ์˜ค๋ฒ„์šฉ

์ถ”๊ฐ€๋กœ SCAN IP 3๊ฐœ๋„ ํ•„์š”ํ•˜๊ณ ... DNS ์„ค์ •๋„ ํ•ด์•ผ ํ•˜๊ณ ...
์ง„์งœ ํ•  ๊ฒŒ ๋งŽ์Œ ใ…‹ใ…‹ใ…‹ ๐Ÿ˜…

๐Ÿš€ ์„ค์น˜ ๋‹จ๊ณ„

1๋‹จ๊ณ„: Grid Infrastructure ์„ค์น˜
ํด๋Ÿฌ์Šคํ„ฐ์›จ์–ด์™€ ASM์„ ๋จผ์ € ์„ค์น˜ํ•ด์•ผ ํ•ด์š”.

# Grid Infrastructure ์„ค์น˜ (์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์—์„œ)
./gridSetup.sh

# ์„ค์น˜ ์ค‘ ์„ ํƒ์‚ฌํ•ญ
- Configure Oracle Grid Infrastructure for a Cluster
- Advanced Installation
- ๋…ธ๋“œ ์ •๋ณด ์ž…๋ ฅ (ํ˜ธ์ŠคํŠธ๋ช…, VIP)
- ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์ง€์ • (Public/Private)
- SCAN ์ •๋ณด ์ž…๋ ฅ
- ASM ๋””์Šคํฌ ๊ทธ๋ฃน ์ƒ์„ฑ
- root ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰

์„ค์น˜๊ฐ€ ๋๋‚˜๋ฉด ๊ฐ ๋…ธ๋“œ์—์„œ root ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ด์š”.
์ด๊ฒŒ Voting Disk, OCR ๋“ฑ์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฑฐ์˜ˆ์š”!

2๋‹จ๊ณ„: Oracle Database ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜
Grid Infrastructure๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•˜๋ฉด DB ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•ด์š”.

# Database ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜
./runInstaller

# ์„ค์น˜ ์˜ต์…˜
- Install database software only (์†Œํ”„ํŠธ์›จ์–ด๋งŒ ์„ค์น˜)
- Oracle RAC database installation
- ๋ชจ๋“  ๋…ธ๋“œ ์„ ํƒ

3๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
DBCA(Database Configuration Assistant)๋กœ RAC DB๋ฅผ ์ƒ์„ฑํ•ด์š”.

# DBCA ์‹คํ–‰
dbca

# ์ƒ์„ฑ ์˜ต์…˜
- Create a database
- Advanced configuration
- Oracle Real Application Clusters database
- ๋ชจ๋“  ๋…ธ๋“œ์— ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
- ASM ์Šคํ† ๋ฆฌ์ง€ ์„ ํƒ
- ๋ฆฌ์Šค๋„ˆ ์„ค์ •

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ ๋…ธ๋“œ์— ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ณ ,
๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€์— ๋ฐ์ดํ„ฐํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ ธ์š”! ๐ŸŽ‰

4๋‹จ๊ณ„: ๊ฒ€์ฆ ๋ฐ ํ…Œ์ŠคํŠธ

# ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ํ™•์ธ
crsctl check cluster -all

# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ ํ™•์ธ
srvctl status database -d RACDB

# ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ํ™•์ธ
ps -ef | grep pmon

# ๋ฆฌ์Šค๋„ˆ ์ƒํƒœ ํ™•์ธ
lsnrctl status

๋ชจ๋“  ๋…ธ๋“œ์—์„œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•˜๋ฉด ์„ฑ๊ณต! โœ…

๐ŸŽ“ RAC ์šด์˜ ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค

RAC๋ฅผ ์‹ค์ œ ์šด์˜ํ•˜๋ฉด์„œ ์•Œ์•„๋‘ฌ์•ผ ํ•  ํŒ๋“ค์„ ๊ณต์œ ํ• ๊ฒŒ์š”! ๐Ÿ’ก
์ด๊ฑด ์ง„์งœ ํ˜„์žฅ์—์„œ ๋ผˆ์ €๋ฆฌ๊ฒŒ ๋А๋‚€ ๊ฒƒ๋“ค์ด์—์š” ใ…‹ใ…‹

โœ… ํ•ด์•ผ ํ•  ๊ฒƒ๋“ค

1. ์ •๊ธฐ์ ์ธ ๋ฐฑ์—…
- OCR ์ž๋™ ๋ฐฑ์—… ํ™•์ธ: ocrconfig -showbackup
- Voting Disk ๋ฐฑ์—…: dd ๋ช…๋ น์–ด๋กœ ์ˆ˜๋™ ๋ฐฑ์—…
- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค RMAN ๋ฐฑ์—… (๋‹น์—ฐํžˆ!)

2. ๋ชจ๋‹ˆํ„ฐ๋ง ์ž๋™ํ™”
- Enterprise Manager Cloud Control ์‚ฌ์šฉ
- ์ปค์Šคํ…€ ์Šคํฌ๋ฆฝํŠธ๋กœ GC ๋Œ€๊ธฐ ์ด๋ฒคํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง
- ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๊ฐ์‹œ
- ๋””์Šคํฌ I/O ์„ฑ๋Šฅ ์ถ”์ 

3. ์ •๊ธฐ์ ์ธ ํŒจ์น˜
- ๋ถ„๊ธฐ๋ณ„ PSU(Patch Set Update) ์ ์šฉ
- ๋กค๋ง ํŒจ์น˜๋กœ ๋ฌด์ค‘๋‹จ ์—…๋ฐ์ดํŠธ
- ํŒจ์น˜ ์ „ ๋ฐ˜๋“œ์‹œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ๊ฒ€์ฆ!

4. ์šฉ๋Ÿ‰ ๊ณ„ํš
- ASM ๋””์Šคํฌ ๊ทธ๋ฃน ์—ฌ์œ  ๊ณต๊ฐ„ 20% ์ด์ƒ ์œ ์ง€
- ๋…ธ๋“œ ์ถ”๊ฐ€ ์‹œ์  ๋ฏธ๋ฆฌ ๊ณ„ํš (CPU 70% ๋„๋‹ฌ ์‹œ์  ๋“ฑ)
- ์•„์นด์ด๋ธŒ ๋กœ๊ทธ ์ฆ๊ฐ€์œจ ๋ชจ๋‹ˆํ„ฐ๋ง

โŒ ํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ๋“ค

1. ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ ๊ณต์œ 
์ ˆ๋Œ€๋กœ ์ธํ„ฐ์ปค๋„ฅํŠธ์— ๋‹ค๋ฅธ ํŠธ๋ž˜ํ”ฝ ํƒœ์šฐ์ง€ ๋งˆ์„ธ์š”!
Cache Fusion ์„ฑ๋Šฅ์ด ๋–จ์–ด์ ธ์„œ ์ „์ฒด ์‹œ์Šคํ…œ์ด ๋А๋ ค์ ธ์š” ๐Ÿ˜ฑ

2. ๋…ธ๋“œ๋ณ„ ๋น„๋Œ€์นญ ๊ตฌ์„ฑ
๋…ธ๋“œ1์€ 32์ฝ”์–ด์ธ๋ฐ ๋…ธ๋“œ2๋Š” 16์ฝ”์–ด? ์ด๋Ÿฌ๋ฉด ์•ˆ ๋ผ์š”!
์›Œํฌ๋กœ๋“œ ๋ถ„์‚ฐ์ด ์ œ๋Œ€๋กœ ์•ˆ ๋˜๊ณ , ์žฅ์•  ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜ ์‹ฌํ•จ ใ… ใ… 

3. ๋‹จ์ผ Voting Disk
Voting Disk 1๊ฐœ๋งŒ ์“ฐ๋ฉด ๊ทธ๊ฒŒ ๊ณ ์žฅ๋‚˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ๋‹ค์šด!
๋ฐ˜๋“œ์‹œ ํ™€์ˆ˜ ๊ฐœ(3๊ฐœ or 5๊ฐœ)๋กœ ๋‹ค์ค‘ํ™”ํ•˜์„ธ์š” ๐Ÿšจ

4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋…ธ๋“œ ๊ณ ์ •
ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŠน์ • ๋…ธ๋“œ์—๋งŒ ์—ฐ๊ฒฐํ•˜๋ฉด,
๊ทธ ๋…ธ๋“œ ์ฃฝ์œผ๋ฉด ์„œ๋น„์Šค ์ค‘๋‹จ! TAF ์„ค์ • ํ•„์ˆ˜์˜ˆ์š” โœ…

๐ŸŽฏ ์žฌ๋Šฅ๋„ท์—์„œ RAC ์ „๋ฌธ๊ฐ€ ์ฐพ๊ธฐ

RAC ๊ตฌ์ถ•์ด๋‚˜ ํŠœ๋‹์ด ์–ด๋ ต๋‹ค๋ฉด?
์žฌ๋Šฅ๋„ท(https://www.jaenung.net)์—์„œ Oracle RAC ์ „๋ฌธ๊ฐ€๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”!

์‹ค๋ฌด ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•œ DBA๋“ค์ด ์ปจ์„คํŒ…, ๊ตฌ์ถ•, ํŠœ๋‹ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด์š”.
ํŠนํžˆ ์„ฑ๋Šฅ ๋ฌธ์ œ๋กœ ๊ณ ๋ฏผ ์ค‘์ด๋ผ๋ฉด ์ „๋ฌธ๊ฐ€์˜ ๋„์›€์„ ๋ฐ›๋Š” ๊ฒŒ ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•ด์š”! ๐Ÿ’ช

DB ๊ด€๋ จ ์ง€์‹์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋ฐฐ์šฐ๊ณ  ์‹ถ๋‹ค๋ฉด,
์žฌ๋Šฅ๋„ท์˜ '์ง€์‹์ธ์˜ ์ˆฒ' ๋ฉ”๋‰ด๋„ ํ™œ์šฉํ•ด๋ณด์„ธ์š” ใ…Žใ…Ž

๐Ÿ†š RAC vs ๋‹ค๋ฅธ HA ์†”๋ฃจ์…˜ ๋น„๊ต

๊ณ ๊ฐ€์šฉ์„ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ RAC๋งŒ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ์—์š”!
๋‹ค๋ฅธ ์†”๋ฃจ์…˜๋“ค๊ณผ ๋น„๊ตํ•ด๋ณผ๊นŒ์š”? ๐Ÿค”

์†”๋ฃจ์…˜ ์žฅ์  ๋‹จ์  ์ ํ•ฉํ•œ ๊ฒฝ์šฐ
Oracle RAC Active-Active, ํ™•์žฅ์„ฑ, ๋ฌด์ค‘๋‹จ ํŒจ์น˜ ๋ณต์žก๋„ ๋†’์Œ, ๋น„์šฉ ๋†’์Œ, ์ธํ„ฐ์ปค๋„ฅํŠธ ํ•„์š” 24/7 ์„œ๋น„์Šค, ๋†’์€ ํŠธ๋žœ์žญ์…˜, ํ™•์žฅ ํ•„์š”
Data Guard ์žฌํ•ด๋ณต๊ตฌ, ์ฝ๊ธฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ, ์ƒ๋Œ€์ ์œผ๋กœ ์ €๋ ด Active-Standby, ํŽ˜์ผ์˜ค๋ฒ„ ์‹œ๊ฐ„ ์†Œ์š” DR ๊ตฌ์„ฑ, ์ฝ๊ธฐ ์ „์šฉ ๋ฆฌํฌํŠธ ๋ถ„๋ฆฌ
Golden Gate ์ด๊ธฐ์ข… DB ๋ณต์ œ, ์–‘๋ฐฉํ–ฅ ๋ณต์ œ, ์œ ์—ฐ์„ฑ ๋ณต์žกํ•œ ์„ค์ •, ์ถฉ๋Œ ํ•ด๊ฒฐ ํ•„์š” DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ๋ฉ€ํ‹ฐ ๋งˆ์Šคํ„ฐ
Failover Cluster ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ, ์ €๋ ด Active-Passive, ์ž์› ๋‚ญ๋น„ ์ค‘์†Œ๊ทœ๋ชจ, ์˜ˆ์‚ฐ ์ œํ•œ

์–ธ์ œ RAC๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?
โœ… ์„œ๋น„์Šค ์ค‘๋‹จ์ด ์ ˆ๋Œ€ ์•ˆ ๋˜๋Š” ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ์‹œ์Šคํ…œ
โœ… ํŠธ๋ž˜ํ”ฝ์ด ๊ณ„์† ์ฆ๊ฐ€ํ•ด์„œ Scale-Out์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
โœ… ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ชจ๋‘ ๋†’์€ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
โœ… ๋ฌด์ค‘๋‹จ ํŒจ์น˜/์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์ˆ˜์ธ ๊ฒฝ์šฐ

RAC๊ฐ€ ๊ณผํ•œ ๊ฒฝ์šฐ
โŒ ํŠธ๋ž˜ํ”ฝ์ด ์ ๊ณ  ๋‹จ์ผ ์„œ๋ฒ„๋กœ ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ
โŒ ์˜ˆ์‚ฐ์ด ์ œํ•œ์ ์ธ ๊ฒฝ์šฐ (Data Guard๊ฐ€ ๋” ๋‚˜์Œ)
โŒ ์ฝ๊ธฐ ์ „์šฉ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋งŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
โŒ ์šด์˜ ์ธ๋ ฅ์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ (๊ด€๋ฆฌ ๋ณต์žก๋„ ๋†’์Œ)

๐Ÿ”ฎ RAC์˜ ๋ฏธ๋ž˜์™€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ

์š”์ฆ˜์€ ํด๋ผ์šฐ๋“œ ์‹œ๋Œ€์ž–์•„์š”? โ˜๏ธ
RAC๋„ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์œผ๋กœ ์ง„ํ™”ํ•˜๊ณ  ์žˆ์–ด์š”!

โ˜๏ธ Oracle Cloud์—์„œ์˜ RAC

Oracle์€ ์ž์ฒด ํด๋ผ์šฐ๋“œ์ธ OCI(Oracle Cloud Infrastructure)์—์„œ
RAC๋ฅผ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด์š”!

Exadata Cloud Service
- ์™„์ „ ๊ด€๋ฆฌํ˜• RAC ์„œ๋น„์Šค
- ์ž๋™ ๋ฐฑ์—…, ํŒจ์น˜, ๋ชจ๋‹ˆํ„ฐ๋ง
- ํ•„์š”ํ•  ๋•Œ ๋…ธ๋“œ ์ถ”๊ฐ€/์ œ๊ฑฐ ๊ฐ€๋Šฅ
- ์˜จํ”„๋ ˆ๋ฏธ์Šค Exadata์™€ ๋™์ผํ•œ ์„ฑ๋Šฅ

VM DB System with RAC
- ๊ฐ€์ƒ๋จธ์‹  ๊ธฐ๋ฐ˜ RAC
- Exadata๋ณด๋‹ค ์ €๋ ด
- ์œ ์—ฐํ•œ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ

ํด๋ผ์šฐ๋“œ์—์„œ๋Š” ์ธํ”„๋ผ ๊ด€๋ฆฌ ๋ถ€๋‹ด์ด ํ™• ์ค„์–ด๋“ค์–ด์„œ,
RAC ๋„์ž… ์žฅ๋ฒฝ์ด ๋งŽ์ด ๋‚ฎ์•„์กŒ์–ด์š”! ๐Ÿ‘

ํŠนํžˆ Auto Scaling ๊ธฐ๋Šฅ์œผ๋กœ
ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ ๋…ธ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€/์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐœ๊ฟ€ ใ…‹ใ…‹

๐Ÿš€ RAC์˜ ์ตœ์‹  ๊ธฐ๋Šฅ๋“ค

Oracle 19c, 21c์—์„œ ์ถ”๊ฐ€๋œ RAC ๊ด€๋ จ ๊ธฐ๋Šฅ๋“ค์ด์—์š”.

Flex ASM
- ASM ์ธ์Šคํ„ด์Šค๋ฅผ ๋ชจ๋“  ๋…ธ๋“œ์— ๋„์šฐ์ง€ ์•Š์•„๋„ ๋จ
- ๋ฆฌ์†Œ์Šค ์ ˆ์•ฝ, ๊ด€๋ฆฌ ํŽธ์˜์„ฑ ํ–ฅ์ƒ

Flex Cluster
- Hub Node + Leaf Node ๊ตฌ์กฐ
- Leaf Node๋Š” ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
- ๋” ์œ ์—ฐํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ

Application Continuity
- ๋…ธ๋“œ ์žฅ์•  ์‹œ ํŠธ๋žœ์žญ์…˜ ์ž๋™ ์žฌ์‹คํ–‰
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ์ˆ˜์ • ์—†์ด ํˆฌ๋ช…ํ•œ ํŽ˜์ผ์˜ค๋ฒ„
- TAF๋ณด๋‹ค ํ›จ์”ฌ ๋˜‘๋˜‘ํ•จ!

Global Data Services
- ์—ฌ๋Ÿฌ RAC ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๊ด€๋ฆฌ
- ๊ธ€๋กœ๋ฒŒ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ
- ์ง€์—ญ๋ณ„ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ

๐Ÿ’ฌ ์‹ค๋ฌด ๊ฒฝํ—˜๋‹ด - ์ง„์งœ ํ˜„์žฅ ์ด์•ผ๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ์‹ค์ œ RAC ์šด์˜ํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์—ํ”ผ์†Œ๋“œ๋“ค์„ ๊ณต์œ ํ• ๊ฒŒ์š” ใ…‹ใ…‹
์ด๋Ÿฐ ๊ฑฐ ์•Œ์•„๋‘๋ฉด ๋‚˜์ค‘์— ๋„์›€ ๋  ๊ฑฐ์˜ˆ์š”! ๐Ÿ˜„

๐Ÿ”ฅ ์žฅ์•  ์‚ฌ๋ก€ 1: ์ธํ„ฐ์ปค๋„ฅํŠธ ์Šค์œ„์น˜ ๊ณ ์žฅ

์–ด๋А ๋‚  ๊ฐ‘์ž๊ธฐ DB ์„ฑ๋Šฅ์ด ํญ๋ฝํ–ˆ์–ด์š” ๐Ÿ˜ฑ
AWR ๋ณด๋‹ˆ๊นŒ GC ๋Œ€๊ธฐ ์ด๋ฒคํŠธ๊ฐ€ ํ‰์†Œ์˜ 10๋ฐฐ!

์›์ธ์„ ์ฐพ์•„๋ณด๋‹ˆ ์ธํ„ฐ์ปค๋„ฅํŠธ ์Šค์œ„์น˜ ํฌํŠธ ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ๋‚˜์„œ,
40Gbps โ†’ 10Gbps๋กœ ๋Œ€์—ญํญ์ด ๋–จ์–ด์ง„ ๊ฑฐ์˜€์–ด์š” ใ„ทใ„ท

๊ตํ›ˆ: ์ธํ„ฐ์ปค๋„ฅํŠธ ๋„คํŠธ์›Œํฌ๋„ ์ด์ค‘ํ™” ํ•„์ˆ˜!
๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ผญ ํ•˜์„ธ์š” ใ… ใ… 

โšก ์žฅ์•  ์‚ฌ๋ก€ 2: Voting Disk ์†์‹ค

์Šคํ† ๋ฆฌ์ง€ ์ ๊ฒ€ ์ค‘์— ์‹ค์ˆ˜๋กœ Voting Disk๊ฐ€ ์žˆ๋Š” LUN์„ ์–ธ๋งˆ์šดํŠธํ–ˆ์–ด์š” ๐Ÿ’€
๊ทธ ์ˆœ๊ฐ„ ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด๊ฐ€ ํŒจ๋‹‰ ์ƒํƒœ!
๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ๋ฅผ ๋ชป ๋ณด๋‹ˆ๊นŒ ๋™์‹œ์— ์žฌ๋ถ€ํŒ… ์‹œ์ž‘...

๋‹คํ–‰ํžˆ Voting Disk๊ฐ€ 3๊ฐœ์˜€๊ณ , 2๊ฐœ๋Š” ์‚ด์•„์žˆ์–ด์„œ
ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ณต๊ตฌ๋์ง€๋งŒ ์‹ฌ์žฅ ์ซ„๊นƒํ–ˆ์Œ ใ…‹ใ…‹ใ…‹

๊ตํ›ˆ: ์Šคํ† ๋ฆฌ์ง€ ์ž‘์—…ํ•  ๋•Œ๋Š” ์ •๋ง์ •๋ง ์กฐ์‹ฌ!
๊ทธ๋ฆฌ๊ณ  Voting Disk ๋‹ค์ค‘ํ™”๋Š” ์ƒ๋ช…์ค„์ด์—์š” ๐Ÿ™

๐ŸŽฏ ์„ฑ๋Šฅ ๊ฐœ์„  ์‚ฌ๋ก€: ์‹œํ€€์Šค ํŠœ๋‹

์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— INSERT๊ฐ€ ๋ชฐ๋ฆฌ๋Š” ์‹œ๊ฐ„๋Œ€์— ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์–ด์š”.
๋ถ„์„ํ•ด๋ณด๋‹ˆ ์ฃผ๋ฌธ๋ฒˆํ˜ธ ์‹œํ€€์Šค์—์„œ GC ๊ฒฝํ•ฉ์ด ์‹ฌํ–ˆ๋˜ ๊ฑฐ์˜ˆ์š”!

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

-- ๊ธฐ์กด ์‹œํ€€์Šค (CACHE 20)
CREATE SEQUENCE order_seq CACHE 20;

-- ๊ฐœ์„  ์‹œํ€€์Šค (CACHE 10000)
CREATE SEQUENCE order_seq CACHE 10000;

CACHE ํฌ๊ธฐ๋ฅผ 20 โ†’ 10000์œผ๋กœ ๋Š˜๋ ธ๋”๋‹ˆ,
๊ฐ ๋…ธ๋“œ๊ฐ€ ์‹œํ€€์Šค ๋ธ”๋ก์„ ๋œ ์ž์ฃผ ์š”์ฒญํ•˜๊ฒŒ ๋˜์–ด์„œ
GC ๊ฒฝํ•ฉ์ด ํ™• ์ค„์–ด๋“ค์—ˆ์–ด์š”! ๐ŸŽ‰

์„ฑ๋Šฅ์ด ์•ฝ 3๋ฐฐ ํ–ฅ์ƒ๋๊ณ , ์‚ฌ์šฉ์ž๋“ค๋„ ๋งŒ์กฑ ใ…Žใ…Ž

๊ตํ›ˆ: RAC์—์„œ๋Š” ์‹œํ€€์Šค CACHE๋ฅผ ํฌ๊ฒŒ ์„ค์ •ํ•˜์„ธ์š”!
๋ฒˆํ˜ธ๊ฐ€ ์ข€ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ์„ฑ๋Šฅ์ด ํ›จ์”ฌ ์ค‘์š”ํ•ด์š” ๐Ÿ’ช

๐Ÿ“š ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ

์™€... ์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ๋А๋ผ ๊ณ ์ƒ ๋งŽ์œผ์…จ์–ด์š”! ๐Ÿ‘
Oracle RAC์— ๋Œ€ํ•ด ๊ฝค ๋งŽ์€ ๊ฑธ ๋‹ค๋ค˜๋Š”๋ฐ, ์ •๋ฆฌํ•ด๋ณผ๊ฒŒ์š” ใ…Žใ…Ž

RAC์˜ ํ•ต์‹ฌ ์š”์•ฝ
โœ… ์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ DB๋ฅผ ๊ณต์œ ํ•˜๋Š” Active-Active ํด๋Ÿฌ์Šคํ„ฐ
โœ… Cache Fusion์œผ๋กœ ๋…ธ๋“œ ๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก ๊ณต์œ 
โœ… ๊ณ ๊ฐ€์šฉ์„ฑ + ํ™•์žฅ์„ฑ + ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋™์‹œ์— ์ œ๊ณต
โœ… Grid Infrastructure๋กœ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ
โœ… ASM์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€ ์ž๋™ ๊ด€๋ฆฌ

RAC ๋„์ž… ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ
๐Ÿ’ฐ ๋น„์šฉ: ๋ผ์ด์„ ์Šค, ํ•˜๋“œ์›จ์–ด, ์šด์˜ ์ธ๋ ฅ ๋ชจ๋‘ ๋น„์Œˆ
๐Ÿ”ง ๋ณต์žก๋„: ์ผ๋ฐ˜ DB๋ณด๋‹ค ๊ด€๋ฆฌ๊ฐ€ ํ›จ์”ฌ ๋ณต์žกํ•จ
๐Ÿ“Š ์›Œํฌ๋กœ๋“œ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด RAC์— ์ ํ•ฉํ•œ์ง€ ๋ถ„์„ ํ•„์ˆ˜
๐Ÿ‘ฅ ์ธ๋ ฅ: ์ˆ™๋ จ๋œ DBA ํ•„์š”

ํ•˜์ง€๋งŒ ์ œ๋Œ€๋กœ ๊ตฌ์ถ•ํ•˜๊ณ  ์šด์˜ํ•˜๋ฉด,
์ ˆ๋Œ€ ์ฃฝ์ง€ ์•Š๋Š” ์•ˆ์ •์ ์ธ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ’ช

ํŠนํžˆ ๊ธˆ์œต, ํ†ต์‹ , ๋Œ€ํ˜• ์ด์ปค๋จธ์Šค์ฒ˜๋Ÿผ
์„œ๋น„์Šค ์ค‘๋‹จ์ด ๊ณง ๋ง‰๋Œ€ํ•œ ์†์‹ค๋กœ ์ด์–ด์ง€๋Š” ๊ณณ์—์„œ๋Š”
RAC๊ฐ€ ๊ฑฐ์˜ ํ•„์ˆ˜๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•ด์š” ใ…‡ใ…‡

RAC ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”! ๐Ÿ˜Š
๊ถ๊ธˆํ•œ ์  ์žˆ์œผ๋ฉด ์žฌ๋Šฅ๋„ท์—์„œ ์ „๋ฌธ๊ฐ€๋“ค๊ณผ ์†Œํ†ตํ•ด๋ณด์„ธ์š”~

๊ทธ๋Ÿผ ๋ชจ๋‘ ํ•ดํ”ผ DBA ๋ผ์ดํ”„ ๋˜์‹œ๊ธธ! ๐ŸŽ‰
ใ…‹ใ…‹ใ…‹ ํ™”์ดํŒ…! ๐Ÿ’ชโœจ

๐ŸŒŸ ์žฌ๋Šฅ๋„ท์—์„œ ๋” ๋งŽ์€ IT ์ง€์‹์„ ํƒํ—˜ํ•ด๋ณด์„ธ์š”! ๐ŸŒŸ
DB ์ „๋ฌธ๊ฐ€๋“ค์˜ ๋…ธํ•˜์šฐ์™€ ์‹ค๋ฌด ๊ฒฝํ—˜์„ ๊ณต์œ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š” ๐Ÿ’ก

๋Œ“๊ธ€ ์ž‘์„ฑ

์ด ๊ธ€์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ๊ฐ์„ ๋“ค๋ ค์ฃผ์„ธ์š”

๋Œ“๊ธ€ 0
๋Œ“๊ธ€์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.

์•„์ง ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.