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.

Mehmet Salih Deveci

Oracle Veritabanı Yöneticisi

//

//

//

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s