Kategoriler


SON YORUMLAR
White
White
White
White
White
White
White
White
White
White
White
White
White
White

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Oracle - Object Pinning nedir?
Para ile ödev yapmak üzerine
Kredi Kartı Numarası Doğrulama- Lhun algoritması
Bilgisayar mühendisliğinde okuyan öğrencilere tavsiyeler
YAZ TATİLİNDE YAN GELİP YATMAK
YAZ TATİLİNDE YAN GELİP YATMAK
Yeni mezun bilgisayar mühendisleri için 10 büyük günah!
Kredi Kartı Numarası Doğrulama- Lhun algoritması
ASP.NET - Server Controls
ASP.NET - Server Controls
Bilgisayar Mühendisi olmanın 10 iyi yönü.
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Bilgisayar Mühendisleri Kaç Para Alır?
Flash CS4’ün Getirdiği Yenilikler
Bilgisayar Mühendisi olacaklara üniversite seçme rehberi?
Dünya ile Rekabet Edecek Zehir Gibi Bir Bilgisayar Şirketi Kurmak
Para ile ödev yapmak üzerine
Askerlik ve Bilgisayar Mühendisliği
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?

Bilgisayar Mühendisleri Portalı

Oracle - Object Pinning nedir?

Bilindiği üzere paylaşımlı SQL ve PL/SQL kodları “shared pool” da tutulur.Bu sayede tekrar tekrar kullanılan kodların direk memory’den erişimine imkan sağlanmış olur.Ama bunların devamlı memory de kalması normal şartlarda beklenemez.Çünkü database buffer larında oldugu gibi Sahred Pool da da “Least Recenlty Used(LRU)” algoritması çalışır, bu da bir süre sonra kullanılmayanların pool dan atılması anlamına gelir. Ancak özellikle büyük SQL ve PL/SQL parçalarını devamlı memory’ de tutmak uygulamanızın performansı açısından faydalı olabilir.Bu noktada devreye “DBMS_SHARED_POOL” paketi giriyor.Bu paket ile objelerinizin shared pool da LRU mekanizmasına sokmadan tutulmasını sağlayabilirsiniz.(Object pinning)   Peki ne zaman tercih edilmeli ? Genellikle büyük PL/SQL objeleri, çok sık çalışan trigger’lar, sequence’ler ve cursor’lar …  Objeyi memory de tutmak için “DBMS_SHARED_POOL.keep” ve tutulanı bırakmak içinde “DBMS_SHARED_POOL.unkeep” metodları kullanılır.   DBMS_SHARED_POOL.KEEP (name VARCHAR2, flag CHAR  DEFAULT ‘P’);   name : memoryde tutulacak objenin adı
flag   : ‘P’ ya da ‘p’ — > paket, prosedür ya da fonksiyon
         ‘T’ ya da ‘t’  — > type
         ‘R’ ya da ‘r’ — > trigger
         ‘Q’ ya da ‘q’ — > sequence 
 
Eğer name alanına bir cursor ya da SQL statement girmek isterseniz gv$open_cursor ya da v$sqlarea dan sorgulayıp “address” ve “hash_value” degerlerini “name” alanına girmeniz gerekir.Bu durumda “flag” ifadesi de yukarıda ayrılmış olan CHAR karakterlerden farklı bir CHAR değer olmalıdır.Örneğin bir cursor açtınız ve gv$open_cursordan sorguladıgınızda adres ve hash_value degerlerini (3D5B2825) ,( 58203913AA) buldunuz.KEEP metodunu aşağıdaki gibi çağırmalısınız :dbms_shared_pool.keep(3D5B2825, 58203913AA, ‘C’); 

 

TESTTRG adında bir trigger ınız varsa dbms_shared_pool.keep(‘TESTTRG’,’R’) 

 PKG_TEST adında paketiniz varsa dbms_shared_pool.keep(‘PKG_TEST’,’P’)   

SEQ_TEST adında bir sequence varsa dbms_shared_pool.keep(’SEQ_TEST’, ‘Q’);   

DBMS_SHARED_POOL.UNKEEP ise “memory artık devamlı tutma” anlamına gelir.KEEP in tersi yani.Kullanımı :DBMS_SHARED_POOL.UNKEEP (name VARCHAR2, flag CHAR     DEFAULT ‘P’);  şeklindedir. 

Daha detay bilgi için :  http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_shpool.htm
http://www.psoug.org/reference/dbms_shared_pool.html 
   

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın




Copyright© 2001-2020. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.