Tablespace yönetimi yaz dizisinin ikinci makalesi
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 detyalı 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.