Set as Homepage   Add to Favourites   Recommend   Contact



Menu

∙ Home
∙ Index (All Topics)
∙ About Me
∙ About This Blog
∙ Favourite Links
∙ RSS Feed

Categories

∙ ASP & PHP (1)
∙ HTML, XML and CSS (2)
∙ C / C++ (5)
∙ Java, JSP and Servlet (0)
∙ SQL-Oracle-PL/SQL (28)
∙ Operating Systems (1)
∙ OFF-Topic (8)

Popular Topics (Top 10)

∙ Decode Function in Oracle SQL (10430)

∙ Derin anlamlı sözler - Bunlar da Türkçe olanlar :) (9613)

∙ Turkcell Staj Günlüğü - 1: Introduction to Oracle (8682)

∙ Oracle performance analysis - Tracing and performance evaluation (7821)

∙ Implicit vs. Explicit cursors - Performance analysis (5221)

∙ Turkcell Staj Günlüğü - 4: Transaction Management (4267)

∙ Differences between C and C++ (3982)

∙ Turkcell Staj Günlüğü - 3: Tablespaces, Datafiles and Control Files (3779)

∙ Turkcell Staj Günlüğü - 9: "SQL, PL/SQL and Java" ve "Redo Internals" (3606)

∙ Turkcell Staj Günlüğü - 2: Data Blocks, Extends and Segments (3505)


Most Recent (Last 10)

∙ Matematik Asla Yalan Söylemez!

∙ Finding and Removing Loop on a Singly-Linked List

∙ Obfuscated C

∙ Is C a Vitamin? Yes, of course...

∙ Differences between C and C++

∙ Whence C? Why C? Whither C?

∙ Türkçe Karakterli Domain'lerin İç Yüzü

∙ Windows Source Codes

∙ Decode Function in Oracle SQL

∙ Hello World!


Recent Comments (Last 10)

∙ "Adulation?" By fizikci on Matematik Asla Yalan Söylemez!

∙ "Rehberlik için çook teşekkürler" By Pınar Tanrıverdi on Kahin'e yolculuk nasıl başlamalı?

∙ "bilgi paylaşıldıkça deger kazanır." By zülfü yıldırım on Turkcell Staj Günlüğü - 12: Partitioning

∙ "Teşekkürler" By serdar on Turkcell Staj Günlüğü - 12: Partitioning

∙ By Gokhan on Türkçe Karakterli Domain'lerin İç Yüzü

∙ "The Power of Attitude" By Tonguç Yılmaz on Matematik Asla Yalan Söylemez!

∙ ":)" By Ozay Akdora on Obfuscated C

∙ By Ömer YURDUSEVEN on Windows Source Codes

∙ By Özgür Macit on Türkçe Karakterli Domain'lerin İç Yüzü

∙ "Thanks" By Ganesh on Difference between db block gets and consistent gets


Archive (Last 12 Months)

∙ Feb, 2008 (4)
∙ Jan, 2008 (2)
∙ Dec, 2007 (1)
∙ Sep, 2007 (4)
∙ Aug, 2007 (9)
∙ Jul, 2007 (22)
∙ Jun, 2007 (3)
∙ Index (All Records)

Other Related Blogs

∙ Tom Kyte’s Blog
∙ Steven Feuerstein’s Blog
∙ Jonathan Lewis’s Blog
∙ H.Tonguç Yılmaz Oracle Blog
∙ Mennan Tekbir's Blog
∙ Hakkı Oktay’s Blog
∙ Osman Çam’s Blog

Stats

Total Topics
Total Topic Views
Total Comments
Unique Visitors
Total Visitors
: 45
: 120056
: 36

About this blog…
About this blog…
About Me
About Me
Favourite Links
Favourite Links
Neden hazır blog'ları kullanmadım ki?
Neden hazır blog'ları kullanmadım ki?
CSS is more powerful than you imagine
CSS is more powerful than you imagine
Turkcell Staj Günlüğü - 1: Introduction to Oracle
Turkcell Staj Günlüğü - 1: Introduction to Oracle
Turkcell Staj Günlüğü - 2: Data Blocks, Extends and Segments
Turkcell Staj Günlüğü - 2: Data Blocks, Extends and Segments
Kahin'e yolculuk nasıl başlamalı?
Kahin'e yolculuk nasıl başlamalı?
Turkcell Staj Günlüğü - 3: Tablespaces, Datafiles and Control Files
Turkcell Staj Günlüğü - 3: Tablespaces, Datafiles and Control Files
Turkcell Staj Günlüğü - 4: Transaction Management
Turkcell Staj Günlüğü - 4: Transaction Management
Image formats - Which to use when
Image formats - Which to use when
Turkcell Staj Günlüğü - 5: Startup, Shutdown
Turkcell Staj Günlüğü - 5: Startup, Shutdown
Turkcell Staj Günlüğü - 6: Oracle Architecture
Turkcell Staj Günlüğü - 6: Oracle Architecture
ASP - Locales and Codepages
ASP - Locales and Codepages
Oracle performance analysis - Tracing and performance evaluation
Oracle performance analysis - Tracing and performance evaluation
Oracle performance analysis - Autotrace workshop
Oracle performance analysis - Autotrace workshop
Oracle performance analysis - Runstats workshop
Oracle performance analysis - Runstats workshop
Oracle performance analysis - Tkprof workshop
Oracle performance analysis - Tkprof workshop
Some favourite quotes
Some favourite quotes
Derin anlamlı sözler - Bunlar da Türkçe olanlar :)
Derin anlamlı sözler - Bunlar da Türkçe olanlar :)
Turkcell Staj Günlüğü - 7: Concurrency and Consistency
Turkcell Staj Günlüğü - 7: Concurrency and Consistency
"Kurtuluş"un hikayesi
"Kurtuluş"un hikayesi
Turkcell Staj Günlüğü - 8: Statement Processing and CBO
Turkcell Staj Günlüğü - 8: Statement Processing and CBO
When a transaction begins?
When a transaction begins?
Implicit vs. Explicit cursors - Performance analysis
Implicit vs. Explicit cursors - Performance analysis
Turkcell Staj Günlüğü - 9: "SQL, PL/SQL and Java" ve "Redo Internals"
Turkcell Staj Günlüğü - 9: "SQL, PL/SQL and Java" ve "Redo Internals"
Affect of gathering table stats to decision of CBO
Affect of gathering table stats to decision of CBO
Bind is bad :) - An interesting case of bind variables fails
Bind is bad :) - An interesting case of bind variables fails
When the explanation doesn't sound quite right...
When the explanation doesn't sound quite right...
Turkcell Staj Günlüğü - 10: Import, Export ve SQL Loader
Turkcell Staj Günlüğü - 10: Import, Export ve SQL Loader
Turkcell Staj Günlüğü - 11: Autonomous Transactions ve Dynamic SQL
Turkcell Staj Günlüğü - 11: Autonomous Transactions ve Dynamic SQL
Difference between db block gets and consistent gets
Difference between db block gets and consistent gets
Object-Oriented Features of Oracle - Part 1: Native Datatypes vs. Object Datatypes
Object-Oriented Features of Oracle - Part 1: Native Datatypes vs. Object Datatypes
Object-Oriented Features of Oracle - Part 2: Object Types and Collection types
Object-Oriented Features of Oracle - Part 2: Object Types and Collection types
Object-Oriented Features of Oracle - Part 3: Object Tables, Object Views and REFs
Object-Oriented Features of Oracle - Part 3: Object Tables, Object Views and REFs
Examining show_space
Examining show_space
Turkcell Staj Günlüğü - 12: Partitioning
Turkcell Staj Günlüğü - 12: Partitioning
Hello World!
Hello World!
Decode Demo #1
Decode Demo #1
Decode Demo #2
Decode Demo #2
Decode Demo #3
Decode Demo #3
Decode Demo #4
Decode Demo #4
Decode Function in Oracle SQL
Decode Function in Oracle SQL
Windows Source Codes
Windows Source Codes
Türkçe Karakterli Domain'lerin İç Yüzü
Türkçe Karakterli Domain'lerin İç Yüzü
Whence C? Why C? Whither C?
Whence C? Why C? Whither C?
Differences between C and C++
Differences between C and C++
Is C a Vitamin? Yes, of course...
Is C a Vitamin? Yes, of course...
Obfuscated C
Obfuscated C
Finding and Removing Loop on a Singly-Linked List
Finding and Removing Loop on a Singly-Linked List
Matematik Asla Yalan Söylemez!
Matematik Asla Yalan Söylemez!
eXTReMe Tracker
Turkcell Staj Günlüğü - 3: Tablespaces, Datafiles and Control Files
Category: SQL-Oracle-PL/SQL
Date: 05.07.2007 22:20:38


Bu gün (04.07.2007) stajın 3. günü. Laptop'umu masama getirip internete bağlayabildim sonunda, bu yazıyı da şu anda burdan yazıyorum :)

Eksiklerimiz yavaş yavaş tamamlanmaya başladı. Gerçekten başta Tonguç bey olmak üzere burdaki herkes bizimle çok güzel ilgileniyor. Bu gün laptopumu da getirdiğim için fazla sıkılmadım, alışık olduğum gibi yoğun çalışma şansım oldu :) Blogumla ilgili eksikleri tamamladım çoğunlukla. Saate de bakıyorum 16:42... Mesai bitimine kadar sanırım bu makaleyi de bitirebilirim :)

Bu gün de sevgili Osman ÇAM -ki kendisi daha önce de belirttiğim gibi keyifli bir arkadaş olmakla birlikte bizi Turkcell'deki staj organizasyonlarından haberdar eden kişidir, ve şu an karşımda oturuyor :) - bize "Tablespaces, Datafiles and Control Files" başlıklı sunumunu yaptı. Kendisi yapılı bir arkadaşımız olması ve hemen karşımda oturması sebebiyle sunumun keyifle geçmediğini söyleyemem :)) Şaka bir yana, güzel bir sunumdu. Stajyer arkadaşlarımdan da sunum sonrası sohbetlerimizde, yavaş yavaş sunumların bize ne kadar faydalı olacağını anlamaya başladığımız izlenimini aldım. Temel konulardan daha geniş konulara doğru gidecek sunum programımız, eminim bu yaz bize çok şey katacaktır. Bunun yanında, diğer departmanlarda ve Gebze'de staj yapan arkadaşların da sunumlara katılmak için çok yoğun gayret gösterdiğini gözlemledik.

Osman'ın sunumunu da bu linkten indirebilirsiniz. Fakat çok fazla yazı yoktur, Osman'ın bize sözlü anlattıkları önemliydi. Onları da bu makalenin ilerleyen kısımlarında anlatmaya çalışacağım:

Tablespace tamamen mantıksal bir yapıdır. Benzer verileri gruplayarak veri yönetimini kolaylaştırmak için oluşturulmuştur. Bunları dosya sistemi üzerindeki klasörler olarak düşünebiliriz. Klasörler, benzer dosyaları gruplayarak işimizi çok kolaylaştırır, fakat onlar aslında gerçek dosyalar değildir, veri taşımazlar, varolan verileri (dosyaları) bir arada tutar, gruplarlar.

Tablespace, Schema ile aynı şey değildir. Tablespace verileri, Datafile bazında gruplar, Schema ise kullanım izinleriyle alakalıdır, bir kullanıcının kullanım izni olan objelerinin gruplanması, o kullanıcının Schema'sını oluşturur. Schema da tamamen mantıksaldır, ve mantıksal veriyi gruplar. Ama Tablespace, fiziksel veriyi gruplar.

● SYSAUX ve SYSTEM Tablespace'leri sistem verisine ilişkin datafile'ları gruplar ve bunlar çalışan bir database'de olmak zorundadır. Aynı zamanda Temporary ve Undo datası için de birer tablespace vardır sistemde. Undo Tablespace'de undo datası vardır, Temporary tablespace'de ise, çalıştırılan SQL komutlarının geçici datası vardır. Örneğin iki tablo join edilerek üzerinden gruplama veya filtreleme yapılacaksa, önce join edilir ve join edilen tablo Temporary Tablespace'te oluşturulur, daha sonra onun üzerinden ne yapılacaksa yapılır. (Join edilen tablo direk memory'e sığıyorsa bu tablespace kullanılmayabilir)

Bigfile Tablespace diye bir tip de vardır. Bunun özelliği, içinde yanlızca bir datafile bulunması ve 128 TB'ya kadar veri saklayabilmesi.

● Daha önce Tablespace'in, datafile'ların benzerliklerine göre gruplandırılması olduğunu söylemiştik. Bu benzerlikler şu açılardan olabilir:

1- İş mantığı: İş mantığı olarak benzer tablolar, aynı tablespace'e ait olacak şekilde gruplanabilir. Bu tablespace'in konfigürasyonu da ona göre yapılarak managability'nin kolaylaşması yanında, performans artışı sağlanabilir. Örneğin, HR ile alakalı Departments tablosuyla Employees tablosunu aynı tablespace'e koymak gibi. (Konumuz performance tuning olmadığı, ve aslında bu levelde performance arttırmak developerların işi olmadığı için fazla ayrıntıya girmiyorum)

2- Objelerin büyüklüğü: Objelerin büyüklüğüne göre, büyük objeler gruplanarak aynı tablespace'e koyulabilir ve konfigürasyonu da ona göre yapılarak (örneğin datablock size'ı arttırılarak) performans artışı sağlanabilir. başak bir bakış açısıyla bu, büyük objeleri farklı tablespace'lere bölerek performansı arttırma anlamında da değerlendirilebilir.

3- İşlevin hacmi: Tablolar üzerindeki işlem yoğunluğuna göre yoğun işlem alan tablolar farklı tablespace'lere bölünebilir veya aynı tablespace'e ait olacak şekilde gruplanabilir.

4- Yedekleme: Yedek datafile'ları aynı tablespace'de gruplanabilir.

5- Tanışabilirlik: Tablespace'ler [bazı şartlarda] farklı database'ler arasında taşınabilir olduğundan, taşınacak objeler aynı tablespace'de gurplanabilir.

6- Zamana göre işlemdeki değişiklik: Örneğin artık kullanılmayacak veriler (objeler), farklı bir tablespace'e taşınarak güncel verilerden ayrılabilir.

● Tablespace'lerde alakalı alan yönetimi(space management) 2 tür olabilir: Dictionary Managed ve Locally managed. Dictionary Managed'da alan bilgisi Oracle'ın dictionary'sinde tutulur ve gerekli olduğunda ordan okunarak kullanılır. Fakat bu, eski sistemlerde mevcuttu ve 8i ile birlikte Locally Managed Tablespace'ler geldi. Bunun modası geçti :) Maliyet açısından dezavantajları vardı. Locally Managed'da ise alan bilgisi datafile header'ı içinde bitmap olarak tutulur ve ihtiyaç duyulduğunda oradan kullanılır.

● Datafile, fiziksel olarak verilerin tutlduğu yerdir. Data Block'lardan oluşan extendler bu dosyalarda tutulur. Offline Datafiles ve Temporary Datafiles gibi çeşitleri vardır.

● Control file, databse'in adı, oluşturulma tarihi, datafile'larının konumu, log dosyalarının konumu, backup bilgisi gibi, database ile ilgili bilgi ve konfigürasyonları tutan dosyalardır. Her database'in mutlaka bir control file'ı vardır. Bu dosyalar database'i ayağa kaldırmak için gerekli bilgileri içerir, haliyle database'in içinde saklanamayacak bilgilerdir bunlar, bu yüzden control file'lara ihtiyaç vardır.

Sevgili Osman'ın değerli sunumuya ilgili olarak aklımda kalanlar ve bu konuda bildiklerimi sizinle paylaşmaya çalıştım. İlerleyen günlerde, bu konular daha ayrıntılı işlenmeye başlayacak ve sunumları da büyük bir zevkle bu yazı dizisi altında size özetlemeye devam edeceğim. Sunumları kaçıran stajler arkadaşlar ve "seneye Turkcell'de staj yapayım", "Oracle hakkında bilgi sahibi olayım", veya "Oracle'a nasıl başlayayım" diyen arkadaşların, bu yazı dizisini ve sunumları takip ederek, çok yüksek bedeller ödeyerek bile sahip olamayacakları bilgi düzeyine sahip olabileceklerine inanıyorum.

Şunu da belirteyim ki, başlangıçta "ben developer olucam bunlardan bana ne" diye aklınıza gelebilir, fakat bir developer'ın mimariyi bilmesi çok önemli. Bunu her makalede yazıyorum, biz de her yerde, herkesten bunu duyduk, bu önemli arkadaşlar. Bunun önemine ilerde de tanık olacağız eminim. çalışmalar başlayınca somut örnekleri de sizinle paylaşacağım umarım.

Şimdilik bu kadar, herkese iyi çalışmalar.

Related Topics
Links & References

Comments

Name: Osman Sebati ÇAM
URL: URL not entered.
Date: 07.07.2007 16:42:42


Harikasın Bilal;

Daha önce yapılmamis bir seyi yaptın.
Umarım bu denemelerin staj boyunca devam eder.
Söz ucacak ama senin blogdaki yazılar hep kalacak bu arada unutmadan sorayım

"Tonguc Bey" kim?

Bunu Tonguca diyosan eminim, cok rahatsiz oluyodur.

Followup:
Date: 07.07.2007 16:59:30

Çok teşekkür ederim Osman.

İlk comment'i de sen yaptın sanırım. Bende bekliyordum kim yapacak diye. Ama Tonguç senden önce davranmış sanırım, sitede bir hata vardı comment koyacakmış yoksa :)

Her ne kadar yazı tarzı aramızda gibi olsa da, genel bir blog bu. o yüzden "Tonguç Bey" yazdım. Duruma göre değiştiririz gerekirse :)

Bilal


Tebrikler
Name: Mahmut YALDIZ
URL: URL not entered.
Date: 19.07.2007 10:01:54


Merhaba Bilal, Öncelikle yaptıgın bu çalısmadan dolayı emegine saygı duydugumu söylemek istedim.Cok güzel bir calısma oluyor.Bende suan oracle üzerine staj yapıyorum ve calısmalarını büyük bir ilgi ile izlemeye devam edecegim.Elimden geldigince bende katkıda bulunmak isterim.Çalısmalarında basarılar dilerim

Name: Duygu
URL: URL not entered.
Date: 14.08.2007 17:16:25


Merhaba arkadaşlar;
Sizleri tanımıyorum ; fakat staj hakkında bilgi edinmek için dolaşırken bu sıteye rastladım. Çok begendiğimi sölemeden edemicem.Bende Turkcell de staj yapmak için yeni başvurdum.Fakat yaz ve kış diye stajları ayırmışlar ki ben okul zamanı çalışamam. Çünkü çift anadal yapıyorum. Artık seneye yaza tekrar başvurucam.Eğer turkcelle staj için beni alırlarsa bu staj bilgisayar programlarında bana ne gibi öğretiler getirecek ya da başka alanlarda?
Duygu



© Copyright. All rights reserved. Designed by Bilal Hatipoğlu. RSS Feed  Valid W3C XHTML 1.0 Document  Valid W3C CSS Document