21 Ağu 2014

ASP.Net ile online kullanıcı sayısını görüntüleme

ASP.Net ile yazdığınız web sitesinde, siteye bağlı online kullanıcı sayısı Global.Asax dosyası kullanılarak yapılır.


Global.Asax dosyasın çift tıkladığınızda açılan ekrana sırasıyla aşağıdaki kodların yazılması gerekmekte.


public class Global : System.Web.HttpApplication

    {

        void Application_Start(object sender, EventArgs e)

        {

            Application["OnlineKullanıcı"] = 0;

        }


        void Application_End(object sender, EventArgs e)

        {

            Application.Remove("OnlineKullanıcı");

        }


        void Application_Error(object sender, EventArgs e)

        {

           
        }

 
        void Session_Start(object sender, EventArgs e)

        {

            Application.Lock();

            Application["OnlineKullanıcı"] = (int)Application["OnlineKullanıcı"] + 1;

            Application.UnLock();

        }

 

        void Session_End(object sender, EventArgs e)

        {

           
            Application.Lock();

            Application["OnlineKullanıcı"] = (int)Application["OnlineKullanıcı"] - 1; 

            Application.UnLock();

        }

 

    }

 Bu işlemlerden sonra aşağıdaki code ile istediğiniz sayfaya online kullanıcı sayısı bilgilendirmesini yapabilirsiniz.


Label1.Text = Application["OnlineKullanıcı"].ToString();

9 Nis 2014

Oracle Memory Yönetimi


Memory yönetimi denildiğinde akla ilk gelen SGA ve PGA terimleridir. Peki nedir bunlar?

SGA                                      : Kullanıcıların serverda yaptığı çalışmalar user process olarak isimlendirilir.   Paylaşımlı memory alanıdır.

PGA                                      : User Process den gelen taleplerin serverda karşılanması işlemine server process denir (Bir session için açılan taleptir.) Paylaşımsız memory alanıdır.



 

SGA Bileşenleri

 




Database Buffer Cache

Fiziksel alanda bulunan dataların kopyalarını saklar.Bunların dolması halinde en az sorgu gören bloklar silinir. LRU metedolojisi ile yönetilir.
 

Redo Log Buffer

DML ve DDL işlemlerin bilgilerini saklar (Datanın önceki ve sonraki hallerini tutar). FIFO mantığı ile blokları yönetir.

Shared Pool

4 Bileşenden oluşur

1.       Library Cache                                   : SQL cümleleri için optimizer devreye girer. Dolduğunda en az kullanılan ezilir.

2.       Data Dictionary Cache                    : Sorgulanan cümlenin meta dataları cache lenir.

3.       Fixed Area                                         : Size akış verisi yapmak için kullanılır.

4.       Other                                                  :

Large Pool

Backup ve Restore işlemlerinde kullanılır.

Java Pool

Java kodlarının derlenmesi için kullanılır.

Streams Pool

Oracle streams tarafından kullanılır.

 

8 Nis 2014

Archivelog Mode Devreye Alma



Redo log larda oluşan transaction hareketlerinin Archive log lara alınması için yapılması gerekenler aşağıdaki gibidir.


sqlplus / as sysdba                            : sysdba olarak bağlanıyoruz 

Shutdown immediate                        : Database i kapatıyoruz

Startup Mount                                   : Database i mount olarak açıyoruz

Alter database archivelog;                : Archivelog u devreye alıyoruz

Alter database open;                         : Database i açıyoruz

---------------------------------------------------------------------------------------------------------------
Şimdi Uygulama

sqlplus / as sysdba

SQL> shutdown immediate

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  184549376 bytes

Fixed Size                  1300928 bytes

Variable Size             157820480 bytes

Database Buffers           25165824 bytes

Redo Buffers                 262144 bytes

Database mounted.

 

SQL> alter database archivelog;

Database altered.

 

SQL> alter database open;

Database altered.


Bu işlemlerden sonra log mode aşağıdaki gibi olacaktır.

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

Şimdi bu loğlar nereye alınıyor?

select DEST_NAME,STATUS,DESTINATION from V$ARCHIVE_DEST;

4 Nis 2014

Oracle Listener




 

Listener, instance ile kullanıcılar arasında gateway işlevi görür. Tek listener birden çok database instance a hizmet edebilir.

Özetle, oracle veri tabanına gelen bağlantı isteklerinin karşılandığı servistir.

Herhangi bir çalışma anında listener servisinin stop olması durumunda session açan kullanıcıların bağlantıları devam edecektir. Yeni kullanıcılar ise database e bağlantı aşamasında hata alacaklardır.

 Linux üzerinde listener ile ilgili kontrol komutları:

 

$ lsnrctl <command name>    : syntax

$ lsnrctl status                        : Listener ın statüsünü gösterir

$ lsnrctl start                          : Listener servisini açar

$ lsnrctl stop                            : Listener servisini durdurur