[Day1] Oracle 1 [9/23]
μ€μ
colima start --memory 4 --arch x86_64
docker run -e ORACLE_PASSWORD=0513 -p 1521:1521 -d gvenzl/oracle-xe
docker ps : 컨ν μ΄λλͺ νμΈ
docker logs -f 컨ν
μ΄λλͺ
// λ‘κ·Έ νμΈ
μμ
colima start --memory 4 --arch x86_64
docker start 860dd6780dbe
μ’ λ£
colima stop
[ μ€λΌν΄ κ°μ ]
1. λ°μ΄ν°( data ) ***
γ±. μ¬λ£, μλ£, λ
Όκ±°λΌλ λ»μΈ "datum"μ 볡μνμ΄λ€.
γ΄. λμ μλ―Έμμ λ°μ΄ν°λ "μλ―Έμλ μ 보λ₯Ό κ°μ§ λͺ¨λ κ°, μ¬λμ΄λ μλκΈ°κΈ°κ° μμ± λλ
μ²λ¦¬νλ ννλ‘ νμλλ κ².
γ·. μ 보( information ) - μλ―Έλ₯Ό λΆμ¬ν κ°(κ²°κ³Ό)
2. λ°μ΄ν°λ² μ΄μ€( database == DB ) ***
γ±. Data( μλ£ ) + Base( μ μ₯μ )
γ΄. νμ¬ - μΈν°λ·, μ€λ§νΈν° 보κΈμΌλ‘ μμν μ μλ μμ²λ μμ λ°μ΄ν°κ° λ§€μΌ λ§λ€μ΄μ§λ€.
μ λ³΄κ° λ°μνλ©΄ μ΄λ₯Ό "κΈ°λ‘"+"κ΄λ¦¬" νμμ±μ΄ 컀μ§λ€.
γ·. ν¨κ³Όμ μΌλ‘ μΆμΆ, λΆλ₯, μ μ₯, μλ‘μ΄ μ 보 μ¬ μ¬μ©.
γΉ. 곡μ ν΄μ μ¬μ©λ λͺ©μ μΌλ‘ ν΅ν©κ΄λ¦¬λλ λ°μ΄ν°μ μ§ν©
3. DataBbase Management System == DBMS ( λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν
)
γ±. μννΈμ¨μ΄
γ΄. μ€λΌν΄(oracle) MySql MS SQL λ±λ±
γ·. [ Oracle 11g XE ] μ€μΉ
γΉ. μ€λΌν΄ λ²μ Όλ³ νΉμ§
μ λ―Έμ¬ i , g, c
Oracle 9i, 10[i] == Internet
Oracle 11[g] == Grid
Oracle 21[c] == cloud
γ
. μ€λΌν΄ Edition νΉμ§.
γ±. Oracle EE - μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ κΈ°λ₯μ μ¬μ©ν μ μλ μλμ
(λκΈ°μ
)
γ΄. Oracle SE - " + μΌλΆλ μ μΈ ( μ€μκΈ°μ
μ© μ λΉ)
γ·. Oracle SEO( One ) == SE λμΌ, CPU 1κ° μ¬μ© κ°λ₯
γΉ. Oracle XE - λ¬΄λ£ λ²μ
γ
. Oracle PE - κ°μΈμ© == EE
4. μ€λΌν΄ μ€μΉ ν μ£Όμ μ€λΌν΄ μλΉμ€ ***
γ±. OracleService + SID == OracleServiceXE
μ€λΌν΄μ κΈ°λ³Έ μλΉμ€μ΄λ©°, λ°λμ μ μΌ λ¨Όμ μμλμ΄μΌ νλ€.
γ΄. Oracle+SID+TNSListener == OracleXETNSListener
리μ€λ μλΉμ€, λ°λμ μμλμ΄μΌ νλ€.
리μ€λ ? ***
λ€νΈμν¬λ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈ( μ€λΌν΄μ μ¬μ©νλ μ¬μ©μ )μ
μ€λΌν΄ μλ²μμ μ°κ²°μ λ΄λΉνλ κ΄λ¦¬ νλ‘κ·Έλ¨μ΄λ€.
5. μλ², ν΄λΌμ΄μΈνΈ
μλ² : μλΉμ€λ₯Ό μ 곡νλ μͺ½
ν΄λΌμ΄μΈνΈ : μλΉμ€λ₯Ό μ 곡λ°λ μͺ½
ν΄λΌμ΄μΈνΈ λꡬ)
-- 6. μ€λΌν΄ ν΄λΌμ΄μΈνΈ λꡬ
-- 1) SQL*plus ν΄
-- 2) Toad ( ν λ ) = κ°μ₯ λ§μ΄ μ¬μ©λλ ν΄ μ€μ νλμ΄λ€. μ λ£λΌμ X
-- 3) Orange( μ€λ μ§ ) = κ΅μ° μ ν ( ν λ λΉμ· ) X
-- 4) SQL Developer = μ€λΌν΄ μ¬ μ 곡 O
* ctrl enter : μ€ν (λ¨μΆν€)
* option + cmd + / : μ£Όμ
7. μ£Όμμ²λ¦¬ -- 3:05 μμ
μμ~
-------------------------------------------------------------------------------
μν: μ€ν¨ -ν
μ€νΈ μ€ν¨: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
(CONNECTION_ID=sGg+vQrzTlWSlkQStGSx9w==)
-------------------------------------------------------------------------------
8. ν
μ΄λΈμ€νμ΄μ€ ( table + space ) ***
- λ°μ΄ν° μ μ₯ + μ¬μ©
- λ°μ΄ν° μ μ₯ λ¨μ μ€ κ°μ₯ μμ κ°λ
μ΄ "ν
μ΄λΈμ€νμ΄μ€"μ΄λ€.
- λ°μ΄ν° μ μ₯ λ¨μ
1) 물리μ λ¨μ - νμΌ
2) λ
Όλ¦¬μ λ¨μ - ν¬κΈ° μμΌλ‘
"ν
μ΄λΈμ€νμ΄μ€ > μΈκ·Έλ¨ΌνΈ > μ΅μ€ν
νΈ > λ°μ΄ν° λΈλ‘"
8-2. ν
μ΄λΈμ€νμ΄μ€ μμ± X
9. λ°μ΄ν° λͺ¨λΈ ? μ»΄ν¨ν°μ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°©μμ μ μν΄ λμ κ°λ
λͺ¨λΈ ***
9-2. λ°μ΄ν° λͺ¨λΈ μ’
λ₯
- κ³μΈ΅ν, λ€νΈμν¬ν, [κ΄κ³ν], κ°μ²΄ μ§ν₯μ λ°μ΄ν° λͺ¨λΈ λ±λ±
κ΄κ³ν λ°μ΄ν° λͺ¨λΈ ***
9-3. R + DBMS ***
κ΄κ³ν
- λ°μ΄ν° κ°μ κ΄κ³μ μ΄μ μ λ λͺ¨λΈ
- λ°μ΄ν° μ μ₯μ(ν
μ΄λΈ)κ³Ό ν
μ΄λΈ κ° κ΄κ³μ μ΄μ μ λ λͺ¨λΈ
9-4. κ΄κ³ν λ°μ΄ν° λͺ¨λΈμ ν΅μ¬ κ΅¬μ± μμ ***
1) κ°μ²΄( entity ) - λ°μ΄ν°λ₯Ό μ μ₯νλ κ°μ₯ μμ λ¨μ == RDBMS ν
μ΄λΈ(table) == 릴λ μ΄μ
(relation)
2) μμ±( attribute ) - κ°μ²΄μ νΉμ§,μ’
λ₯,μν == μ΄(column)
3) κ΄κ³( relationship ) - κ°μ²΄μ κ°μ²΄ κ°μ μ°κ΄μ±
γ±) λΆμν
μ΄λΈ - λΆμλͺ
,λΆμμ₯,λΆμμ νλ²νΈ ( μ»¬λΌ ) λ±λ±
μμ κ΄κ³
γ΄) μ¬μν
μ΄λΈ - μ¬μλ²νΈ, μ¬μλͺ
, μ°λ½μ², μ§κΈ ( μ»¬λΌ ) λ±λ±
10. DBA = DB(DataBase) + A( Adminstrator ) == λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μ ***
μ€λΌν΄ μ€μΉ ν λ κ³μ 2κ° μμ± + λΉλ°λ²νΈ λΆμ¬
SYS > SYSTEM ss123$
λͺ¨λ κΆν λͺ¨λ κΆν( DB μμ± X )
11. SID( μμ€ν
μλ³μ ) == μ μ λ°μ΄ν°λ² μ΄μ€ μ΄λ¦ == XE ***
12. μ€λΌν΄ μμ
1) μ€λΌν΄ κ΄λ ¨ λͺ¨λ μλΉμ€ μ€μ§
services.msc
2) deinstall, unistall λ©λ΄ ν΄λ¦
νλ‘κ·Έλ¨ μΆκ° λ° μμ - oracle κ²μν μ€μΉλ νμΌ "μ κ±°"
3) ν΄λ μμ X
4) λ μ§μ€ν°λ¦¬ νΈμ§κΈ° : 4κ΅°λ° μμ
13. κ΄λ¦¬μ( SYS ) μ μ νμΈ , λͺ¨λ μ¬μ©μ κ³μ νμΈ
select *
from all_users;
show user;
> USER is "SYSTEM"
[μ€λΌν΄ μλ²] <----------------SQL----------------- ν΄λΌμ΄μΈνΈλꡬ( μ§μ / μλ΅)
DQL
DDL
DCL
TCL
DML
κ³μ μμ±
14. SQL ? ***
1) Structured Query Language(SQL)
ꡬ쑰νλ μ§μ μΈμ΄
2) λ°μ΄ν°λ² μ΄μ€ μμ±,μμ
ν
μ΄λΈ : λ°μ΄ν° μΆκ°, μμ , μμ λ±λ±
3) SEQUEL( μν )
4) SQL μ£Όμ κΈ°λ₯
γ±. data μ μ
γ΄. data κ²μ
γ·. data μ‘°μ
γΉ. μ κ·Ό μ μ΄
γ
. data 곡μ
λ±λ±
5) SQLμ κΈ°λ³Έ ν
μ΄λΈ(table)μ λμμΌλ‘ μνλλ€.
6) κΈ°λ³Έν
μ΄λΈ, λ·°( View )
4:01 μμ
μμ~
7) SQL μ’
λ₯ 5κ°μ§ *** ( μκΈ° )
γ±. λ°μ΄ν° κ²μ(μ‘°ν) DQL : select λ¬Έ
γ΄. λ°μ΄ν° μ μ DDL : create, alter, drop λ¬Έ
ν
μ΄λΈ μμ± κ΅¬λ¬Έ
γ·. λ°μ΄ν° μ‘°μ DML : insert, update, delete, rename, truncate λ¬Έ
γΉ. κΆν λΆμ¬,μ κ±° DCL : grant, revoke λ¬Έ
γ
. νΈλμμ
μ²λ¦¬ TCL : commit, rollback, save pointλ¬Έ
15. μ¬μ©μ κ³μ μμ± - DDL( create λ¬Έ ) μ¬μ©
- λ°μ΄ν° μ μ DDLλ¬Έ
- CREATE USER λ¬Έ μ¬μ©
- CREATE USER μμ€ν
κΆν μμ΄μΌ λλ€.
// SYS : λͺ¨λ κΆν κ΄λ¦¬μ κ³μ
- νμ
CREATE USER κ³μ λͺ
IDENTIFIED BY λΉλ°λ²νΈ + νμν κ²½μ°μΆκ° μ΅μ
;
μ΅μ μ€λͺ
1) ν μ΄λΈμ€νμ΄μ€ ν¬κΈ°
2) μμ μ μ₯곡κ°
3) -
4) -
5) λΉλ°λ²νΈ λ§κΈ°μΌμ
6) κ³μ μ κΈκ±΄μ§ ν건μ§
CREATE USER scott IDENTIFIED BY tiger ;
κ²°κ³Ό : User SCOTT created.
EXTERNALLY [AS 'certificate']
GLOBALLY [AS '[directory_DN]'
-- (λ¬Έμ ) SCOTT κ³μ μΌλ‘ μ μ
μν: μ€ν¨ -ν
μ€νΈ μ€ν¨: ORA-01045: user SCOTT lacks CREATE SESSION privilege; logon denied
-- κ³μ λ§ μμ±νλ€κ³ λ‘κ·ΈμΈ ν μ λ μλ€ . μ ? λ‘κ·ΈμΈ ν κΆν( CREATE SESSION) μ κ°μ§κ³ μμ΄μΌ
-- νλ€.
-- κΆν λΆμ¬
-- κΆνμ κ°μ§ κ³μ μμ κΆν λΆμ¬ν μ μλ€.
-- SYS -> SCOTT CREATE SESSION κΆν λΆμ¬νλ©΄ λλ€.
-- Ora_Help "grant" κ²μ
-- 2κ°μ§ κΆν
1) μμ€ν
κΆν( SYSTEM Privilege ) : [DB κ°μ²΄]λ₯Ό μμ±, μμ , μμ κΆν
2) κ°μ²΄ κΆν ( OBJECT Privilege ) : κ°μ²΄ λ΄μ©μ μ‘°μ( μΆκ°,μμ ,μμ , κ²μ) κΆν
νμ
GRANT {grant_system_privilege ¦ grant_object_privilege};
γgrant_system_privilege νμγ
{system_privilege ¦ role ¦ ALL PRIVILEGES},...
TO geant_clause [WITH ADMIN OPTION]
γgrant_object_privilege νμγ
{{object_privilege ¦
{ALL [PRIVILEGES]} [(column,...)]},... on_object_clause
TO grant_clause [WITH HIERARCHY OPTION] [WITH GRANT OPTION]
γon_object_clause νμγ
ON {schema.object ¦
{DIRECTORY directory_name ¦
JAVA {SOURCE ¦ RESOURCE} [schema.] object
}
γgrant_clause νμγ
{user [IDENTIFIED BY password ¦
role ¦
PUBLIC},...
;
GRANT CREATE SESSION TO scott;
-- Grantμ(λ₯Ό) μ±κ³΅νμ΅λλ€.
-- SELECT λ¬Έ ( DQL ) λ°μ΄ν° κ²μ( μ‘°ν )
SELECT *
FROM tabs;
-- μ‘°νν κ²°κ³Όκ° μλ€λΌκ³ μλ΅λ°μλ€.
-- λ°μ΄ν° μ μ₯, μμ ,μμ λ±λ± SQL μ°μ΅
-- SQL μ€ν λμ : table == κ°μ²΄ == 릴λ μ΄μ
-- column == attribute = μμ± ==
μ΅κ·ΌλκΈ