SlideShare a Scribd company logo
1 of 23
Geliştiriciler için Oracle 11g’de
Ölçeklenebilir Kod geliştirme
&
Yeni Özellikler


PL/SQL’de Ölçeklenebilir kod geliştirmek için yöntemler :


Çoklu kayıt işleme



Döngü içinde kayıt işlemleri



Bulk İşlemler



Sabit Bilgilere erişim



DUAL kullanımı



Returning kullanımı



Conditional Compilation



Fonksiyonel Index kullanımı



Result Cache



Database link kullanımı



Parse işlemi



Commit Kullanımı


PL/SQL’de geliştiriciler için yeni özellikler :


Simple integer data türü



CONTINUE komutu



Sequence kullanımı



Subprogram inlining



Native Compile işlemi



Conditional Compilation



Read Only tablolar



Invisible index kullanımı



SQL Monitoring



Historic Performans tabloları



Otomatik SQL Tuning



SQL Plan Yönetimi



Temp tablespace



Compile Time Uyarıları


PL/SQL’de geliştiriciler için yeni özellikler:


SQL Procedure Parametre kullanımında iyileştirmeler



DDL Bekletme opsiyonu



Virtual Kolon



Kolon değişiklikleri ve Default kullanımında iyileştirmeler



Hata Takibi



Fine Grained Dependency



PLSQL_OPTIMIZE_LEVEL



Trigger’ların yeni özellikleri



Segmentsiz tablo yaratma



Yeni Partitioning özellikleri



Transparent Data Encryption



Edition Based Redefinition



Advanced Compression
PL/SQL’de
Ölçeklenebilir
Kod Geliştirme Yöntemleri
Döngü içinde teker teker DML işleri yapmak yerine ; işleminizi tek bir komuta
indiriniz.
İç içe döngüler içinde teker teker DML işleri yapmak yerine ; işleminizi tek
bir komuta indiriniz.
İç içe döngüler içinde teker teker DML işleri yapmak Context Switch’e
neden olur.
Context Switch’i azaltmak için FORALL ve BULK SELECT kullanabiliriz.
BULK İşlemler ile Ölçeklenebilir kod yazabilirsiniz

• Bulk insert, update , delete için FORALL kullanınız.
• Bulk select için BULK COLLECT kullanınız.
• Bulk işlem yapılarak Context Switch minimize edilir.
Lookup tablo kullanarak sabit bilgileri bellekte saklar ve bellekten
kullanabilirsiniz ( 10g yeni özellik).
Result Cache kullanarak sabit bilgileri bellekte saklar ve tekrar
kullanabilirsiniz ( 11g yeni özellik ).
SQL cümlelerinde DUAL kullanımını azaltmak CPU kullanımını düşürecektir.
SQL cümlelerinde gerekmedikçe DUAL Kullanmayınız.
Master-detay kayıt işlemlerinde bir komut ile Primary Key ‘i alabilirsiniz (
11g yeni özellik).
Conditional-Compilation ile bir kodda gereksiz kod parçalarını
kaldırabilirsiniz.
Fonksiyonel index kullanarak SQL leri hızlandırabiliriz.
Fonksiyonlarda Result-Cache kullanımı ile sabit değerleri bellekte tutabilir
ve hızlı erişebilirsiniz( 11g yeni özellik ).
Database Link yerine materilazed view kullanarak Network kullanımını ve
bağımlılığını azaltabiliriz.
Bind değişkenler kullanarak Parse işlemini azaltabilirsiniz . Böylece komutunuz
daha az CPU kullanacaktır.
Programlardaki commit atma sıklığını azaltarak, programları hızlandırabiliriz.
Trigger Kullanımını Azaltınız

• Trigger kullanımı SQL engine ile PL/SQL engine arasında context
switch’i arttırır.
• Trigger kodunu PL/SQL yerine Java’da yazabilirsiniz.
• Trigger kodu yerine Check Constraint’ler kullanılabilir.
• Bulk yapılan işlemler için Compound Trigger yaratabiliriz.
ÖlçeklenebilirKodyazmakuralları

• SQL  Set Language,

PL/SQL Procedural Language

• Sorgularımızı SQL ileyazalım. PL/SQL
‘iyalnızcatekkayıtbazındaçalışmakzorundaisekkullanabiliriz.
• Kodumuzdaperformansarttımakiçin SQL kullanmayaözengösterelim
;ÖzellikeExadatagibiyeniteknolojiler SQL
ileyazılankodlarınhızlarınıarttırmaktadır. PL/SQL
kullanandöngüiçindekayıtbazındaçalışnakodlar ; Exadata’ın Smart Scan
özelliğindefaydalanamazlar.
• Kayıtbazında ;Döngüiçindekodyazmakyerine; FORALL veya BULK
SELECT kullanarak BULK işlemleryapınız.
• Kodiçindefazlasayıdafonksiyonçağırmayınız. DUAL kullanmayınız.
• PL/SQL ‘iözellikle server ve business processing kodlamaiçinkullanınız.
Presentation seviyesindeveya validationyapmakiçin Java veya other
dillerikullanabilirsiniz.

More Related Content

Similar to GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

SLC ASP.NET Framework and BPM (TR)
SLC ASP.NET Framework and BPM (TR)SLC ASP.NET Framework and BPM (TR)
SLC ASP.NET Framework and BPM (TR)Selcuk Celik
 
React.js Web Programlama
React.js Web ProgramlamaReact.js Web Programlama
React.js Web ProgramlamaCihan Özhan
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Mustafa AKIN
 
İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09Cihan Özhan
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Openbravo Gelişmiş Depo Operasyonları - Wiki
Openbravo Gelişmiş Depo Operasyonları - WikiOpenbravo Gelişmiş Depo Operasyonları - Wiki
Openbravo Gelişmiş Depo Operasyonları - WikiMehmet Demirel
 
Expert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackExpert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackCansu Arslan
 
SQL Server 2008 R2 Yönetimi
SQL Server 2008 R2 YönetimiSQL Server 2008 R2 Yönetimi
SQL Server 2008 R2 YönetimiMustafa
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
React Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus DemirpolatReact Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus Demirpolatkloia
 
Stored procedure
Stored procedureStored procedure
Stored procedureoktaygokgol
 
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data PresentationSerkan Özal
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özelliklerturgaysahtiyan
 
Informatica pushdown optimization eğitimi
Informatica pushdown optimization eğitimiInformatica pushdown optimization eğitimi
Informatica pushdown optimization eğitimiahmet sedef
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerKavi International
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şoktaygokgol
 

Similar to GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1 (20)

SLC ASP.NET Framework and BPM (TR)
SLC ASP.NET Framework and BPM (TR)SLC ASP.NET Framework and BPM (TR)
SLC ASP.NET Framework and BPM (TR)
 
Modern Frontend
Modern FrontendModern Frontend
Modern Frontend
 
Php veritabani
Php veritabaniPhp veritabani
Php veritabani
 
React.js Web Programlama
React.js Web ProgramlamaReact.js Web Programlama
React.js Web Programlama
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Openbravo Gelişmiş Depo Operasyonları - Wiki
Openbravo Gelişmiş Depo Operasyonları - WikiOpenbravo Gelişmiş Depo Operasyonları - Wiki
Openbravo Gelişmiş Depo Operasyonları - Wiki
 
Expert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve RollbackExpert one-on-one Oracle / Redo ve Rollback
Expert one-on-one Oracle / Redo ve Rollback
 
SQL Server 2008 R2 Yönetimi
SQL Server 2008 R2 YönetimiSQL Server 2008 R2 Yönetimi
SQL Server 2008 R2 Yönetimi
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
React Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus DemirpolatReact Bootcamp Day 1 - Yunus Demirpolat
React Bootcamp Day 1 - Yunus Demirpolat
 
Cp Scom
Cp ScomCp Scom
Cp Scom
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data Presentation
 
SQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni ÖzelliklerSQL Server 2012 ile Gelen Yeni Özellikler
SQL Server 2012 ile Gelen Yeni Özellikler
 
Informatica pushdown optimization eğitimi
Informatica pushdown optimization eğitimiInformatica pushdown optimization eğitimi
Informatica pushdown optimization eğitimi
 
Solarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch ManagerSolarwinds SAM ve Patch Manager
Solarwinds SAM ve Patch Manager
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇ş
 

More from Anar Godjaev

Asm disk group migration from
Asm disk group migration from Asm disk group migration from
Asm disk group migration from Anar Godjaev
 
How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...Anar Godjaev
 
how to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaulthow to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaultAnar Godjaev
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin GüvenliğiAnar Godjaev
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden GateAnar Godjaev
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumAnar Godjaev
 
DataPump ile Single Parititon Export
DataPump ile Single Parititon ExportDataPump ile Single Parititon Export
DataPump ile Single Parititon ExportAnar Godjaev
 
Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Anar Godjaev
 
Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Anar Godjaev
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeAnar Godjaev
 
Conditional Control
Conditional ControlConditional Control
Conditional ControlAnar Godjaev
 
Audit Mekani̇zmasi
Audit Mekani̇zmasiAudit Mekani̇zmasi
Audit Mekani̇zmasiAnar Godjaev
 

More from Anar Godjaev (20)

Oracle GoldenGate
Oracle GoldenGateOracle GoldenGate
Oracle GoldenGate
 
Asm disk group migration from
Asm disk group migration from Asm disk group migration from
Asm disk group migration from
 
How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...How to protect your sensitive data using oracle database vault / Creating and...
How to protect your sensitive data using oracle database vault / Creating and...
 
how to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vaulthow to protect your sensitive data using oracle database vault
how to protect your sensitive data using oracle database vault
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin Güvenliği
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden Gate
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server Kurulum
 
DataPump ile Single Parititon Export
DataPump ile Single Parititon ExportDataPump ile Single Parititon Export
DataPump ile Single Parititon Export
 
Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇Redologlar ve Yöneti̇mi̇
Redologlar ve Yöneti̇mi̇
 
Contraints
ContraintsContraints
Contraints
 
Oracle SQL
Oracle SQLOracle SQL
Oracle SQL
 
Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇
 
Instance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını IncelemeInstance ve Media Bozukluklarını Inceleme
Instance ve Media Bozukluklarını Inceleme
 
Conditional Control
Conditional ControlConditional Control
Conditional Control
 
PL/SQL Blocks
PL/SQL BlocksPL/SQL Blocks
PL/SQL Blocks
 
Wait Interface
Wait InterfaceWait Interface
Wait Interface
 
Audit Mekani̇zmasi
Audit Mekani̇zmasiAudit Mekani̇zmasi
Audit Mekani̇zmasi
 
Tuning SGA
Tuning SGATuning SGA
Tuning SGA
 
Parallel Server
Parallel ServerParallel Server
Parallel Server
 
Table Partitions
Table PartitionsTable Partitions
Table Partitions
 

GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

  • 1. Geliştiriciler için Oracle 11g’de Ölçeklenebilir Kod geliştirme & Yeni Özellikler
  • 2.  PL/SQL’de Ölçeklenebilir kod geliştirmek için yöntemler :  Çoklu kayıt işleme  Döngü içinde kayıt işlemleri  Bulk İşlemler  Sabit Bilgilere erişim  DUAL kullanımı  Returning kullanımı  Conditional Compilation  Fonksiyonel Index kullanımı  Result Cache  Database link kullanımı  Parse işlemi  Commit Kullanımı
  • 3.  PL/SQL’de geliştiriciler için yeni özellikler :  Simple integer data türü  CONTINUE komutu  Sequence kullanımı  Subprogram inlining  Native Compile işlemi  Conditional Compilation  Read Only tablolar  Invisible index kullanımı  SQL Monitoring  Historic Performans tabloları  Otomatik SQL Tuning  SQL Plan Yönetimi  Temp tablespace  Compile Time Uyarıları
  • 4.  PL/SQL’de geliştiriciler için yeni özellikler:  SQL Procedure Parametre kullanımında iyileştirmeler  DDL Bekletme opsiyonu  Virtual Kolon  Kolon değişiklikleri ve Default kullanımında iyileştirmeler  Hata Takibi  Fine Grained Dependency  PLSQL_OPTIMIZE_LEVEL  Trigger’ların yeni özellikleri  Segmentsiz tablo yaratma  Yeni Partitioning özellikleri  Transparent Data Encryption  Edition Based Redefinition  Advanced Compression
  • 6. Döngü içinde teker teker DML işleri yapmak yerine ; işleminizi tek bir komuta indiriniz.
  • 7. İç içe döngüler içinde teker teker DML işleri yapmak yerine ; işleminizi tek bir komuta indiriniz.
  • 8. İç içe döngüler içinde teker teker DML işleri yapmak Context Switch’e neden olur.
  • 9. Context Switch’i azaltmak için FORALL ve BULK SELECT kullanabiliriz.
  • 10. BULK İşlemler ile Ölçeklenebilir kod yazabilirsiniz • Bulk insert, update , delete için FORALL kullanınız. • Bulk select için BULK COLLECT kullanınız. • Bulk işlem yapılarak Context Switch minimize edilir.
  • 11. Lookup tablo kullanarak sabit bilgileri bellekte saklar ve bellekten kullanabilirsiniz ( 10g yeni özellik).
  • 12. Result Cache kullanarak sabit bilgileri bellekte saklar ve tekrar kullanabilirsiniz ( 11g yeni özellik ).
  • 13. SQL cümlelerinde DUAL kullanımını azaltmak CPU kullanımını düşürecektir.
  • 14. SQL cümlelerinde gerekmedikçe DUAL Kullanmayınız.
  • 15. Master-detay kayıt işlemlerinde bir komut ile Primary Key ‘i alabilirsiniz ( 11g yeni özellik).
  • 16. Conditional-Compilation ile bir kodda gereksiz kod parçalarını kaldırabilirsiniz.
  • 17. Fonksiyonel index kullanarak SQL leri hızlandırabiliriz.
  • 18. Fonksiyonlarda Result-Cache kullanımı ile sabit değerleri bellekte tutabilir ve hızlı erişebilirsiniz( 11g yeni özellik ).
  • 19. Database Link yerine materilazed view kullanarak Network kullanımını ve bağımlılığını azaltabiliriz.
  • 20. Bind değişkenler kullanarak Parse işlemini azaltabilirsiniz . Böylece komutunuz daha az CPU kullanacaktır.
  • 21. Programlardaki commit atma sıklığını azaltarak, programları hızlandırabiliriz.
  • 22. Trigger Kullanımını Azaltınız • Trigger kullanımı SQL engine ile PL/SQL engine arasında context switch’i arttırır. • Trigger kodunu PL/SQL yerine Java’da yazabilirsiniz. • Trigger kodu yerine Check Constraint’ler kullanılabilir. • Bulk yapılan işlemler için Compound Trigger yaratabiliriz.
  • 23. ÖlçeklenebilirKodyazmakuralları • SQL  Set Language, PL/SQL Procedural Language • Sorgularımızı SQL ileyazalım. PL/SQL ‘iyalnızcatekkayıtbazındaçalışmakzorundaisekkullanabiliriz. • Kodumuzdaperformansarttımakiçin SQL kullanmayaözengösterelim ;ÖzellikeExadatagibiyeniteknolojiler SQL ileyazılankodlarınhızlarınıarttırmaktadır. PL/SQL kullanandöngüiçindekayıtbazındaçalışnakodlar ; Exadata’ın Smart Scan özelliğindefaydalanamazlar. • Kayıtbazında ;Döngüiçindekodyazmakyerine; FORALL veya BULK SELECT kullanarak BULK işlemleryapınız. • Kodiçindefazlasayıdafonksiyonçağırmayınız. DUAL kullanmayınız. • PL/SQL ‘iözellikle server ve business processing kodlamaiçinkullanınız. Presentation seviyesindeveya validationyapmakiçin Java veya other dillerikullanabilirsiniz.