Temporary Tablespace:
Temporary Tablepace, sadece
kullanıcıların session süresince disk üzerinde kullandığı geçici
alanlardır. Session süresi bitince bu bilgiler silinir.
Temporary tablepace’ ler session’ ın bir çok sort
işlemlerinin yükünü azaltmak için kullanılır.RAM’ daki PGA alanı büyük sort
işlemleri için yetersiz kaldığında fiziksel disk üzerindeki temporary alanını
kullanır.
Bildiğimiz gibi Memory’deki SORT _AREA_SIZE parametresi bu işlemlerin RAM’ da yapılmasını için gerekli alanı belirten parametredir. Bu alanı bir çok kullanıcının default temporary alanı olarak paylaştırabiliriz.
Bildiğimiz gibi Memory’deki SORT _AREA_SIZE parametresi bu işlemlerin RAM’ da yapılmasını için gerekli alanı belirten parametredir. Bu alanı bir çok kullanıcının default temporary alanı olarak paylaştırabiliriz.
Default olarak tüm kullanıcılar temp alanı için SYSTEM
tablespace’ i kullanırlar. Her bir
kullanıcı SYSTEM TABLESPACE kullanırsa sistemde yavaşlama ve system tablespace
in kapasitesini zorlyacağından bir DBA’ nin bir temporary tablepace oluşturup
default oalrak tüm kullanıcılara paylaşması gerekmektedir.
Örnek: Kullanıcı
oluştururken yada var olan kullanıcıya default temprary tablespace alanını
referans gösteririz.
SQL>ALTER USER xyz
DEFAULT TEMPORARY TABLESPACE test_tbs;
Yada yeni kullanıcı oluşturken;
SQL>CREATE USER xyz IDENTIFIED BY xyx_pass DEFAULT
TABLESPACE user
DEFAULT TEMPORARY TABLESPACE test_tbs;
Temporarytablespace, diğer tablepace’ler gibi datafile
‘lardan değil ona has bir tempfile ‘lardan oluşur.
Temporary tablepace içierisinde tüm sort operasyonlarının
yapıldığı bir sort segment vardır.Sort Segment , intance’ gelen
sıralama(sorting) işlemi görülen sorgu için kendiliğinden oluşur. Biz haricen
bir temp segmenti oluşturamayız.
V$SORT_SEGMENT ve
v$TEMP_SEG dinamik view ile içerisindeki alan ve sort işlemi yapan user’ ları
görebiliriz.
Extent yönetimi Lokal
dir. Ve AUTOALLOCATE extent yönetimi
desteklemez. Extent yönetimi Uniform (sabit boyutta) olabilir.
Daha önceden de söylediğimiz gibi database üzerinde bir tane
default temporary tablespace ve bir tane undo tablespace olabilir.
Not: Default
temporary tablespace Offline durumuna getirilemez. Yeni bir tane temporary
tablespace oluştuncaya kadar eskisini silinemez.
Not:Birden fazla tempoary tablespace
oluşturulabilir. Fakat bunlardan sadece birisini kullanabilir.
SQL>ALTER
DATABASE DEFAULT TEMPORARY TABLESPACE new_temp;
Eski temporary
tablespace silinebilir.
SQL>DROP
TABLEPACE old_temp including contents
and datafiles;
SQLPLUS ile Temporary
Tablespace oluşturma:
“CREATE TABLEPACE”yetkisine sahip bir kullanıcı yada “sysdba”
rolündeki bir kullanıcı temporary tablespace oluşturabilir. Create temprorary
tablespace cümlesi ile bir tablespace oluşturulabilir.
SQL>CREATE TEMPORARY
TABLESPACE test_tmp_tbs TEMPFILE '/u01/app /oracle/oradata/XDB/datafile/temp_tbs01.dbf'
SIZE 20M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Kullanıcı işlemlerinin çok yoğun olduğu ortamlarda
(groupby, join,distinct, order by,Minus,Union,,Intersect, Create Index, vb.)
Temporary tablespace alanı yetmediği durumlarda
temporary tablespace yeni tempfile’ lar eklenebilir.
SQLPLUS
ile Temporary tablespace yeni bir Tempfile ekleme:
SQL>ALTER TABLESPACE
ADD TEMPFILE ‘/u01/app /oracle/oradata/XDB/datafile/test_temp02.dbf';
Create Bigfile
Temporary Tablespace:
SQL>CREATE BIGFILE TEMPORARY
TABLESPACE big_tbs TEMPFILE '/u01/app /oracle/oradata/XDB/datafile/big_temp01.dbf'
SIZE 50M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;
Temporary tablespace ‘in boş
alan durumu ile ilgili bilgileri görmek istersek V$TEMP_SPACE_HEADER dinamik view’ kullanabiliriz.
0 yorum:
Yorum Gönder