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

 

18 Eyl 2013

Oracle Forms 6i - Takvim Yapmak


Oracle Forms 6i de takvim yapma işi .Net ile kıyaslanınca biraz meşakkatli gibi görünse de bir kaç tecrübeden sonra kolaylaşmaya başlıyor.
Öncelikle Oracle Forms da yeni bir modül açalım ve control adında bir veri blok u oluşturalım.



Oluşturulan control bloğuna bir buton ve metin öğesi ekleyelim.
Bu noktadan sonra takvim için hazırlanmış paketleri kullanmaya başlayabiliriz.
 

İşaretlediğim alanları kopyala-yapıştır ile kendi formunuza ekleyiniz.
Bu işlemden sonra control bloğundaki butonun When-Button-Pressed triger ına aşağıdaki kodları yazalım;
 
Tarih olarak eklediğimiz metin öğesinin özelliklerinden veri türünü tarih yaptık dan sonra
Key-Listval triger a aşağıdaki kodu yazıyoruz;
 
Kodları ekleme yaparken kendi blok isimleriniz ile item larınızın isimlerini değiştirmeyi unutmayın.
Bütün işlem bu kadar. Programı çalıştırıp takvim butonuna bastığınızda işte size seçmeli bir takvim.
 
Hazır paketler  için blog daki iletişim formundan mail atabilirsiniz.
 


3 Haz 2013

ASP.Net ile Mail Göndermek


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail; ------------- İşaretli bu iki kütüphanenin eklenmesi gerekiyor
using System.Net;


namespace MAIL
{
    public partial class FormMail : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
    
            try

            {

                MailMessage eposta = new MailMessage();
                eposta.From = new MailAddress("mail kimden gidecek");
                eposta.To.Add(TextBox1.Text);--E-mail adresinin yazılacağı textbox
                eposta.Subject = "Bu mail ASP.Net den gönderilmiştir";
                eposta.Body = TextBox2.Text; -- Body yi ister custom isterseniz bir database çıktısı yapabilirsiniz.
                SmtpClient smtp = new SmtpClient();
                smtp.Credentials=new NetworkCredential("email adresi", "email şifresi");
                smtp.Port = 587;
                smtp.Host = "mail host u";
                smtp.Send(eposta);
                ASPxLabel1.Text = "mail gönderildi";
            }
            catch (Exception)
            {
                ASPxLabel1.Text = "mail göndermede hata";
            }


        }

    }

}

 

23 May 2013

Windows - Oracle Linux 6 Bağlantısı

Windows dan Oracle Linux 6 ya bağlanmak için kullanılabilecek programlar;

Masa Üstü Bağlantısı : NX Client for Windows bu konuda güzel bir tool.


File Explorer              : WinSCP file explorer olarak kullanılabilir.


Command Console     : Bu konuda duayen program Putty kullanılabilir.