Tags

, , , , ,

Merhaba Arkadaşlar, Bu yazımızda Oracle veritabanı ile alakalı olarak veritabanı açılış modlarını inceleyeceğiz. Oracle’da veritabanı belirli aşamaları geçerek açılır, eğer bu aşamaların herhangi birinde bir eksik yada hatalı durum varsa veritabanı o moddan bir üst moda geçemeyecektir.Burada mantık şudur örneğin database mount moduna geçemiyordur.Biz nomountta veritabanını açarız eksik olan dosyaları tamamlayıp(onlarla alakalı olacak şekilde ilerleyen zamanlarda yazılarımız olacak) veritabanımızın açılmasını sağlarız.Bir veritabanı kapalı(Shutdown) modda iken sırasıyla Nomount ve Mount modlarını geçerek Açık(open) moda geçer.Bu yapı merdiven gibidir.

DB open modes

Veritabanımızın durumunu kontrol etmek istiyorsak aşağıdaki kodu çalıştırmalıyız. Database kapalıyken V$ performans viewlerine erişemeyiz ama biz nomount modda sorgumuzu yapıyoruz. Status: started diyo yani Nomount modda, DB nomountta olduğunu started yazarak gösterir..

V$instance

NOMOUNT

Nomountta instance ve arka plan işlemleri(Background Process) başlatılır.Spfile veya pfile parametre dosyası okunur.Spfile içerisindeki Control File’ın lokasyonu okunur eğer lokasyonda hata varsa veritabanı bir üst moda geçemez tabi sp file yerine pfile hazır durumdaysa oda okunabilir. Spfile anlatırken demiştikki veritabanı için olmazsa olmaz değildir demiştik. Nomount modda eğer Spfile ile alakalı bir sorun varsa(Spfile kaybedilmişse,lokasyonu farklıysa) Biz Rman üzerinden nomount modda açarak spfile backup alabiliriz.Nomount modda veriye erişim yoktur,uzaktan bilgisayarlar veritabanına bağlanamaz.Hemen nomount moda geçme kodunu yazıyorum.nomount mode

MOUNT

Nomount modunda Spfile içindeki Control file’ın lokasyonu okunmuştu.Bu basamakta Control dosyası açılır ve içindekiler okunur.Bu basamakta hala veriye erişim yoktur,yine uzaktan bilgisayarlar veritabanına bağlanamaz. Peki neden Mount modda DB açılmak istenir ?Örneğin; İlerleyen yazılarda çok fazla karşılaşacağımız üstünde çok fazla konuşacağımız Archivelog mod diye bir şey vardır. Yani Arşivlemenin açık olup olmaması ile alakalı, backup ve recovery konularında çok konuşacağız. Biz Archivelog modu değiştirmek istediğimiz zaman db kapatırız,mountta açarız archivelog mod değiştirilir(on yada of yapılır) ve sonrasında veritabanımızı açarız.

Veritabanımızı  Direk MOUNT modda açmak için :

SQL> startup mount;  

ama biz yukarda nomount modunda açmıştık oradan devam edelim ve alter diyip nomounttan, mount moda getirelim veritabanımızı.

mount mod

Nomount modda ve Mount modda veriye erişmek istiyorum. Bakın aşağıda hata alacağız.

Db not open not query for data

OPEN

Mount modda Control File içerisinde Data file,redolog file,archivelog file,backup bilgileri okunmuştu. Open modda instance artık bu dosyaları kullanıma açar. Artık veriye erişim vardır.Veritabanımızı direk açmak istersek startup yazmamız yeterlidir.

SQL>  startup;

Biz en sonra mount modda kalmıştık oradan devam edelim ve mount modunu open a alter edelim.

SQL> alter database open;

Artık verilerimize erişebiliriz..

open mode

Arkadaşlar where koşuluyla employee_id si 100 olan gelsin dedim çünkü red hat ‘da terminal üzerinden çalışıyorum ekran çıktısını görüntülemek biraz problem oluyor 🙂

Arkadaşlar bu yazımızda veritabanının açılış modlarından bahsettik bir sonraki yazımızda veritabanımızın kapanışından bahsedeceğiz.

Advertisements