๐ป/DB5 [DB] ๋กํน(Locking) ๋จ์ , ๋กํน๊ณผ ๋ณํ์ฑ, DB ๋กํน ๊ธฐ๋ฒ ๋กํน ๋จ์๋?๋กํน(locking) ๋จ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ง๊ทธ๋๋ก ‘์ ๊ทธ๋ ๋จ์’๋ฅผ ๋ํ๋ธ๋ค. ๋กํน ๊ธฐ๋ฒ์ด๋ ํ๋์ ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ๋ฅผ ์์ธ์คํ๋ ๋์, ๋ค๋ฅธ ํธ๋์ญ์ ์ด ํด๋น ๋ฐ์ดํฐ ํญ๋ชฉ์ ์์ธ์ค ํ ์ ์๋๋ก ํ๋ ๋ณํ ์ ์ด ๊ธฐ๋ฒ์ด๋ค. ‘๋์์ฑ ์ ์ด ๊ธฐ๋ฒ’ ์ด๋ผ๊ณ ๋ ํ๋ค.์ฌ๊ธฐ์์ ๋ก(lock)์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋จ์๋ผ๊ณ ๋ณผ ์ ์๋ค.๋ง์น ์ด์์ฒด์ ์ ์ค๋ ๋ ์ค์ผ์ค๋ง์ฒ๋ผ, ํ ๋ฒ์ ํ๋๋ง ์ฌ์ฉํ๋๋ก ํ๋ ๋จ์๋ฅผ ‘๋กํน ๋จ์’๋ผ๊ณ ํ๋ค.์ค์ง์ ์ธ ์์๋ฅผ ๋ค์ด๋ณด์๋ฉด,ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ํ์๊ณผ DB๋ฅผ ๊ด๋ฆฌํด์ผํ๋ ์ผ์ ๋น๋ฒํ๋ค. ๋ง์ฝ ๋ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์์ ํ๋ ๋์ ๋ค๋ฅธ ํ์๋ ๋์์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฑด๋ค๊ฒ ๋ ๊ฒฝ์ฐ, ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. โ๏ธ์ด ๊ฒฝ์ฐ, ๋กํน.. 2025. 2. 26. [DB/OracleDB] Oracle DB ์ญ์ ํ ๋ฐ์ดํฐ ๋ณต๊ตฌํ๊ธฐ (TIMESTAMP) ํ๋ก์ ํธ ์งํ ์ค1.์ค๋ณต๋ ์ํ์ด ๋ฉ์ธํ๋ฉด์ ๋จ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ DB ์ ๋ฆฌ๋ฅผ ๋งก๊ฒ๋์๊ณ , ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก ํด๋น ํ ์ด๋ธ์ ์๋ ๋ฐ์ดํฐ๋ค์ ์ ๋ฆฌ์์ํจ.2. 'ORA-02292: ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ด ์๋ฐฐ๋์์ต๋๋ค- ์์ ๋ ์ฝ๋๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค.' ๋ผ๋ ์ค๋ฅ๊ฐ ๋จ๋ฉฐ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋์ง ์์. (ํด๋นํ ์ด๋ธ์ ์ฌ๋ฌ ์์ํ ์ด๋ธ์ด ์ฐธ์กฐํ๊ณ ์์๊ธฐ ๋๋ฌธ์ด๋ค..)3. ๊ทธ๋์ ์ฟผ๋ฆฌ๋ฌธ์ ํตํด ์ฌ๋ฌ ํ ์ด๋ธ์ ์ด๊ฒ์ ๊ฒ ์ญ์ ๋ฅผ ํ๋ค๊ฐ , ์ ํ ์๊ด์๋ ์์์ ์ฉ(?)๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๋์ค์๋ฅผ ์ ์ง๋ฆ... (์ด์ ํด๋น ํ ์ด๋ธ๋ก๋ถํฐ ์๋ํ๋ ๋ชจ๋ ๋์์ ์ค๋ฅ๋ฐ์... ใ ) ์ฐพ์๋ณด๋ ์ญ์ ํ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ๊ธฐ์ค์ผ๋กํด์ ํด๋น ํ ์ด๋ธ์ ๋ณต๊ตฌํ๋ ๋ฐฉ์์ด ์์๋ค! ๋ฐ์ดํฐ๋ฅผ ์ค์๋ก ์ญ์ (DELETE) ํ๋ค๋ฉด, TIMESTAMP.. 2025. 1. 23. [DB] MyBatis vs. JPA ๋ฐฑ์๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์๋ ๊ฐ์ฅ ํํ๊ฒ MyBatis์ JPA๊ฐ ์๋ค. MyBatis์ JPA์ ์ฐจ์ด์ ๋ํด ์ ๋ฆฌํด๋ณด์! 1. DB์ ์ฐ๋ํ๊ธฐ ์ํ ๊ธฐ์ DB์ ์ฐ๋ํ๊ธฐ ์ํ ๊ธฐ์ ์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค. (ํ๋ ์์ํฌ) 1) SQL Mapper 2) ORM (Object Relational Mapping) SQL Mapper: ๊ฐ๋ฐ์๊ฐ ์์ฑํ SQL ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ฒด์ ๋งคํํจ.ORM (Object Relational Mapping): ๊ฐ์ฒด, DB๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํํ๋ค -> ๋ ๊ธฐ์ ์ DB์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ ๊ณตํต์ ์ ๊ฐ์ง์ง๋ง, ์๋ก ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ์ง๋ค. 2. MyBatis vs. JPA MyBatis ๋ SQL Mapper ๊ธฐ์ ์ ์ ๊ณตํ๋ฉฐ,JPA๋ ORM .. 2024. 10. 16. [DB/OracleDB] SQL๋ฌธ ์กฐํ, ํจ์ ์ ๋ฆฌ SELECT *FROM EMPLOYEE;--๋ชจ๋ ํ ํ(WHERE ์ดํ ์กฐ๊ฑด์ด ์์ผ๋ฏ๋ก) ๊ณผ ๋ชจ๋ ์ปฌ๋ผ์กฐํ · ๋ ผ๋ฆฌ์ฐ์ฐ์ AND, OR ๋ ' &&์ || ' ๊ฐ ์๋ AND, OR๋ก ์ฌ์ฉํ๋ค.-- ๋ถ์์ฝ๋๊ฐ 'D6'์ด๋ฉด์, ์ด๋ฆ์ด '์ ์ฌ์'์ธ ์ฌ์์ ๋ชจ๋ ์ ๋ณด ์กฐํSELECT *FROM EMPLOYEEWHERE DEPT_CODE = 'D6' AND EMP_NAME = '์ ์ฌ์'; · ์ฌ๋ฌ ์ปฌ๋ผ์ ๊ฒฐ๊ณผ๋ ๊ฐ์ 'ํ๋์ ์ปฌ๋ผ'์ผ๋ก ๋ฌถ์๋ ' || ' ์ฌ์ฉํ๋ค.SELECT EMP_ID || EMP_NAME || '์ฌ์' FROM EMPLOYEE; · ๋น๊ต์ฐ์ฐ์ ์ค '๊ฐ์ง์๋ค' : != , ^=, · LIKE ์ฐ์ฐ์: ์ ๋ ฅํ ์ซ์, ๋ฌธ์๊ฐ ํฌํจ๋ ์ ๋ณด๋ฅผ ์กฐํํ ๋ ์ฌ์ฉํ๋ ์ฐ์ฐ์ 1) '_' : .. 2024. 9. 9. [DB/OracleDB] Oracle Cloud , DBeaver ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ๊ธฐ Oracle Cloud 1. 2. ์์จ ์ด์ํธ๋ ์์ ์ฒ๋ฆฌ (ATP) ์ฌ์ฉ ์์จ ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Autonomous Database): ๊ธฐ์กด์ DBA๊ฐ ์ํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณด์, ๋ฐฑ์ , ์ ๋ฐ์ดํธ ๋ฐ ๊ธฐํ ์ ๋ฌด๋ฅผ ์๋ํํ๋ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. 3.๊ธฐ์กด์ ์์ฑํด๋ Multi0729 ๋ผ๋ ์ด๋ฆ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ณด์ธ๋ค. ํด๋ฆญํด์ ๋ค์ด๊ฐ์ 4. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ > SQL ํด๋ฆญ 5.๋ช ๋ น์ด๋ฅผ ํตํด ์ ์ ์์ฑ, ๊ถํ๋ถ์ฌ, ์ ์ ์ญ์ ๋ฑ์ด ๊ฐ๋ฅํ๋ค. DBeaver ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ํค๊ธฐ์ ์์ง๊ฐ์ด์ฉTNS ์ด๋ฆ ๋์ค์ DBeaver์ ์ ๋ ฅํ๋ ์ฝ๋์ ๋ฃ์ด์ค์ผ๋จ.. -DBeaver +๋ด์ฉ์ถ๊ฐํ ์์ 2024. 9. 8. ์ด์ 1 ๋ค์