ORA-03297: file contains used data beyond requested RESIZE value

Ora-03297 hatası datafile resize etmeye çalışırken alınan bir hata mesajıdır. Hatanın nasıl çözülebileceğine geçmeden önce bu hatayı neden alındığı üzerine biraz duralım.

Database içerisinde daha önceden oluşturulmuş ve kullanılmış olan bazı tabloların drop veya truncate edilmesinden dolayı datafile’ in kullanılan alanı küçülmüş olabilir. Dba’ ler için yer sıkıntısı sanıyorum en fazla karşılaştıkları sorunlardan biridir desek yanlış olmaz.  Hata tam bu esnada, kullanılmayan alanın fiziksel olarak operating sisteme geri kazandırılmaya çalışdığı esnada alınıyor. Şimdi bir örnek üzerinden gidelim.
Continue reading

Database’ in Startup Aşamaları

Database’ e start komutu verildiğinde ilk olarak nomount sonra mount en son olarak da open aşamalarından geçer. Bu 3 modunda aslında bir takım gereksinimleri bulunmaktadır. Aşağıda database’ in open moda gelinceye kadar ki hangi aşamalardan geçer, hangi aşamada neler kontrol edilir bunları bulabilirsiniz. .

Sql> startup;
Continue reading

Force Logging – Table Logging – Archive Mod İlişkisi

Zaman zaman database de yapılan yüklü update ve insert işlemlerinde yavaşlık dan şikayet ederiz ve bunu hızlandırmak içinde (hintlerden hariç) redolog’ lara uğramadan mümkünse nologging olarak çalıştırmaya çalışırız. Ancak burada nologging işlem yapmak istiyorsak bir takım koşulları yerine getiriyor olmamız gerekmektedir. Yani sadece tabloyu nologging moda çekmeniz yeterli olmayabilir. Aşağıdaki tabloda yapılan işlemin log üretmeden yapılabilmesi için gerekli şartların nasıl sağlanacağı gösterilmektedir. Kimi zamanlarda aşağıdaki şartların sağlanarak işlem yapılması çok ciddi zaman kazançları sağlayabilmektedir.
Continue reading

Database Seviyesinde SUSPEND ve RESUME Operasyonları

Suspend komutu instance’ a özgü bir komut değildir. RAC kullanılan bir sistemde node’ lardan birinden çalıştırılacak olan suspend komutu tüm node’ ları etkileyecektir. Alter system resume komutu ile sistem normal işleyişine geri dönecektir. Resume ve Suspend komutları farklı instance’ lardan çalıştırılabilir. Sonuçda hepsi çalıştırılan komutdan etkilenecektir. Database Suspend modda iken DDL komutları dahil olmak üzere hiçbir komut response dönmeyecektir. Ne zamanki Resume komutu çalıştırılırsa database kaldığı yerden işleyişine devam edecektir.

Database’ den consistent backup almak (db kapatmadan) için veya database’ de belli bir süre için hiçbir işlem yapılmak istenmiyorsa yapılabilir.  Aynı zamanda diskler üzerinde yapılan i/o işlemlerini sıfırlamak içinde kullanılabilir. Ancak genelde çalışan sorgu hata vermeden doğabilecek fiziksel alan problemlerini ortadan kaldırmak için kullanıldığını söyleyebiliriz.
Continue reading

ORA-01552: cannot use system rollback segment for non-system tablespace USERS

Bugün test ortamlarımızdan birinde ora-01552 hatası almaya başladık. Hata undo tablespace’ i altında oracle tarafından manage edilen rollback segmentlerini işaret ediyordu.

Öncelikle hali hazırda mevcut olan rollback segmentlerin durumun kontrol ettiğimde ;

select segment_name, status from dba_rollback_segs;
Continue reading