Home / MAKALELER / Veri Tabanı / Tablespace Yönetimi-4

Tablespace Yönetimi-4

Tablespace Yönetimi yazı dizimin dördüncü makalesi genel olarak temporary tablespace üzerine olacaktır. Umarım faydalı olur.

Tablespace ‘ler iki tiptir. Permanent(Kalıcı) ve Temporary(Geçici) tablespace’ lerdir.

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.

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.

About Muhammet Ucar

2005 Selçuk Üniversitesi Teknik eğitim Fakültesi Bilgisayar Sistemleri Öğretmenliğinden mezun olduktan sonra İstanbul 'da yaşamaya başladım. 2009 yılından beri Oracle yönetimsel anlamda çalışıp makale paylaşımı yapmaktayım. OCP 11gR2 ve OCA 11gR2 sertifikalarına sahibim. Daha çok kişisel projelerde çalıştım. Free Veritabanı Danışmanlığı ve Eğitmenliği yapıyorum.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın