Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ORACLE Oracle, büyük miktarda veriyi çok kullanıcılı ortamda, birçok kullanıcının aynı anda aynı veriye erişmesine izin verecek şekilde idare edebilen.

Benzer bir sunumlar


... konulu sunumlar: "ORACLE Oracle, büyük miktarda veriyi çok kullanıcılı ortamda, birçok kullanıcının aynı anda aynı veriye erişmesine izin verecek şekilde idare edebilen."— Sunum transkripti:

1 ORACLE Oracle, büyük miktarda veriyi çok kullanıcılı ortamda, birçok kullanıcının aynı anda aynı veriye erişmesine izin verecek şekilde idare edebilen bir ilişkisel veri tabanı yönetim sistemidir (İVTYS-RDBMS). Yüksek performansı, yetkisiz kullanıcıların girişlerini engellemesi ve beklenmedik durumlarda oluşabilecek veri kaybını engelleyecek çözümler sunması en önemli özelliklerinden bazılarıdır. Sadece Windows işletim sistemi ile değil, farklı işletim sistemleri ile de (Özellikle Unix&Linux platformları ile) çalışabilmesi nedeniyle MS SQL Server’a göre kullanım oranı daha yüksektir (Tüm dünyada %48’lik pazar payı ile en çok kullanılan İVTYS’dir. *) * “Gartner 2009 Worldwide RDBMS Market Share Reports” verilerine göre Rakipleri: IBM DB2 (%21) Microsoft SQL Server (%18.5) Sybase SQL Server (%3.5) Teradata Database (%3.3)

2 Veritabanı Yapısı Mantıksal Fiziksel Veritabanı Veri Tablespace
Dosyası Tablespace Mantıksal Segment Fiziksel Extent Block: Veri blokları, Oracle veritabanında verinin saklandığı en küçük yapıdır. Oracle block’ları, işletim sistemi bloklarına eşit veya onların katları olabilir. DB_BLOCK_SIZE parametresi ile bu büyüklük belirlenebilir. Extent: Bir extent (uzantı), belirli sayıdaki ardışık veritabanı bloğundan oluşur, bir seferde alınır ve belirli bir tipteki bilgiyi tutmak için kullanılır. Extent’ler sadece bir veri dosyasında bulunabilirler. Segment: Segment (bölüm), belirli bir mantıksal yapı için tahsis edilmiş extentler kümesidir. Bir segmentin içindeki tüm extentler dolduğunda, Oracle dinamik olarak yeni yer tahsis eder. Bir segment, aynı tablespace’e ait olan dosyalar arasında bölüşülebilir. Segment tipleri; Table, Index, Temporary ve Rollback. Tablespace: Tablespace yönetimsel işleri kolaylaştırmak için bütün uygulama nesnelerini birlikte gruplar. Kullanıcılara yer tahsis etmek, verinin ulaşılabilirliğini kontrol etmek, veri saklanmasını farklı disklere bölerek I/O performansını arttırmak, kısmi backup ve kısmi recovery işlemlerini gerçekleştirmek gibi kullanım alanları vardır. Her tablespace sadece bir veritabanına ait olabilir, ve bir yada daha çok işletim sistemi dosyasından oluşur. Veritabanı çalışırken tablespace’ler offline konumuna getirilebilir. “Oracle Storage Manager” ile tablespace yaratılabilir. Veri Dosyası: Her tablespace bir yada daha çok veri dosyası içerir. Bir veri dosyası sadece bir tablespace’e ait olabilir. Veritabanı yöneticisi, bir veri dosyasının büyüklüğünü, o dosyanın yaratılmasından sonra da değiştirebilir, veya tablespace nesnesinin büyümesiyle orantılı olarak büyümesini sağlayabilir. Oracle block O/S Block

3 Process’ler ve Instance
SGA Shared pool DBWn LGWR Server process PGA User process Kontrol dosyaları Veri dosyaları Online redo log dosyaları Kullanıcı SQL*Plus gibi bir araç veya veritabanını kullanan bir uygulama çalıştırdığında, istemci makinede bir user process başlatılır. Kullanıcı, adını, şifresini ve ulaşmak istediği veritabanının ismini girerek Oracle Sunucusuna bağlanır ve o anda sunucu makinede bir server process yaratılır (Eğer Dedicated Server değil de Shared Server yapısı kullanılıyorsa her user process için ayrı bir server process oluşturulmaz. Her oturum dispatcher tarafından paylaşımlı server process havuzuna yönlendirilerek, user process’in faaliyette olan bir server process ile ilişkilendirilmesi sağlanır). User process isteklerini server process’e iletir. Server process istekleri yerine getirir, ve sonucunu user process’e verir. Kullanıcı bağlantıyı kestiğinde server ve user process’ler bitirilir. Oracle sunucusunda server process dışında, disk girdi/çıktı işlemleri gibi arkaplan işlemlerini gerçekleştiren background process’ler de vardır. Bunlar user process ile doğrudan ilişkili değildirler. Belirli zaman aralıklarında veya belirli koşulların sağlanması durumunda çalışırlar. Her çalışan Oracle veritabanı bir instance (an / örnek) ile ilişkilendirilir. ORACLE_SID ile işletim sistemine tanıtılan instance, belirli bir zamanda sadece bir veritabanını açıp kullanabilir. Veritabanı

4 Oracle Hafıza Mimarisi
Server process 1 Server process 2 Background process PGA PGA PGA Data Dictionary cache SGA Shared SQL area Library cache Other Redo log buffer Shared pool Free memory I/O Buffer Database buffer cache Instance, System Global Area (SGA) adında bir hafıza yapısına sahiptir. SGA tüm sunucu ve arkaplan işlemleri tarafından paylaşılır. SGA’nın içindeki bileşenler: Database Buffer Cache: Veritabanından elde edilen veri bloklarını saklar. Redo Log Buffer: Instance’ın veritabanında yaptığı değişikliklerin kaydedildiği bölgedir. Gerektiğinde recovery işleminde kullanılmak üzere bu bilgiler belirli zaman aralıklarında redo log dosyalarına aktarılır. Shared Pool: En son çalıştırılan sorgu ve veri kütüphanesinden en son kullanılan veri gibi bilgileri saklar. Large Pool: Backup/Recovery işlemleri ve I/O sunucu işlemleri gibi bazı büyük işlemler için büyük miktarda hafıza tahsisi gerektiğinde kullanılan bölgedir. Java Pool: Java Sanal Makinesi (JVM) tarafından kullanılan tüm oturum-bazlı Java kodu ve verisini saklar. Streams Pool: Yakalama (capture) ve uygulama (apply) işlemleri için gerekli olan bilgileri saklamak için Oracle Stream’leri tarafından kullanılır. Process Global Area (PGA), bir server process'i veya bir arkaplan process'i için veri ve kontrol bilgilerini içeren hafıza bölgesidir. Birçok process tarafından paylaşılabilen SGA'nın tersine, PGA sadece kendisini başlatan process tarafından kullanılabilir. Response queue Request queue Java pool Streams pool Large pool

5 Veritabanı Saklama Mimarisi
Kontrol dosyaları Veri dosyaları Online redo log dosyaları Parametre dosyası Yedek dosyaları Arşivlenmiş redo log dosyaları Kontrol dosyaları: Kontrol dosyasında veritabanının fiziksel yapısı ile ilgili bilgiler (veritabanının adı, veri dosyaları ve redo log dosyalarının yerleri ve adları, …) tutulur. Bir veritabanı en az bir kontrol dosyası içerir. Veri dosyaları: Veri kütüphanesini, kullanıcı (şema) nesnelerini ve transaction’lar tarafından değiştirilen eski değerleri saklar. Bir veritabanı en az bir veri dosyasına sahiptir. Online redo log dosyaları: Beklenmedik durumlar karşısında veri kaybını önlemek ve veritabanını yeniden oluşturmayı sağlamak için veritabanında olan değişikliklerin kaydını tutar. Bir veritabanına en az 2 redo log gereklidir. Parametre dosyası: Bir Oracle instance’ının kendisini başlatırken gerek duyduğu tanımların saklandığı metin tabanlı dosyadır. Şifre dosyası: SYS gibi ayrıcalıklı veritabanı kullanıcılarının şifrelerini saklar. Yedek dosyaları: Orijinal veri dosyasının hasar görmesi durumunda kullanılır. Arşivlenmiş redo log dosyaları: Redo log dosyalarının offline kopyalarıdır. Disk bozukluğu gibi durumlarda kurtarma işlevi görür. Trace dosyaları: Her process kendisi ile ilişkilendirilen trace (iz) dosyasına hata durumlarının kaydını yazar. Gerekli olduğu durumlarda veritabanı yöneticisi veya Oracle destek birimi çalışanı tarafından incelenir. Alert log dosyası: Veritabanındaki hataların kronolojik olarak yazıldığı dosyadır. Belirli aralıklarla göz atılması tavsiye edilir. Şifre dosyası Alert log ve trace dosyaları

6 Parametre Dosyası db_name = VT1
control_files = (c:\data\control01.con, d:\data\control02.con) db_block_size = 8192 db_block_buffers = # 550 (ORTA), 3200 (BÜYÜK) db_files = # 400 (ORTA), 1000 (BÜYÜK) shared_pool_size = # (ORTA), (BÜYÜK) log_buffer = # (ORTA), (BÜYÜK) processes = # 100 (ORTA), 200 (BÜYÜK) db_file_multiblock_read_count = # 16 (ORTA),32 (BÜYÜK) log_checkpoint_interval = # 10 saniyede 1 checkpoint max_dump_file_size = # en fazla 5MB olabilir background_dump_dest = (d:\oracle\admin\ORCL\backdump) user_dump_dest = (d:\oracle\admin\ORCL\userdump) # audit_trail = true # timed_statistics = true ... DB_NAME: 8 yada daha az sayıda karakterden oluşur. Veritabanını tanımlar. ORACLE_SID ile aynı olmak zorunda değildir, ama CREATE DATABASE’de kullanılan isimle aynı olmalıdır. CONTROL_FILES: Kontrol dosyalarının listesini belirler. (Eğer mümkünse farklı disklerde yer alan en az 2 kontrol dosyası yaratın. Bu aşamada kontrol dosyasının var olup olmaması önemli değildir. Oracle Server veritabanını yaratırken, yeni işletim sistemi dosyaları yaratabilir.) DB_BLOCK_SIZE: Veritabanı block genişliğini belirler. (Veritabanı yaratıldıktan sonra bu büyüklük değiştirilemez.) Yukarıdaki 3 parametreyi instance’ı başlatabilmek için mutlaka tanımlamak gerekir. Seçimlik parametrelerin bazıları: DB_BLOCK_BUFFERS: SGA’daki block sayısı. Varsayılan ve en az değer 50. SHARED_POOL_SIZE: Paylaşım havuzunun byte cinsinden büyüklüğü. Varsayılan değeri MAX_DUMP_FILE_SIZE: Kullanıcı işaret dosyalarının (trace files) alabileceği en büyük değer. (birimi: işletim sistemi bloğu) BACKGROUND_DUMP_DEST: Arkaplan işaret dosyasının ve ALERT dosyasının yerini belirler. USER_DUMP_DEST: Kullanıcı isteği ile yaratılacak işaret dosyalarının yerini belirler.

7 Trace dosyaları ve Alert log dosyası
Oracle instance'ı çalışırken bir hata oluşursa, mesajlar ALERT dosyasına kronolojik olarak yazılır. Veritabanı açılırken, eğer ALERT dosyası yoksa Oracle bir tane yaratır. Eğer hata bir arkaplan işlemi tarafından tespit edildiyse, bilgi bir iz (trace) dosyasına yazılır. İz dosyaları aynı zamanda kullanıcının isteği ile server işlemleri tarafından da yaratılabilir. Bu dosyalara kullanıcı iz dosyaları (user trace files) denir. Bu dosyaların konumu parametre dosyasındaki USER_DUMP_DEST ile, alabileceği en büyük değer ise MAX_DUMP_FILE_SIZE ile belirlenebilir. Aşağıdaki komut belirli bir oturum için bir işaret dosyasının kullanılmasını sağlar. ALTER SESSION SET SQL_TRACE = TRUE;

8 Arkaplan (background) Process’leri
Arkaplan İşlemleri Server Server Server Server Server Sunucu process’leri SGA Shared pool Database buffer cache Redo log buffer Library cache SGA Data dict. cache CKPT RECO PMON SMON DBWn LGWR ARCn Others Her Oracle instance’ı, farklı arkaplan işlemlerine sahip olabilir. RAC (Real Application Clusters) ve ASM (Automatic Storage Management) kullanılmadığı durumlarda instance içinde yer alan arkaplan işlemleri: Database Writer process (DBWn) Log Writer process (LGWR) Checkpoint process (CKPT) System Monitor process (SMON) Process Monitor process (PMON) Recoverer process (RECO) Job Queue processes Archiver processes (ARCn) Queue Monitor processes (QMNn) Eğer RAC veya ASM kullanılıyorsa daha fazla sayıda arkaplan işlemi kullanılır. V$BGPROCESS görünümü içinde arkaplan işlemleri ile ilgili bilgiler yer alır. Bazı arkaplan işlemleri instance başladığında otomatik olarak yaratılırken, bazıları ise gerekli olduğu durumlarda başlatılır. Arkaplan (background) Process’leri

9 Database Writer (DBWn)
Instance SGA Shared pool DBWR Database buffer cache Veri Dosyaları Kontrol dosyaları Redo log dosyaları Database Writer (DBWn): Server Process, değişiklikleri database buffer cache’deki veri ve rollback bloklarına kaydeder. Database Writer (DBWR), dirty buffer’ları database buffer cache’ten veri dosyalarına yazar. Yeterli sayıda serbest buffer’ın (Server process’in veri dosyalarından blok okuması gerektiğinde, üstüne yazılabilecek buffer’lar) database buffer cache’de bulunmasını sağlar. Server process direkt olarak veri dosyalarına ulaşmadığı için performans artar. DBWR aşağıdaki olaylardan biri gerçekleşince çalışır: 1 Dirty buffers sayısı eşik değerine ulaştığında 2 Bir işlem belirli sayıda boş blok arayıp bulamadığında 3 Bir zamanaşımı oluştuğunda 4 Veritabanı kapanırken

10 Log Writer (LGWR) Instance SGA Shared pool Redo log buffer LGWR Veri
Dosyaları Kontrol dosyaları Redo log dosyaları Log Writer (LGWR): Girdileri redo log buffer’dan redo log dosyalarına yazan arkaplan işlemidir. Aşağıdaki durumlarda LGWR redo log dosyasına sıralı yazma işlemi gerçekleştirir. 1 Redo log buffer'ın 1/3'ü dolduğunda 2 Bir zamanaşımı oluştuğunda (her 3 saniyede bir defa) 3 DBWR değişen blokları database buffer cache'ten veri dosyalarına aktarmadan önce 4 Bir transaction commit edildiğinde (işlendiğinde) System Monitor (SMON): Veritabanı açıldığında recovery gerekip gerekmediğini araştırır. Veritabanının tutarlılığını kontrol eder. Process Monitor (PMON): Process’lerden biri sonlanmazsa bu process’in kullandığı tüm kaynakları temizler. Checkpoint process (CKPT): Buffer cache’teki değişiklikler veritabanına kaydedildiğinde, veritabanının durum bilgisini günceller.

11 Bir Sorgunun İşlenmesi
Parse Statement Handle Execute SELECT * FROM emp ORDER BY ename; Handle Fetch OK OK Results User process Server process 1 Parse Bu bölümde, kullanıcı process'i sorguyu server process'e, yazım kontrolü için bir istek ile gönderir veya sorguyu işler. Server process, komutun geçerliliğini kontrol eder, ve SGA'daki Shared Pool alanını ifadeyi derlemek için kullanır. Bu safhanın sonunda server process user process'e olumlu yada olumsuz bir yanıt gönderir. Parse aşamasında kullanılan Shared Pool içinde bulunan Library Cache, en son kullanılan SQL ifadeleri ile ilgili bilgileri saklar. Bir ifade yeniden çalıştırılırken, eğer çalıştırma planının üzerine başka ifadelerin çalıştırma planları yazılmadıysa, server process ifadeyi yazım açısından incelemek (parse) zorunda kalmaz. Data Dictionary Cache ise, tablo ve kolon tanımlamaları, kullanıcı isimleri ve şifreler, ve ayrıcalıklar gibi en son kullanılan veri kütüphanesi bilgilerini içerir. 2 Execute Bu safhada server process veriyi almak için hazırlar. 3 Fetch Sorgu tarafından seçilen satırlar bu safhada server'dan user'a gider. Transfer için kullanılan hafızanın büyüklüğüne bağlı olarak, sorgunun sonucunu kullanıcıya aktarmak için bir yada daha çok fetch (alıp getirme) gereklidir.

12 Bir DML İfadesinin İşlenmesi
3 UPDATE emp SET sal=sal*1.1 WHERE empno=7369 Instance SGA Shared pool Library cache Redo log buffer Database buffer cache Data dictionary cache 4 5 Server process 2 1 Kontrol dosyaları Redo log dosyaları Veri dosyaları Veritabanı Bir DML (Data Manipulation Language) ifadesi (UPDATE, DELETE, INSERT) sadece Parse ve Execute safhalarını içerir. 1 Server process, veri ve rollback bloklarını buffer cache’de bulamazsa, bu blokları veri dosyalarından okur. 2 Okunan blokları buffer cache’e kopyalar. 3 Server process veriyi kilitler. 4 Server process, yapılan değişikliği, redo log buffer içindeki rollback (önceki değer) ve veri (yeni değer) kısımlarına kaydeder. 5 Server process, database buffer cache içindeki rollback bloğuna önceki değeri kaydeder ve veri bloğunu da günceller. Buffer cache’teki her iki blok, diskteki ilgili bloklarla aynı değerlere sahip olmadıklarını belirtmesi için, dirty buffers olarak işaretlenir. Database Buffer Cache: En son kullanılan veri bloklarını saklamak için kullanılır. Her bir buffer'ın büyüklüğü, DB_BLOCK_SIZE parametresi ile belirlenen blok boyutu ile aynıdır. Buffer sayısı DB_BLOCK_BUFFERS ile belirlenir. Oracle server Buffer Cache'de yeni blok alanları temin etmek için Least Recently Used (LRU) algoritmasını kullanır.

13 COMMIT İşlemi 1 4 3 2 Server process User process Instance SGA
Shared pool Server process Database buffer cache Redo log buffer 4 2 3 LGWR User process Kontrol dosyaları Redo log dosyaları Veri dosyaları Veritabanı 1 Server process, redo log buffer’a bir commit kaydı yapar. Bu kaydı yaparken SCN (System Change Number) kullanır. Bir transaction commit edildiğinde, Oracle Server bu transaction’a, veritabanı için unique olan ve devamlı artan bir SCN verir. 2 LGWR redo log buffer girdilerini, commit kaydı ile beraber, redo log dosyalarına yazar. Bu noktadan sonra, dosya okuma hatası oluşmadıkça, Oracle server değişiklerin kaybolmayacağını garanti eder. 3 COMMIT’in tamamlandığı kullanıcıya bildirilir. 4 Server process, transaction’ın bittiğine ve kilitlerin kaldırılabileceğine dair bilgiyi kaydeder. COMMIT’in avantajları: Log dosyalarına sıralı yazmak, veri dosyalarındaki farklı bloklara yazmaktan daha hızlıdır. Log dosyalarına yazılan değişiklikleri kaydeden bilgi çok küçüktür. Bunun yanında veri dosyalarına yazmak, verinin tüm bloklarının yazılmasını gerektirir. Transaction’ın büyüklüğü COMMIT işleminin harcadığı zamanı etkilemez.

14 Veritabanının Yaratılması
CREATE DATABASE VT1 MAXLOGFILES 32 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXLOGHISTORY 100 LOGFILE GROUP 1 ('c:\oradb\log1a.rdo','d:\oradb\log1b.rdo') SIZE 1 M, GROUP 2 ('c:\oradb\log2a.rdo','d:\oradb\log2b.rdo') SIZE 1 M DATAFILE 'c:\oradb\system01.dbf' size 32M autoextend on CHARACTER SET WE8ISO8859P9 NATIONAL CHARACTER SET WE8ISO8859P9; MAXLOGFILES Veritabanı için yaratılabilecek en fazla log dosyası grubu sayısı MAXLOGMEMBERS Bir log dosyası grubu için en fazla üye sayısı MAXDATAFILES Veritabanı için yaratılabilecek en fazla veri dosyası sayısı MAXLOGHISTORY Oracle Parallel Server’ın otomatik recovery yapması için oluşturabileceği en fazla redo log sayısı LOGFILE GROUP Kullanılacak log dosyalarının ve ait oldukları grupların isimlerini belirler DATAFILE Kullanılacak veri dosyalarını tanımlar AUTOEXTEND ON Otomatik büyümeye izin verir OFF Otomatik büyümeye izin vermez CHARACTER SET Veritabanının veriyi saklamak için kullanacağı karakter kümesi (örneğimizdeki WE8ISO885P9, Türkçe karakter setidir)

15 Database Configuration Assistant
Veritabanını “Configuration and Migration Tools” altında yer alan “Database Configuration Assistant” uygulamasını kullanarak ta yaratabiliriz. Bu uygulama ilgili servisleri başlatır, parametre dosyasını yaratır ve düzenler, veritabanını yaratır, veri sözlüğünü oluşturmak için ve PL/SQL için gerekli olan tüm script’leri yürütür. Bu uygulama aynı zamanda veritabanlarını ve servisleri sistemden kaldırmak için de kullanılabilir.

16 Startup ve Shutdown OPEN STARTUP MOUNT NOMOUNT SHUTDOWN SHUTDOWN
Bu instance için control dosyası tarafından tanımlanan tüm dosyalar açıldı. MOUNT Bu instance için control dosyası açıldı. NOMOUNT SHUTDOWN Instance başladı. SHUTDOWN NOMOUNT Veritabanı yaratılırken, veya kontrol dosyaları tekrar yaratılırken kullanılır. Instance başlarken; parametre dosyası (init<SID>.ora) okunur, SGA oluşturulur, arkaplan işlemleri başlatılır, trace ve ALERT dosyaları açılır. MOUNT Özel bakım işlemlerini gerçekleştirmek için kullanılır. Örneğin veritabanı şu işlemler için, açılmadan, sadece mount edilmelidir; Veri dosyalarının isimlerinin değiştirilmesi Redo log arşivleme seçeneklerinin değiştirilmesi Veritabanının yedeğinin alınması Mount edilirken; önceden açılmış instance ile veritabanı ilişkilendirilir, parametre dosyasında belirtilen kontrol dosyaları açılır, veri ve redo log dosyalarının durumlarını ve isimlerini elde etmek için kontrol dosyası okunur. OPEN Veritabanı açılınca tüm kullanıcılar veritabanına bağlanabilir. Veritabanı açılırken; online veri dosyaları ve online redo log dosyaları açılır.

17 Shutdown Seçenekleri Shutdown Modu Yeni bağlantılara izin verme
Session’ların bitmesini bekleme Transaction’ların bitmesini bekleme Checkpoint ile tüm dosyaları kapama A I T N Shutdown modu: A Abort I Immediate T Transactional N Normal Normal Default kapanma modudur. Yeni bağlantılara izin verilmez. Oracle Server tüm kullanıcıların bağlantılarını kesmelerini bekler. Oracle instance’ı kapatmadan önce veritabanını dismount eder ve kapatır. Bir sonraki startup instance recovery gerektirmez. Transactional Hiçbir istemci yeni bir transaction’a başlayamaz. Devam eden transaction’ı biten istemcinin bağlantısı kesilir. Tüm transaction’lar bittiğinde shutdown immediate oluşur. Bir sonraki startup instance recovery gerektirmez. Immediate Devam etmekte olan SQL ifadeleri bitirilmez. Oracle Server, veritabanına bağlı olan kullanıcıların, bağlantılarını kesmelerini beklemez. Aktif transaction’lar rollback edilir ve bağlı tüm kullanıcıların bağlantısı kesilir. Oracle instance’ı kapatmadan önce veritabanını dismount eder ve kapatır. Bir sonraki startup instance recovery gerektirmez. Abort Diğer 3 yöntemle kapanma gerçekleştirilemezse, veritabanı instance’ı gözardı edilerek kapatılabilir. Devam etmekte olan SQL ifadeleri derhal sonlandırılır. Oracle, veritabanına bağlı olan kullanıcıların, bağlantılarını kesmelerini beklemez. Commit edilmeyen transaction’lar rollback edilmez. Dosyalar kapatılmadan instance sonlandırılır. Bir sonraki startup instance recovery gerektirir.

18 Dinamik Performans Görünümlerine Erişim
OPEN Veri sözlüğü (Data dictionary) MOUNT Veriyi diskten okuyan dinamik performans görünümleri NOMOUNT Hafızadan okunan dinamik performans görünümleri SHUTDOWN Veritabanı açık ve kullanımda olduğu sürece güncellenen görünümlere (view) dinamik performans görünümleri denir. Sadece veritabanı yöneticisine açık olan bu görünümlerin içerikleri performansla doğrudan ilgilidir. Dahili disk yapıları ve hafıza yapıları hakkında veri sağlarlar. Dinamik performans görünümleri V_$ ile başlar (V$ ön eki ile başlayan eş anlamlı (synonym) görünümler de vardır). Instance NOMOUNT konumunda açıldığında, hafızadan okunan V$ görünümlerine erişilebilir. Kontrol dosyasından okunan görünümler ise veritabanının mount edilmesine ihtiyaç duyarlar. V$FIXED_TABLE, tüm dinamik performans görünümlerini görüntüler.

19 Dinamik Performans Görünümlerinden Örnekler
V$PARAMETER V$SGA V$OPTION V$PROCESS V$SESSION V$VERSION V$INSTANCE SGA V$THREAD V$CONTROLFILE V$DATABASE V$DATAFILE V$DATAFILE_HEADER V$LOGFILE Control file 1) NOMOUNT konumunda erişilebilen dinamik performans görünümleri V$PARAMETER Başlangıç parametresi hakkında bilgi içerir V$SGA SGA üzerine özet bilgi içerir V$OPTION Oracle Server ile kurulan seçenekleri listeler V$PROCESS Aktif haldeki işlemler hakkında bilgi içerir V$SESSION O anki oturum bilgisini listeler V$VERSION Sürüm numarası ve bileşenleri listeler V$INSTANCE O anki instance’ın durumunu görüntüler 2) MOUNT konumunda erişilebilen dinamik performans görünümleri V$THREAD Bağ bilgisini içerir (Örneğin redo log grupları) V$CONTROLFILE Kontrol dosyalarının isimlerini listeler (NOMOUNT konumun-da kullanılabilmesine rağmen, hiç satır döndürmez) V$DATABASE Veritabanı bilgisini içerir V$DATAFILE Kontrol dosyasından veri dosyası bilgisini içerir V$DATAFILE_HEADER Kontrol dosyasından veri dosyası başlığı bilgisini görüntüler V$LOGFILE Online redo log dosyaları hakkında bilgi içerir

20 Veri Sözlüğü Veri sözlüğü aşağıdaki bilgileri içerir:
Mantıksal ve fiziksel veritabanı yapısı İsimler, tanımlar, ve şema nesnelerinin alan tahsis etmesi Bütünlük sınırlamaları Veritabanı kullanıcıları ve yetkileri İzleme (Auditing) Veri Sözlüğü, ilgili veritabanı hakkında bilgiler sağlayan tablolar ve görünümler içerir. Veritabanı kullanıcıları, yöneticileri ve Oracle sunucusu için bilgi kaynağı merkezidir. Bir DDL komutu çalıştırıldığında, veri sözlüğü Oracle sunucusu tarafından güncellenir. Veri sözlüğünün sahibi SYS kullanıcısıdır, ve SYSTEM tablespace’inde bulunur. Temel tablolar ve veri sözlüğü görünümleri içerir. Temel Tablolar: Temel veri sözlüğü tabloları, veritabanı yaratılırken sql.bsq* script’i ile yaratılırlar. Bu tablolara Oracle sunucusu şifreli olarak bilgi yazar (DDL). INSERT, UPDATE ve DELETE gibi DML ifadeleri bu tablolar üzerinde çalıştırılmamalıdır. Veri Sözlüğü Görünümleri: catalog.sql* script’inin yürütülmesiyle yaratılırlar. Temel veri sözlüğü tablolarındaki bilgileri deşifre edip özetlerler. Kullanıcıların kolayca erişebilmesi için, bu görünümlerin eşanlamlıları da yaratılır. Çoğu kullanıcı veri sözlüğünü tablolarla değil görünümlerle sorgular. Veri sözlüğü görünümleri 3 değişik ön eke sahip olurlar. USER ön ekli olanlar, kullanıcının sahip olduğu nesneleri gösterirler (örnek: USER_TABLES). ALL ön ekli olanlar, kullanıcının sahip olduklarını ve erişmesine izin verilen tüm nesneleri gösterirler (örnek: ALL_TABLES). DBA ön ekli olanlar, veritabanındaki tüm nesneleri gösterirler. Veritabanı yöneticileri ve SELECT ANY TABLE sistem ayrıcalığına sahip kullanıcılar tarafından sorgulanabilirler (örnek: DBA_TABLES, DBA_USERS, DBA_ROLES). * Bu scriptler ve diğer gerekli scriptler %ORACLE_HOME%\rdbms80\admin dizininde yer alırlar.

21 PL/SQL PL/SQL, Oracle'ın normal SQL'e yaptığı prosedürel programlama eklentilerinden oluşur. SQL'in kullanım kolaylığı ve esnekliği ile yapısal programlama dillerinin prosedürel fonksiyonalitesini birleştirmiştir. Veritabanı uygulaması dizayn ederken PL/SQL'in şu avantajları vardır: PL/SQL kodu direkt olarak veritabanında saklanabildiği için performansı çok daha iyidir. PL/SQL kodu içinde veri erişimi kontrol edilebilir. Bu sayede PL/SQL kullanıcıları veriye uygulama geliştiricisinin istediği şekilde ulaşırlar. Normal SQL'de olduğunun aksine cümle cümle yollamak yerine PL/SQL bloklar halinde yollanabilir, bu da kompleks işlemlerde gereksiz network trafiği yapılmasını engeller. Prosedürler ve Fonksiyonlar : Belirli işleri yapmak veya belirli bir problemi çözmek üzere bir araya getirilmiş PL/SQL ve SQL cümleleri kümeleridir. Bunlar derlenmiş bir şekilde veritabanında saklanır ve kullanıcılar yada veritabanı uygulamaları tarafından kullanılabilirler. Paketler : Birbiriyle ilişkili olan prosedürlerin, fonksiyonların, değişkenlerin ve diğer yapıların bir bütün haline getirildiği ve veritabanında saklandığı yapıdır. Bir global değişkenin tanımlanıp paket içindeki herhangi bir prosedürde çağrılabilmesi gibi ekstra özellikler sağlar. Ayrıca paketler bir bütün halinde bir kerede parse edilip, derlenip, belleğe yüklendiği için performans artışı da sağlar. Veritabanı Tetikleri: Bir tablo veya görünümde değişiklik olduğunda, bir kullanıcı yada veritabanı sistemi aksiyonu gerçekleştiğinde, veritabanı tarafından otomatik olarak çağrılan, PL/SQL, Java veya C prosedürleridir. Veritabanı tetikleri, veritabanı yönetimi için çeşitli yollar sağlar. Örneğin, veri yaratmayı otomatik hale getirmek, veri değişimini izlemek, kompleks güvenlik yetkilendirilmesi sağlamak gibi amaçlar için kullanılabilir. Bağımsız Bloklar : Bağımsız veritabanı hareketleri PL/SQL bloklarının içinden çağırılabilirler. Bir bağımsız PL/SQL bloğuna girildiğinde, onu çağıran veritabanı hareketi geçici olarak durdurulur. Bu operasyon, bu blok içinde yada bu blok içinden çağırılan diğer bloklarda yapılan işlemlerin, onları çağıran veritabanı hareketinin durumunu etkilememesini sağlar.

22 Oracle Developer Suite
Oracle’da veritabanının ve onu kullanan çeşitli uygulamaların geliştirilmesine yardımcı olan araçların bulunduğu üründür. (Eski isimleri: Oracle Power Objects, Oracle Developer 2000). Bu üründe bulunan araçlardan bazıları: Oracle JDeveloper Oracle Forms Oracle Reports Oracle Designer Oracle Discoverer Oracle Software Configuration Manager Oracle Business Intelligence Beans JDeveloper Java tabanlı yazılım geliştirme aracıdır. Genellikle web-tabanlı yazılım geliştirmede kullanılır. Forms Kullanıcıların veri girişi yapmaları için veya var olan verileri sorgulamaları için kullanacakları arayüzlerin geliştirildiği uygulamadır. Reports Veritabanından elde edilen bilgiler ile fatura, evrak gibi dokümanlar (raporlar) hazırlamaya yarayan uygulamadır. Designer Veritabanı nesnelerinin görsel olarak oluşturulabilmesi için geliştirilmiş bir uygulamadır.

23 Automatic Storage Management
Taşınabilir ve yüksek performanslı dosya sistemi Oracle veritabanı dosyalarını idare eder. Yükü dengelemek için veriyi diskler arasında paylaştırır. Diskler arasında eşleme (mirroring) yapan entegre bir mekanizmaya sahiptir. Saklama idaresi ile ilgili birçok sorunu çözer ASM File system Volume manager Operating system Application Database Oracle Database 11g: Administration Workshop II


"ORACLE Oracle, büyük miktarda veriyi çok kullanıcılı ortamda, birçok kullanıcının aynı anda aynı veriye erişmesine izin verecek şekilde idare edebilen." indir ppt

Benzer bir sunumlar


Google Reklamları