본문 바로가기

Oracle

Fixed area

sga영역에서 Fixed area 에 대해서 간단히 말씀드리겠습니다.

Fixed area는 수천개의 아주 작은 변수와 latch나 SGA내 다른 area로의 pointer와
같은 작은 data structure를 포함하고 있습니다. 이러한 variable들은 X$KSMFSV 에
모두 기록되어 있는데 이 테이블은 각 variable의 data type, size, memory address
에 대한 정보를 가지고 있습니다. 아래 예.
보통 SGA variable name은 암호화되어 있거나 알 필요도 거의 없지만, 고도의
Oracle 기술자들은 X$KSMFSV와 X$KSMMEM을 join함으로써 이러한 variable들의
값을 monitor하고 그들이 point하는 data structure를 살필 수도 있습니다.
X$KSMMEM 테이블은 SGA내의 모든 memory address에 대한 한 row씩을 가지고
있고, memory location의 내용을 표현하는 하나의 non-key column을 가지고 있습니다.

Example The Redo Allocation Latch as Seen from X$KSMFSV
SQL>
select ksmfsnam, ksmfstyp, ksmfssiz, ksmfsadr
from x$ksmfsv
where ksmfsnam = ‘kcrfal_’ ;

KSMFSNAM KSMFSTYP KSMFSSIZ KSMFSADR
---------------------- ---------------------- ---------- --------
kcrfal_ ksllt 120 C3F4D13C

SGA의 fixed area의 모든 component는 고정된 크기를 이용합니다. 즉 이 변수들은
initial parameter에 의존하지 않는 고정 크기를 가지고 있기 때문에 fixed area의
total크기 또한 고정됩니다.