Veritabanında, içinde veri bulunan dosyalardır. Tablo, index view gibi objeler fiziksel olarak datafile’lar içerisinde tutulur. Bir veya daha fazla datafile bir araya gelerek mantıksal tablespace kavramını oluştutur. Datafile’lar belirli bir büyüklükte yaratılırlar, dolan datafile’ların otomatik olarak büyümesi opsiyonel olarak tercih edilebilir. (Auto Extend).
Oracle`a datafile`a 2 adet numara atar..
- Absolute file number
- Relative file number
Relative : Bu da tektir. Ufak ve orta boyutlu database lerde absolute ve relative aynıdır, büyük databaselerde farklılaşmaktadır.
Oracle'ı kurmadan önce kaç adet TableSpace'e kaç adet datafile'a ihtiyaç duyulacağı hesaplanıp ona göre işletim sistemi ve konfigurasyonu yapılmalıdır çünkü işletim sistem tarafındaki kısıtlamalar database inizdeki ayarları da değiştirmenizi gerektirebilir.
Başlangıç dosyasındaki (spfile) " db_files " parametresi oluşturulabilecek maximum datafile sayısını bildirir. default u 200 dür maximum işletim sisteminin desteklediği kadardır. Bu değer değiştirildiğinde kapatılıp açılması lazım.
SQL > SELECT value FROM v$parameter WHERE name='db_files'
SQL > show parameter db_files; ile görebilirsiniz.
DataFile eklemek
SQL > ALTER TABLESPACE ts_name ADD DATAFILE 'd:\dbfiles\df1.dbf'
AUTOEXTEND ON
NEXT 1M
MAXSIZE 100M
ts_name TableSpace`ine, 1M` boyutlarda, otomatik extend olabilen, maximun boyutu 100M`lik bir datafile ekliyoruz..
Otomatik artirmayi kapatalim..
SQL > ALTER DATABASE DATAFILE 'd:\dbfiles\df1.dbf' AUTOEXTEND OFF
Simdi boyutunu degistirelim..
SQL > ALTER DATABASE DATAFILE 'd:\dbfiles\df1.dbf'
RESIZE 150M;
Disk boyutuna ve işletim sistemine bağlı olarak istenildiği kadar büyütülebilir, aynı zamanda küçültüledebilir de ancak kullanılan alandan daha küçük boyut verilemez verilirse de hata verir.
Datafile ların erişilebilirliğini değiştirme
Datafile ları ve tempfile ları ayrı ayrı offline/online alınabilir, offline oldukları sürece erişilemez olacaklardır.
- Offline yedek alınmak istendiğinde
- İsim/lokasyon değişikliği yapılmak istendiğinde, önce offline a almak gerekir.
- Oracle yazma problemi ile karşılaştığında datafile ı offline a alır sorun giderildiğinde dba tarafından online a alınması gerekir.
- Datafile bozulduğunda ya da bir şekilde sistemden kaybolduğunda instance ı başlatabilmek için bu datafile e offline almak gerekir.
Asagida TableSpace`in tum datafile`larini offline yada online yapabiliriz.
SQL > ALTER TABLESPACE ts_name OFFLINE/ONLINE
ArchiveLog modda online/offline
Asagidaki şekilde TableSpace' içindeki tüm datafile ları offline/online a almadan istenilen datafilelarda değişiklik yapılmak isteniyorsa archivelog modda olmak lazım aksi halde datafile kaybedilir deneyip görelim.
SQL > ALTER DATABASE DATAFILE 'd:\dbfiles\df1.dbf';
SQL > ALTER DATABASE DATAFILE 'd:\dbfiles\df2.dbf';
NoArchiveLog modda online/offline
Asagidaki adimlari tek tek inceleyelim.
shutdown immediate;
startup mount
alter database noarchivelog; komutu verilir.
alter database open ; db açılır
archive log list ; ile archive log un disab olduğu görülür.
shutdown immediate; ile kapatılır
startup ile açılıp tekrar archive log modda olup olmadığı test edilip
Database in noarchive log listte kaldığı görülür.
Hiç yorum yok:
Yorum Gönder