9 Nisan 2012 Pazartesi

Tablespace Yönetimi- II

Oracle Enterprise Manager(OEM) Konsolunu kullanarak ta yeni bir temporary tablespace oluşturabiliriz.

OEM de Server genel sekmesinden tablespaces seçilir.
Daha sonra Yeni bir tablespace eklemek istiyoruz. Create düğmesine basalım.

  
Daha sonra tablespace ismi girilir aşağıdaki gibi extent yönetiminin nasıl yönetileceği, tipi , durumu  seçilir ve bir sonraki adım bu tablespace ait bir datafile/tempfile eklenmesi gerekir.


Oluşacak tablespace ait yeni bir datafile/tempfile eklemek istiyorsak  Add düğmesine,
Silmek istiyorsak Remove düğmesine,
Düzenlemek istersek te edit düğmesine basabiliriz.
 

Tablespace için yeni bir datafile/tempfile eklenir yada düzeltilme yapılabilir. Aşağıda düzeltilme yapılmıştır.
Daha sonra continue ‘butonu ile devam edilir.



Oluşacak Tablepace ile ilgili oluşturma scripti için show sql seçilir.
Create komutu aşağıdaki gibi olur.

Tablespace ile ilgili detaylı bilgileri izlemek istiyorsak dba_tablespaces  tablosu işimize yaramaktadır.

SQL> desc  dba_tablespaces;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                        NOT NULL      VARCHAR2(30)
 BLOCK_SIZE                             NOT NULL      NUMBER
 INITIAL_EXTENT                                       NUMBER
 NEXT_EXTENT                                          NUMBER
 MIN_EXTENTS                            NOT NULL      NUMBER
 MAX_EXTENTS                                          NUMBER
 MAX_SIZE                                             NUMBER
 PCT_INCREASE                                         NUMBER
 MIN_EXTLEN                                           NUMBER
 STATUS                                               VARCHAR2(9)
 CONTENTS                                             VARCHAR2(9)
 LOGGING                                              VARCHAR2(9)
 FORCE_LOGGING                                        VARCHAR2(3)
 EXTENT_MANAGEMENT                                    VARCHAR2(10)
 ALLOCATION_TYPE                                      VARCHAR2(9)
 PLUGGED_IN                                           VARCHAR2(3)
 SEGMENT_SPACE_MANAGEMENT                             VARCHAR2(6)
 DEF_TAB_COMPRESSION                                  VARCHAR2(8)
 RETENTION                                            VARCHAR2(11)
 BIGFILE                                              VARCHAR2(3)
 PREDICATE_EVALUATION                                 VARCHAR2(7)
 ENCRYPTED                                            VARCHAR2(3)
 COMPRESS_FOR                                         VARCHAR2(12)

Dba_data_files tablosuyla da tablespace ve datafile’ lar hakkında bilgi alabililiriz.
SQL> desc dba_data_files;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)
Tablespace ve datafile ilişkisi ve datafile space ve blok sasyısını görmek için aşağıdaki sql cümlesini çalıştırıyoruz.
SQL> select tablespace_name,file_name,bytes/1024/1024 space, blocks from dba_data_files;

TABLESPACE          FILE_NAME                                             SPACE     BLOCKS
---------- -------------------------------------------------- ----- ----------
USERS         /u01/app/oracle/oradata/XDB/datafile/users01.dbf            5        640
UNDOTBS1     /u01/app/oracle/oradata/XDB/datafile/undotbs01.dbf          50       6400
SYSAUX         /u01/app/oracle/oradata/XDB/datafile/sysaux01.dbf         570      72960
SYSTEM        /u01/app/oracle/oradata/XDB/datafile/system01.dbf          680      87040
TEST_TBS      /u01/app/oracle/oradata/XDB/datafile/test01.dbf            10       1280
TEST_TBS2     /u01/app/oracle/oradata/XDB/datafile/test02.dbf            10       1280
6 rows selected.

Dba_temp_files tablosundan ise temp file ve ilgili tablespace görebiliriz.
SQL> select tablespace_name,file_name,bytes/1024/1024 space, blocks from dba_temp_files;

TABLESPACE FILE_NAME                                          SPACE     BLOCKS
---------- -------------------------------------------------- ----- ----------
TEMP       +XDATA/xdb/tempfile/temp.264.751571629               021       2688

TABLESPACE KALDIRMAK:
Oracle Enterprise manager konsole kullanarak tablespace kaldırabiliriz yada SQLPLUS  yada diğer editör programlarını (TOAD vb. ) tablespace  kaldırabiliriz. Bunların hepsi için DROP TABLESPACE yetkisinesahip kullanıcı yada sysdba rolüne sahip kullanıcı ile login oluyoruz.
Tablespace kaldırmak için
SQL> DROP TABLESPACE test_tbs including contents cascade constraints;
Genel olarak en basit şekliyle tablespace kaldırmak için yukarıdaki koyu ifadeleri yazmak yeterlidir. Eğik yazılı ifadeler ise opsiyoneldir.
İçerisindeki bağımlı objeleri de beraber kaldırmak için including contents cascade constraints ifadesini ekleyerek bu tablespace bağımlı farklı tablepaceler içindeki constraint(sınırlama)’ nesneleri de silinmiş olacaktır.
SQL> DROP TABLESPACE test_tbs including contents and datafiles;
Beraberinde datafile ‘ lar ile birlikte tüm her şeyi kaldırmak için yukarıdaki cümleyi çalıştırabiliriz.

0 yorum:

Yorum Gönder