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. ์ด์ 1 ๋ค์