๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

2020/047

[Oracle] Rollfoward & Rollback ์„œ๋ฒ„๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ฃฝ์—ˆ์„ ๋•Œ, Checkpoint ํšŒ๋ณต Oracle startup Oracle ์„œ๋ฒ„๋ฅผ ๊ธฐ๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์ˆœ์„œ๋Œ€๋กœ instance started - database mounted - database opened ์ˆœ์„œ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. instance started Oracle Instance์ธ SGA ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ์™€ Background Process๋“ค์„ ๊ธฐ๋™ํ•ฉ๋‹ˆ๋‹ค. database mounted Control File์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ mounted ์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ๋งŒ์•ฝ ์ „์— ์ •์ƒ์ ์œผ๋กœ ๋‚ด๋ ค๊ฐ€์ง€ ์•Š์•˜๋‹ค๋ฉด SMON Background Process๊ฐ€ Instance Recovery ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค. Instance Recovery ์ž‘์—…์œผ๋กœ Rollfoward์™€ Rollback ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค. database opened ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ• .. 2020. 4. 4.
[ORACLE] LEAD LAG ์•ž๋’ค ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ :: ๋งˆ์ด์ž๋ชฝ ORACLE ์•ž๋’ค ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ORACLE SCOTT ๊ณ„์ • EMPํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด์„œ ์‚ฌ์› ๋ฒˆํ˜ธ๋กœ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์—์„œ ์•ž ๋’ค ๊ธ‰์—ฌ์™€ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜์‹œ์˜ค. JOIN ํ’€์ด ์•ž๋’ค ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ• ๊นŒ์š”? ๋ถ„์„ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 3๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ํ…Œ์ด๋ธ”์— ROWNUM ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ 3๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธ์‹œ์ผœ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 SELECT EMPNO ,ENAME ,PREV.SAL AS PREV ,CURR.SAL AS CURR ,NEXT.SAL AS NEXT FROM ( SELE.. 2020. 4. 4.
[Oracle] ๋ˆ„์  ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ, WINDOWING ํ–‰ ๊ธฐ์ค€ ๋ฒ”์œ„ ์—ฐ์‚ฐ :: ๋งˆ์ด์ž๋ชฝ ๋ˆ„์  ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ EMPํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์›์˜ ์ •๋ณด์™€ ๋ถ€์„œ๋ฒˆํ˜ธ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์„๋•Œ ๊ธ‰์—ฌ์˜ ๋ˆ„์ ํ•ฉ๊ณ„๋„ ๊ฐ™์ด ์ถœ๋ ฅํ•ด๋ผ. ORACLE SCOTT ๊ณ„์ •์œผ๋กœ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 1 2 3 4 5 6 7 8 9 10 SELECT DEPTNO ,EMPNO ,ENAME ,SAL ,SUM(SAL) OVER( ORDER BY DEPTNO ROWS UNBOUNDED PRECEDING ) AS SUM_SAL FROM EMP; 1 2 3 4 5 6 7 8 9 10 11 SELECT DEPTNO ,EMPNO ,ENAME ,SAL ,SUM(SAL) OVER( ORDER BY DEPTNO ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) AS SUM_SAL FROM EMP; ๋ˆ„์  ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด.. 2020. 4. 3.
[Oracle] redo.log ์„œ๋ฒ„ ๋‚ด๋ถ€์  Log Switch ์ž‘๋™ ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ Redo Log Buffer Update ์ฐธ์กฐ๊ธ€ [Oracle] SGA Redo Log Buffer ๋ฆฌ๋‘ ๋ฒ„ํผ ์‚ฌ์šฉ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ Redo Log Buffer ์ด์ „ ๊ธ€๋“ค์—์„œ๋Š” Shared Pool๊ณผ Database Buffer Cache์— ๋Œ€ํ•ด์„œ ํ•˜๋‚˜์˜ SELECT๋ฌธ์„ ํ†ตํ•ด ์–ด๋–ค ์›๋ฆฌ๋กœ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” UPDATE๋ฌธ์„ ๊ฐ–๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ Redo Log Bu.. myjamong.tistory.com redo.log ORACLE_BASE ์•„๋ž˜ oradata ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด๋ฉด redo.log ํŒŒ์ผ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ๋“ค์€ Recovery ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด Oracle์˜ Background Process์ธ LGWR(Log Writer)๊ฐ€ ์ˆ˜์‹œ๋กœ ์ž…๋ ฅํ•ด์ฃผ๊ณ  ์žˆ๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. Or.. 2020. 4. 2.
[Oracle] SGA Redo Log Buffer ๋ฆฌ๋‘ ๋ฒ„ํผ ์‚ฌ์šฉ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ Database Buffer Cache ์ฐธ์กฐ๊ธ€ [Oracle] SGA Database Buffer Cache DBC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„ํผ ์บ์‹œ ์‚ฌ์šฉ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ SGA Shared Pool ๊ด€๋ จ ๋งํฌ [Oracle] SGA Shared Pool ๊ณต์œ ํ’€ ์‚ฌ์šฉ ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ Shared Pool Library Cache : parsing๋œ ์ •๋ณด๋ฅผ ์ €์žฅ Data Dictionary Cache : Data Dictionary์˜ ์ •๋ณด๋ฅผ ์ €์žฅ --> Hard Parse.. myjamong.tistory.com Redo Log Buffer ์ด์ „ ๊ธ€๋“ค์—์„œ๋Š” Shared Pool๊ณผ Database Buffer Cache์— ๋Œ€ํ•ด์„œ ํ•˜๋‚˜์˜ SELECT๋ฌธ์„ ํ†ตํ•ด ์–ด๋–ค ์›๋ฆฌ๋กœ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” UP.. 2020. 4. 2.
[Oracle] LISTAGG ์ปฌ๋Ÿผ ๊ฒฐ๊ณผ ๋‚˜์—ดํ•˜๊ธฐ :: ๋งˆ์ด์ž๋ชฝ 1 2 3 4 5 SELECT DEPTNO ,ENAME FROM EMP ORDER BY DEPTNO; ORACLE SCOTT๊ณ„์ •์˜ EMPํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. RDB์— ์ต์ˆ™ํ•ด์ง€๋ฉด ์œ„์™€๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ˆˆ์— ์ž˜ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ผ๋ฐ˜ ๋ฌธ์„œ์—์„œ๋Š” ๊ฐ ๋ถ€์„œ๋ณ„๋กœ ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์ด ์žˆ๋Š”์ง€ ','๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋Š”๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ํŽธํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค. LISTAGG ํ•จ์ˆ˜ 1 2 3 4 5 SELECT DEPTNO ,LISTAGG(ENAME, ',') WITHIN GROUP(ORDER BY ENAME) AS EMPS FROM EMP GROUP BY DEPTNO; LISTAGGํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋กœ๋กœ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GROUP BYํ•œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด์„œ GROUP์•ˆ์˜ ์นผ๋Ÿผ์„ ๋‚˜์—ด์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MULTI INDEX ํ™•์ธ LI.. 2020. 4. 2.
[Oracle] SGA Database Buffer Cache DBC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„ํผ ์บ์‹œ ์‚ฌ์šฉ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ SGA Shared Pool ๊ด€๋ จ ๊ธ€ [Oracle] SGA Shared Pool ๊ณต์œ ํ’€ ์‚ฌ์šฉ ์›๋ฆฌ :: ๋งˆ์ด์ž๋ชฝ Shared Pool Library Cache : parsing๋œ ์ •๋ณด๋ฅผ ์ €์žฅ Data Dictionary Cache : Data Dictionary์˜ ์ •๋ณด๋ฅผ ์ €์žฅ --> Hard Parse ์ž‘์—…์„ ๋นจ๋ฆฌ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด Result Cache : ์‹คํ–‰๋œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ (11g new feature) --.. myjamong.tistory.com Database Buffer Cache ์ด์ „ ๊ธ€์—์„œ SGA ๊ตฌ์„ฑ์š”์†Œ Shared Pool์— Parse๋œ ๊ณต์œ  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Parse์— ์ด์–ด์„œ Select๋ฌธ ์š”์ฒญ์ด ๋“ค์–ด์™”์„ ๋•Œ Execute ๋‹จ๊ณ„๋ฅผ Database Buffer.. 2020. 4. 1.