ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQL] DBMS ์•„ํ‚คํ…์ฒ˜ - Server Process
    Computer Science/DB 2023. 4. 5. 21:49
    728x90

    ๐Ÿ‘€ ์œ ์šฉํ•œ ์ •๋ณด

    ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ…Œ์ด๋ธ” ๋ชฉ๋ก ๋ณด๊ธฐ

    SELECT * FROM TAB;

    ๐Ÿ’ก
    Cf)

    Object ํ‘œ๊ธฐ : [Schema.]object Name ex) Scott.EMP โ†’ scott ์†Œ์œ ์˜ EMP ํ…Œ์ด๋ธ” (์ž๋™์œผ๋กœ ์„ธ์…˜ ์ •๋ณด๋ฅผ ๋ณด๊ณ  ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ๋žตํ•ด๋„ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋˜์–ด์žˆ๋‹ค.) Column ํ‘œ๊ธฐ : [Table_Name.]Column_Name ex) EMP.EMPNO โ†’ Schema ๋ช…, Table ๋ช… ์ƒ๋žต ๊ฐ€๋Šฅ!

    ๐Ÿ’ก
    DBA๋Š” Schema.Table๋ช…์„ ํ†ตํ•ด ๋ชจ๋“  ๊ณ„์ •์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. โ†’ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ์ค‘์š”

    ๐Ÿ’กํ”ผ๋“œ๋ฐฑ Tip

    ๊ทธ๋ฃนํ–‰ ํ•จ์ˆ˜ ํ‰๊ท  ๊ตฌํ•˜๊ธฐ ๋น„๊ต

    • AVG(COMM)

      1) SUM(COMM) / COUNT(*)

      2) SUM(COMM) / COUNT(COMM)

    โ†’ ์‹ค์ œ ํ‰๊ท  ๊ฒฐ๊ณผ๋Š” 2)์™€ ๊ฐ™๋‹ค. โ†’ AVG(COMM)์€ NULL์„ ๋ฌด์‹œํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, COMM์„ ๋ฐ›์€ ์ง์›๋“ค๋งŒ์˜ ํ‰๊ท ์ด ๊ณ„์‚ฐ์ด ๋˜์—ˆ๋‹ค.

    ๐Ÿ’ก
    ์ฆ‰, ๊ทธ๋ฃนํ–‰ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•ญ์ƒ NULL์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์—ผ๋‘์— ๋‘์ž

    Parameter Scope

    • Instance Level - DBMS ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ๋‚ด ์ „์ฒด ์˜ํ–ฅ์„ ๋ผ์นจ
    • Session Level - Connection์„ ๋งบ์€ ํ•ด๋‹น Client Session ๋‚ด์— ์˜ํ–ฅ์„ ๋ผ์นจ
    • SQL Statement Level - SQL ๋ฌธ์žฅ ํ•˜๋‚˜์—๋งŒ ์˜ํ–ฅ์„ ๋ผ์นจ
    ๐Ÿ’ก
    ํด๋ผ์ด์–ธํŠธ๋Š” DBMS Instance์— Connection์„ ๋งบ์Œ Instance๋‚ด ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ Client ๋ณ„ Session์ด ์กด์žฌํ•œ๋‹ค. ํ•˜๋‚˜์˜ ์„ธ์…˜ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ SQL๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. โ†’ ํ•˜๋‚˜์˜ ์„ธ์…˜์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ SQL Statement๋ฅผ ๊ฐ€์ง„๋‹ค.
    ๐Ÿ’ก
    Instance Level์€ DBA๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. - DBA : ALTER SYSTEM ~ ์„ ํ†ตํ•œ Instance Level ๋ณ€๊ฒฝ - ๊ฐœ๋ฐœ์ž : ALTER SESSION ~ ์„ ํ†ตํ•œ Session Level ๋ณ€๊ฒฝ
    ๐Ÿ’ก
    ์ ์šฉ ๋ฒ”์œ„ : Instance Level > Session Level > SQL Statement Level ์šฐ์„  ์ˆœ์œ„ : SQL Statement Level > Session Level > Instance Level


    ๐Ÿ“˜ DBMS ์•„ํ‚คํ…์ฒ˜ - Server Process

    DBMS ์„œ๋ฒ„์— ์—ฐ๊ด€๋œ 3๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค

    1. ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค (User Process)

    : SQL*Plus , SQL Developer , Application (DBMS์„œ๋ฒ„์— SQL์„ ๋ณด๋‚ด๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ)

    2. ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค (Server Process)

    : ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค

    • Dedicated Server , Shared Server

    3. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค (Background Process)

    : SMON , PMON, DBWR, LGWR ๋“ฑ

    ๐Ÿ’ก
    User Process ํ•˜๋‚˜ ๋‹น ํ•˜๋‚˜์˜ Server Process๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ํ•ด๋‹น ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.

    Connection ๊ณผ์ •

    Listener : ์‚ฌ์šฉ์ž์˜ Connection Request๋ฅผ ๊ธฐ๋‹ค๋ฆผ

    ๐Ÿ’ก
    โ‘  ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค(ex SQL Developer)๊ฐ€ ๋ฆฌ์Šค๋„ˆ(Listener)์—๊ฒŒ ์‹ ๊ทœ ์ ‘์†(Connection) ์š”์ฒญ ๋ฆฌ์Šค๋„ˆ: DBMS ์„œ๋ฒ„๋‚ด์—์„œ ์‚ฌ์šฉ์ž์˜ ์‹ ๊ทœ์ ‘์† ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค (default listening port :1521 )

    โ‘ก ๋ฆฌ์Šค๋„ˆ๋Š” ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑ(fork) ํ•˜๊ณ  ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(PGA : Program Global Area) ํ• ๋‹น

    • OS ๊ด€์ ์—์„œ ๋นˆ๋ฒˆํ•œ ์‹ ๊ทœ Connection์˜ ๋ฌธ์ œ์ ? , Connection Pool์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์€?

    โ‘ข ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

    โ‘ฃ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค์™€ ์ง์ ‘ ์ปค๋„ฅ์…˜ ํ˜•์„ฑ(์ƒ์„ฑ).

    • ์—ฐ๊ฒฐ ํ†ต๋กœ์ธ ์ปค๋„ฅ์…˜(Connection)์ด ํ˜•์„ฑ๋˜๊ณ  DBMS ์„œ๋ฒ„๋‚ด์—๋Š” ์ปค๋„ฅ์…˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์„œ๋น„์Šค ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์ฒด์ธ ์„ธ์…˜(Session)์ด PGA๋‚ด์— ํ• ๋‹น

    • Client: Points to cursor โ†’ Private SQL Area
    • Dedicated Server vs Shared Server
    • 1000๊ฐœ์˜ Connection ์œ ์ง€์‹œ ? OS Context switch
    • ์ดˆ๋‹น 5ํšŒ์˜ ์‹ ๊ทœ Connection ๋ฐœ์ƒ์‹œ ?

    Process์˜ ๋ฉ”๋ชจ๋ฆฌ



    Uploaded by N2T

    728x90
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Keydi's Tistory