μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μ±
- ComputerScience
- Kλ°°ν°λ¦¬λ 볼루μ
- λ°μ΄ν°λ² μ΄μ€
- κ°λ°
- λ°μν
- css
- μν
- μλ°
- κΉνλ¨
- μΉνΌλΈλ¦¬μ±
- μ₯νΈμμ€
- μ€λΌν΄
- νλ‘κ·Έλλ°
- λ μ
- μ»΄ν¨ν°κ³Όν
- κΉλ―Έκ²½
- Kλ°°ν°λ¦¬
- html
- λΌνλΌμ€μλ§λ
- Java
- λ§μΌλ΄κ°μΈμμλ€μμ°λ€λ©΄
- database
- μλ°μ€ν¬λ¦½νΈ
- κΉλ―Έκ²½μλ§νμμ
- μΉνμ΄μ§λ§λ€κΈ°
- μ½λ©
- νμ΄μ¬
- JavaScript
- Python
- Today
- Total
JiYoung Dev π₯
[Oracle Database] TCL, DCL (2023.03.27) λ³Έλ¬Έ
π TCL (Transaction Control Language)
νΈλμμ μ μ μ΄νλ€
νΈλμμ : μ΄λ€ μ 무λ₯Ό μννκΈ° μν μΌλ ¨μ λ¨κ³
νΈλμμ νΉμ§
1. μμμ±(atomicity) : νΈλμμ μ΄ λͺ¨λ μλ£λκ±°λ νλλΌλ μ€ν¨μ λͺ¨λ μμ볡ꡬ λμ΄μΌ ν¨ (all or nothing)
2. μΌκ΄μ±(consistency) : νμ μΌκ΄μ μΈ ννλ₯Ό κ°μ ΈμΌ ν¨. νΈλμμ μ€ν μ μ΄ μ μμ΄λΌλ©΄ μ€ν νμλ μ μμ΄μ΄μΌ ν¨
3. κ³ λ¦½μ±(isolation) : νΈλμμ μ μλ‘ κ°μνλ©΄ μλ¨
4. μμμ±/μ§μμ± (durability) : μꡬ μ μ₯μ νμΌλ©΄ λ°λμ λ°μλμ΄μΌ ν¨. commitμ νμΌλ©΄ λ°μ΄ν°λ λ°λμ μꡬ μ μ₯ λμ΄ μμ΄μΌ ν¨
π μ’ λ₯
COMMIT
ROLLBACK
SAVEPOINT
π COMMIT
νΈλμμ μ΄ λͺ¨λ μ μ μ²λ¦¬λλ©΄ λ³κ²½λ λ°μ΄ν°λ₯Ό μꡬ λ°μνκΈ° μν΄ COMMIT
λ§μ§λ§ COMMIT μμ μ΄ν μ€νν νΈλμμ κ²°κ³Όλ₯Ό λ°μ΄ν°λ² μ΄μ€μ μꡬ μ μ₯
π ROLLBACK
νΈλμμ λμ€μ μλ¬κ° λ°μνλ©΄?
COMMIT λΆκ°
νΈλμμ λμ€μ νλλΌλ μ€λ₯κ° μκΈ°λ©΄ μ΄μ μ νλ λͺ¨λ νλμ΄ ROLLBACK → μμμ±
μ΄μ μ μ€ννλ νΈλμμ λ λͺ¨λ ROLLBACK
ROLLBACKμ νΉμ μ§μ κΉμ§λ§ μμ 볡ꡬλ₯Ό νλλ‘ μ‘°μ ν΄μ£Όλ λ¬Έλ²
λ§μ§λ§μΌλ‘ COMMITν μμ κΉμ§λ§ ROLLBACK κ°λ₯
-- μ€λΌν΄μμλ
DML(λ°μ΄ν°μ‘°μμ΄) : INSERT, UPDATE, DELETE
→ μ§μ COMMITμ ν΄μ€μΌ μꡬ λ°μμ΄ λ¨
DDL(λ°μ΄ν°μ μμ΄) : CREATE, ALTER, DROP, TRUCATE
→ μ€νν λλ§λ€ μλμΌλ‘ μμμ COMMITμ΄ λ¨
1.
INSERT ...
CREATE ...
νκ² λλ©΄ μλμΌλ‘ COMMITμ΄ λ¨
2.
INSERT INTO...
COMMIT ; -- λ§μ§λ§ μ»€λ° μμ
INSERT INTO ...
DELETE ...
UPDATE .....
ROLLBACK ; λ‘€λ°±μ λ§μ§λ§ μ»€λ° μμ κΉμ§ λλμκ°
π SAVEPOINT
νΉμ μ§μ κΉμ§λ§ μμ 볡ꡬλ₯Ό νλλ‘ μ‘°μ ν΄μ£Όλ λ¬Έλ²
π LOCK
λ μ΄μμ μΈμ μ΄ λκ°μ νμ μ‘°μνλ €κ³ ν λ μΆ©λνλ νμ
νΈλμμ μ νΉμ§μΈ κ³ λ¦½μ±κ³Ό μ°κ΄λ¨
π DCL(Data Control Language)
κ°μ²΄μ κΆνμ λΆμ¬νλ€
π μ’ λ₯
GRANT
REVOKE
ROLE
λ°μ΄ν°λ² μ΄μ€λ κΆνμ λΆμ¬/νμ νλ©΄μ κ°μ²΄λ₯Ό λ³΄νΈ → DBAκ° μ¬μ© (μΌλ° κ°λ°μλ μ μ¬μ©νμ§ μμ)
SQL COMMAND LINEμμ κ³μ μμ± (SYSTEM κ΄λ¦¬μ κ³μ μΌλ‘ μ μ)
μ¬μ©μλ λ§λ€μλλ° λ°μ΄ν°λ² μ΄μ€μ μ μν κΆνμ μ£Όμ§ μμ → ν μ€νΈ μ€ν¨
π GRANT
κΆνμ λΆμ¬ν λ μ¬μ©νλ λ¬Έλ²
GRANT λΆμ¬ν κΆν [ ON λμκ°μ²΄ ] TO λΆμ¬λ°μκ³μ [ WITH GRANT OPTION | WITH ADMIN OPTION ]
κΆν λΆμ¬ ν λ°μ΄ν°λ² μ΄μ€ μ μ μ±κ³΅
π ROLL
μ¬λ¬ κΆνμ νλ²μ λΆμ¬ν μ μμ
CONNECT, RESOURCE
CONNECT | RESOURCE |
ALTER SESSION | CREATE CLUSTER |
CREATE SESSION | CREATE PROCEDURE |
CREATE SYNONYM | CREATE TABLE |
CREATE TABLE | CREATE TREIGGER |
CREATE VIEW | CREATE ... |
DCL TEST κ³μ μκ² SERVICE κ³μ μ΄ κ°μ§κ³ μλ μ§μ ν μ΄λΈμ μ‘°νν κΆνμ λΆμ¬
μμ κΆν λΆμ¬ μνμ λ
π REVOKE
κΆν νμ
REVOKE νμν κΆν [ ON νμν κ°μ²΄ ] FROM νμλΉν κ³μ
μ‘°ν
SELECT -- DMLμ ν¬ν¨μν€κΈ°λ ν¨
DML(Data Manupulation Language)
INSERT
UPDATE
DELETE
MERGE
DDL(Data Definition Language)
CREATE
ALTER
DROP
TRUNCATE
RENAME
TCL(Transaction Control Language) -- DCLμ ν¬ν¨μν€κΈ°λ ν¨
COMMIT
ROLLBACK
SAVEPOINT
DCL(Data Control Language)
GRANT
REVOKE
ROLE
β κΆνλΆμ¬ μ€μ΅
1. SQL COMMAND LINEμ μ΄μ΄ SYSTEM κ΄λ¦¬μ κ³μ μΌλ‘ μ μ
SYSTEM κ³μ : μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ€μΉν λ μμ±ν κ³μ
(DISC : μ°κ²° ν΄μ )
CONN SYSTEM/12345;
2. HACKER κ³μ μμ±
CREATE USER HACKER IDENTIFIED BY 12345 ;
3. κΆνλΆμ¬
(1) λ°μ΄ν°λ² μ΄μ€ μ μμ΄ κ°λ₯νλλ‘ CREATE SESSION λΆμ¬
β» μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€ μΈμ μ λ°μ΄ν°λ² μ΄μ€ μ μμ μμμΌλ‘, μ¬λ¬ μμ μ μνν ν μ μ μ’ λ£κΉμ§μ μ 체 κΈ°κ°μ μλ―Έν¨. μΈμ λ΄λΆμλ νλ μ΄μμ νΈλμμ μ΄ μ‘΄μ¬ν¨. μΌλ°μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€λ μ¬λ¬ κ³³μμ λμμ μ κ·Όνμ¬ μλ§μ μΈμ μ΄ λμμ μ°κ²°λμ΄ μμ
GRANT CREATE SESSION TO HACKER ;
(2) μ¬λ¬ κΆνμ νλ²μ μ²λ¦¬ν μ μκ² CONNECTμ RESOURCE ROLE λΆμ¬
GRANT CONNECT, RESOURCE TO HACKER ;
(3) SERVICE κ³μ μ μ§μ ν μ΄λΈμ μ‘°ν, μμ ν μ μκ² SELECT, UPDATE κΆν λΆμ¬
GRANT SELECT, UPDATE ON SERVICE.μ§μ TO HACKER ;
(4) HACKER κ³μ μΌλ‘λΆν° SERVICE κ³μ μ μ§μ ν μ΄λΈμ λν UPDATE, SELECT κΆν μ κ±°
REVOKE SELECT, UPDATE ON SERVICE.μ§μ FROM HACKER ;
'full stack > database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[database κ³ κΈ] EXISTS (2023.08.07) (0) | 2023.08.07 |
---|---|
[Oracle Database] ROWNUM, TOP-N, νμ΄μ§ κΈ°μ , μλΈμΏΌλ¦¬ (2023.03.28~29) (0) | 2023.03.28 |
[Oracle Database] DDL - DROP, μνμ€μ λ·° (2023.03.27) (0) | 2023.03.27 |
[Oracle Database] λΆμ μ°μ°, NULL, IN, BETWEEN, LIKE (2023.03.21) (0) | 2023.03.24 |
[Oracle Database] DDL - CREATE, ALTER (2023.03.24) (0) | 2023.03.24 |