17 Nisan 2012 Salı

Tablespace Yönetimi - III


Sysaux tablepace:
System tablespace ‘in auxliary(yardımcı ek) tablespace ‘ dir. Sysaux tablespace, oracle 10 g ile birlikte gelen,  system tablespace’ in yükünü hafifletmek için  kullanılan, daha önceleri system tablespace’de yer alan önem arzetmeyen metadataların depolandığı,  RMAN, LogMiner, Standby database , shared Server , AWR raporarının saklandığı ve Oracle enterprise Manager metadatalarının da tutulduğu alandır.



















Oracle 10 g veüst versiyonlarda oluşturulan tüm database’ ler için zorunlu bir tablespace’ dir.
Tablespace alan boyutu ise içindeki bileşenlerin kullanımına göre değişiklik gösterir. Ancak Oracle  bu tablespace için minumum 250 MB kapasite planlanmasını tavsiye etmektedir
Sysaux tablespace’ in byük bir kısmını AWR raporları tutmaktadır.AWR raporlarının harcadığı alanı,  AWR snaphot interval ve retention period parametrelerinin değerleri etkilemektedir. Bildiğimiz gibi Automatik Workload repository sistem ve memory istatistiklerini diskte saklardı. Snapshot interval default olarak 60 dk’ dır. Yani her 1 saatte veritabanı sistemimizin bir snapshot’ ını alır ve diske kaydeder. Ve memory ‘ deki Instance istatistiklerini MMON background prosesi tarafından veritabanına bildirilir. Retention period ise istatistik raporlarının saklanması garantisini sağlar. Default olarak 8 gündür. Bu değeri değiştirebiliriz. Bu iki değer sysaux tablepace içerisinde saklanan AWR raporlarının boyutunu doğrudan etkilemektedir.
Sysaux tablespace Alter özelliği için sysdba yetkisi gerekmektedir. Sysaux ,normal database operasyonlarında  tablespace drop edemeyiz ,taşıyamayız ve adını değiştiremeyiz.
Sysaux tablespace için
 Status Online ,
Tipi permanent,
ReadWrite,
Extent yönetimi local,
Segment space Auto
Olması gerekmektedir.
Sysaux tablespace’ e ek datafile eklemeleri yapabiliriz.
SQL> ALTER TABLESPACE SYSAUX   ADD DATAFILE '/u01/app/oracle/oradata/XDB/datafile/sysaux02.dbf' SIZE 500M

V$SYSAUX_OCCUPANTS view ile Sysaux tablespace alan kullanımını izlemek için kullanılır. Operasyonu farklı bir tablespace taşıyabiliriz.
SQL> desc V$SYSAUX_OCCUPANTS
 
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OCCUPANT_NAME                                      VARCHAR2(64)
 OCCUPANT_DESC                                      VARCHAR2(64)
 SCHEMA_NAME                                        VARCHAR2(64)
 MOVE_PROCEDURE                                     VARCHAR2(64)
 MOVE_PROCEDURE_DESC                                VARCHAR2(64)
 SPACE_USAGE_KBYTES                                 NUMBER
 
OCCUPANT_NAME  sysaux içerisinde bulunan operasyon adı
OCCUPANT_DESC operasyon açıklaması
SCHEMA_NAME     şema ismi
MOVE_PROCEDURE   operasyonların taşınması için gerekli olan plsql procedure kodu.
MOVE_PROCEDURE_DESC açıklaması
SPACE_USAGE_KBYTES sysaux içerisindeki operasyonun kilobyte cinsinden alan kullanımı.                                                                                          
SQL> SELECT OCCUPANT_NAME, MOVE_PROCEDURE FROM V$SYSAUX_OCCUPANTS;
 
OCCUPANT_NAME                                 MOVE_PROCEDURE
--------------------------------------------- ---------------------------------------------
LOGMNR                                        SYS.DBMS_LOGMNR_D.SET_TABLESPACE
LOGSTDBY                                      SYS.DBMS_LOGSTDBY.SET_TABLESPACE
STREAMS
......................
.........................
  
Örnek olarak LOGMNR operasyonunu SYSTEM tablespaceiçerisin taşımak istiyoruz. Bundan sonra LOGMNR işlemleri için sysaux’ da değil system tablepace’ de yapılacaktır.

SQL> EXEC SYS.DBMS_LOGMNR_D.SET_TABLESPACE('SYSTEM');
 
PL/SQL procedure successfully completed.

0 yorum:

Yorum Gönder