Tuesday, August 11, 2009

DATAFILE VE TABLESPACE SİLME

Bu yazıdaTABLESPACE oluşturma buna datafile ekleme ve yine aynı şeklide oluşturduğumuz bu nesneleri silme .

önce biraz süsleme yapalım. :)

SYS aliates 08/11/2009 >alter session set nls_date_format = 'DD:MM:YYYY HH24:MI:SS';
Oturum değistirildi.
SYS aliates 11:08:2009 13:26:04 >set sqlprompt "_user 'aliates' _date >"

SYS aliates 11:08:2009 13:26:12 >select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
DENEME1

6 satırları seçildi.

Kendimize bir test tablespace'i yaratıyoruz. Bir tablespace ilk defa oluşturulurken kendisine bir datafile gerekiyor. Bunun için datafile tanımlamasını da yapıyoruz. Burada istersek birden fazla datafile belirtebiliriz.

SYS aliates 11:08:2009 13:26:53 >create tablespace test datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' size 50m;
create tablespace test datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' size 50m
*
1 satırında HATA:
ORA-01537: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DENEME2' dosyasi eklenemez -dosya zaten veritabaninin parçasi
daha önce böyle bir datafile olduğu çin bize hata üzeretti. Bunun üzerine datafile'in adını değiştirip tekrar deniyorum.

SYS aliates 11:08:2009 13:28:10 >create tablespace test datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\test_df.dbf' size 50m;

Tablo alanı yaratıldı.
--Tablespace'mizeyeni bir datafile ekliyorum.
SYS aliates 11:08:2009 13:28:40 >alter tablespace test add datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\test_df1.dbf' size 50m;
Tablo alanı değiştirildi.
Elimizdeki datafileleri listeleyelim.
SYS aliates 11:08:2009 13:29:39 >select file_name from dba_data_files where tablespace_name='TEST';

FILE_NAME
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DF.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DF1.DBF

şimdi oluşturduğumuz datafileleri silmeyi deniyoruz.
SYS aliates 11:08:2009 13:29:51 >alter tablespace test drop datafile '/home/oracle/test2.dbf';
alter tablespace test drop datafile '/home/oracle/test2.dbf'
*
1 satırında HATA:
ORA-01565: '/home/oracle/test2.dbf' dosyasini tanimlamada hata
--böyle bir datafile olmadığı için hata alıyoruz.
SYS aliates 11:08:2009 13:30:05 > alter tablespace test drop datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\test_df1.dbf';
Tablo alanı değiştirildi.

--including contents and datafiles içerisindeki veriler ile beraber tam bir silme işlemi için aşağıdaki sorguyu kullanıyoruz.
SYS aliates 11:08:2009 13:30:29 >drop tablespace test including contents and datafiles;
Tablo alanı değiştirildi


SYS aliates 11:08:2009 13:40:41 >select file_name from dba_data_files where tablespace_name='TEST';
satır seçilmedi
--çünkü böyle bir tablespacemiz artık yok.

No comments: