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

Database’ ler Arası Link Kurulumu (Dblink)

Bir oracle database’ den farklı bir oracle database’ ne gitmek istediğiniz de bu iki farklı sistemin birbiriyle konuşabilmesi için araya kurulan köprüye dblink denir. Dblinlin nasıl kurulacağını bir örnekle açıklamaya açıklayalım ;

Örneğimiz için iki tane database’ imiz olsun, PROD ve TEST adında ve Prod ortamından  Test ortamına test_link adı ile bir link create etmeye çalışalım.

Kaynak Sunucu : PROD

Hedef Sunucu : TEST

Prod ortamdan Test database’ ine hangi user ile gidileceğine karar veriyoruz.  
Continue reading

System Tablepsace’ inin Altına Oluşturulmuş Olan Objelerin Taşınması

Zaman zaman kullanıcıların default tablespace’ lerinin yanlışlıkla SYSTEM tablespace’ i olacak şekilde create edilmeleri veya obje taşımalarında tablepsace bilgisinin yanlış verilmesi gibi bir takım nedenlerden dolayı SYSTEM tablespace’ ini aslında burda olmaması gereken objelerle doldurulmuş olarak görebiliriz. Bu durumun yol açacağı problemlerle bazen upgrade’ lerde veya transportable tablespace gibi yöntemleri kullanırken karşılaşabiliriz. Dolayısıyla bu tarz durumlar da burada yer alan user objelerinin farklı bir alana taşınması gerekecektir. Bu tarz bir durumla karşılaştığımızda yapılması gerekenleri şu şekilde özetleyebiliriz.

Öncelikle systemde default tablespace’ i SYSTEM olan kullanıcıların tespit edilmesi ve bunların değiştirilmesi gerekmektedir.
Continue reading

Tablodaki Herhangi Bir Alanı Random Bir Değerle Doldurmak

Bugün bir arkadaşıma, kullanmakta oldukları bir tablodaki number olan bir alanı birbirinden farklı değerlerle doldurmaları gibi bir gereksinimleri olmuş. Bende burdan yola çıkarak kapsamı biraz daha genişleterek number, string ve date alanları için birbirinden farklı olarak değerlerle bu alanları nasıl doldurabiliriz diye ufak bir çalışma yaptım.

Şimdi çalışmamız için örnek bir tablo oluşturalım.
Continue reading

Standby Database Archive Apply Hatası (ORA-00308: cannot open archived log)

Şirket  bünyesinde kullanmakta olduğumuz önemli bir database’ imizin eşleniği prod ortamdan çıkan archiveların disaster tarafına manuel olarak apply edilmesi ise tutuluyor.  Hafta sonu yaptığımız prod database’ in upgrade’ i (10gR1 den 11gR2 ye) öncesinde disasterdaki bu ortamıda son çıkan archive’ ı apply ederek herhangi bir olumsuz durumda ayağa kaldıracak şekilde hazır tutmaktı.  Ancak disaster tarafındaki bu standby database’ imiz son archive’ ları apply ederken bir anda  ORA-00308: cannot open archived log hatası verip sonrasında 1,5 sene önceki bir archive’ ı isteyerek hata verdi. Sonrasında konuyu biraz araştırdıkdan sonra benzer sorunların control file dosyasında oluşan corruption dan kaynaklanabileceğini tespit ettik. Control file dosyası içerisinde  database tarafından üretilen archive’ ler ile ilgili bilgilerde tutulduğundan prod ortamdan standby control file create edip, disaster tarafındaki control file’ leri ezerek yenilerini prod ortamdan tekrar atmış oluşturmuş olduk. Yapılan bu işlemler ile ilgili scriptler ve adımlara ait detayları aşağıdaki adım adım anlatmaya çalıştım.
Continue reading