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

Sequencelerle İlgili Birkaç Not …

Sequence’ ler için sayaç tabloları denilebilir. Sequence’ ler sizin belirlediğiniz bir noktadan istediğiniz oranda bir artış hızıyla, istediğiniz bir değere kadar sayı üretirler.

Create sequence komutunun full syntax’ ı ;

CREATE SEQUENCE [schema.]sequencename

[INCREMENT BY number]

[START WITH number]

[MAXVALUE number | NOMAXVALUE]

[MINVALUE number | NOMINVALUE]

[CYCLE | NOCYCLE]

[CACHE number | NOCACHE]

[ORDER | NOORDER] ;
Continue reading

Redolog Group Tanımlama / Değişiklik Yapma

Oracle database server kurduğumuz zaman default olarak 50 mb büyüklüğündeki 3 tane redolog group tanımlanmış olarak gelir. Ancak gerçek ortamlarda redologların size’ larında zaman zaman değişiklikler yapmak zorunda kalırız. Örneğin alert log içerisinde checkpoint not complete hatası aldığımızda redologlarımızın size’ ını artırmamız gerekebilir. Bu tarz değişiklikleri kullanılan redologları sıra ile drop edip yenilerini istediğimiz lokasyona istediğimiz boyutlarda create ederiz. Oracle ilk kurulduğunda her 3 redo log’ uda  aynı lokasyona create eder. Redolar database’ in son noktaya döndürmek istediğimiz de kritik önem taşıdıklarından mutlaka farklı lokasyonlara memberlanmaları gerekmektedir. (Şart değil tabiki sadece data  kaybı yaşamak istemiyorsak 🙂

Yeni redoları eklemeden önce mevcut sistemdeki görmek için ;
Continue reading