Oracle Veritabanı Açma Kapama Modları

Merhaba,

Bu yazımda Oracle veritabanının açma kapama modlarını anlatacağım.

Oracle_Database

Oracle veritabanı Açılma Modları: Kapalı durumda olan bir Oracle veritabanının açılması 3 aşama halinde gerçekleşir bunu en iyi özetleyen resim aşağıdaki gibidir. Bu adımları tek tek irdeleyelim bakalım bu adımlarda arka planda neler oluyor.

Startup modes

Nomount Mode: Oracle veritabanını Nomount modda açtığımız zaman instance ve background process leri başlar oracle bu adımda parametre dosyalarını (spfile yada pfile) okur ve bu modda veritabanı diğer kullanıcılara kapalıdır sadece instance ve background process leri aşağıdaki gibi açıktır.

bash-4.1$ ps -ef | grep smon
oracle   20114 19577  0 14:15 pts/0    00:00:00 grep smon
bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:15:10 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size                  2230072 bytes
Variable Size             339740872 bytes
Database Buffers          184549376 bytes
Redo Buffers                7942144 bytes
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
bash-4.1$ ps -ef | grep smon
oracle   20143     1  0 14:15 ?        00:00:00 ora_smon_TESTDB
oracle   20160 19577  0 14:15 pts/0    00:00:00 grep smon
bash-4.1$ ps -ef | grep ckpt
oracle   20141     1  0 14:15 ?        00:00:00 ora_ckpt_TESTDB
oracle   20162 19577  0 14:15 pts/0    00:00:00 grep ckpt
bash-4.1$ ps -ef | grep lgwr
oracle   20139     1  0 14:15 ?        00:00:00 ora_lgwr_TESTDB
oracle   20166 19577  0 14:16 pts/0    00:00:00 grep lgwr

Mount Mode: Bu adımda bir önceki nomount adımında spfile yada pfile ın içeriği okunmuştu spfile içinde olan yeri belli olan ve veritabanımızın beyni olan Control file dosyası açılır. Veritabanı control file ı açıp okuduğu zaman artık datafile larının ve arşiv dosyalarının nerede olduğunu biliyor ancak bu adımda da kullanıcılar hala veritabanına erişemez sadece sistem view leri ve performans view lerine erişim vardır.

Nomount modda olan veritabanını mount moda aşağıdaki gibi alınır.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:24:15 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select open_mode from v$database;
select open_mode from v$database
                      *
ERROR at line 1:
ORA-01507: database not mounted

SQL> alter database mount;

Database altered.
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

Yada kapalı olan bir database i direk mount modda aşağıdaki gibi alınabilir.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 15:06:58 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size                  2230072 bytes
Variable Size             339740872 bytes
Database Buffers          184549376 bytes
Redo Buffers                7942144 bytes
Database mounted.
SQL>

Open Mode: Bu modda veritabanı normal bir şekilde açılır ve veritabanı diğer kullanıcılara açık bir şekilde açılır. Kapalı olan bir Veritabanını direk Open modda aşağıdaki gibi başlatabiliriz.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:29:41 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size                  2230072 bytes
Variable Size             339740872 bytes
Database Buffers          184549376 bytes
Redo Buffers                7942144 bytes
Database mounted.
Database opened.
SQL>

Kapalı olan bir Veritabanını direk open modda açsak bile arka planda yukardaki şekil gerçekleşir yani veritabanı ilk olarak nomount modda açılır hemen ardından mount moda getirilir ve ardından açılır bu işlemler çok hızlı gerçekleştiği için biz direk açıldığını görürüz.

Mount modda olan bir database i aşağıdaki gibi Open moda getirebiliriz.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:32:06 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL> alter database open;

Database altered.

Veritabanı Kapama Modları: Oracle veritabanını kapama modu olarak Oracle bize 5 farklı yöntem sunmaktadır her bir kapama şeklinde farklı işlevler olduğu için aşağıda ayrı ayrı irdeleyeceğim.

shutdown

Shutdown immediate: Bu yöntem en çok tercih edilen yöntemdir çünkü veritabanı sağlıklı ve tutarlı bir şekilde kapatılır. Bu komut çalıştırıldığı zaman oracle commit yememiş tüm transaction ları rollback yapar ve kapatma prosedürlerini yürütür. Komutun kullanımı aşağıdaki gibidir.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:50:17 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

Shutdown Normal: Bu kapatma yöntemi çokta tercih edilmeyen ancak bazen ihtiyaç duyulan bir yöntemdir. Bu yöntemle kapatmaya çalıştığımızda Oracle o an veritabanına bağlı olan tüm kullanıcıların işlerini bitirmesini ve session larını kapatmalarını bekler. Tüm sessionlar bittikten sonra tek bir session bile açıksa veritabanı kapanmaz. Bu kapatma yöntemi canlı sistemlerde zaman kritik operasyonlarda hiç te tercih edilmez. Komutun kullanımı aşağıdaki gibidir.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:50:17 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

Shutdown Transactional: Bu kapatma yönteminde tüm kullanıcılara ait transactionlar commit yiyene kadar beklenir commit atıldıktan sonra Oracle o session ı öldürür ve kapatma işlemleri devam eder. Bu kapatma yönteminde sıfır veri kaybı garantisi vardır. Komutun kullanımı aşağıdaki gibidir.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:59:47 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown transactional;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

Shutdown Abort: Bu kapatma şekli en basitinden bir sunucunun fişini çekmek gibi veritabanının fişini çekmektir. Tüm transactionlar aniden durdurulur ve veritabanı tutarsız bir şekilde kapatılır. Bu yöntem pek tercih edilmese de bazen çok gerek duyulabiliyor. Ör: Çok kritik ve zamanla yarıştığınız bir operasyon yapıyorsunuz veritabanını kapatmanız yada restart etmeniz gerekmekte ve veritabanı tutarlı bir şekilde kapattığınızda sizi çok bekletecekse bu yöntem kullanılabilir. Bu şekilde çalışan bir veritabanı aşağıdaki gibi kapatabiliriz.

bash-4.1$ ps -ef | grep smon
oracle   20376     1  0 14:31 ?        00:00:00 ora_smon_TESTDB
oracle   20486 19577  0 14:45 pts/0    00:00:00 grep smon
bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:46:02 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown abort
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
bash-4.1$ ps -ef | grep smon
oracle   20490 19577  0 14:46 pts/0    00:00:00 grep smon
bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 14:46:23 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>

Veritabanı açma kapama modlarını anlattım birde veritabanını zorla Restart etme var bunuda anlattıktan sonra yazımı sonlandıracağım.

Startup Force: Bu komut çalıştırıldığı zaman veritabanı aniden kapatılıp ardından açılır. Bu komut arka planda Shutdown abort + Startup komutunu çalıştırır. Yani önce Shutdown abort ile veritabanı aniden kapatılır ve ardından startup ile veritabanı normal bir biçimde açılır. Komutun kullanımı aşağıdaki gibidir.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 7 15:03:47 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup force
ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size                  2230072 bytes
Variable Size             339740872 bytes
Database Buffers          184549376 bytes
Redo Buffers                7942144 bytes
Database mounted.
Database opened.
SQL>

Böylece bir yazımın daha sonuna gelmiş bulunmaktayım şimdilik esen kalın.

 

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience. I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource. I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks. I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients. If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com. -                                                                                                                                                                                                                                                 - Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

2 thoughts on “Oracle Veritabanı Açma Kapama Modları

  • January 5, 2019 at 10:32 am
    Permalink

    Ellerine sağlık hocam

    Reply
  • January 8, 2019 at 1:55 pm
    Permalink

    Çok teşekkür ederim . Çok faydalı oldu. Kedisini sürekli kapatan bir oracle db ile cebelleşiyoruz. Sanırım kurulum hatası var. en ufak networksel bir dalgalanmada oracle kendisini bloke ediyor. Bu problemle ilgili yönlendirmeleriniz için şimdiden teşekkür ederim.

    Reply