29 Ağustos 2014 Cuma

Oracle Nedir ? Ne İşe Yarar ?


Oracle Tanıtım


-İlişkisel Veritabanları ve ORACLE’ın temelleri.

I. ORACLE NEDİR?
ORACLE©, gelişmiş bir ilişkisel veritabanı yönetim sistemidir (relational database management system). Tüm ilişkisel veritabanı sistemleri gibi, büyük miktarda verileri çok-kullanıcılı ortamda depolamayı ve güvenli bir şekilde erişimini yönetir.


ORACLE, veritabanı yazılımları özellikle kurumsal alanda kullanılan yaygın bir veritabanı sistemidir. ORACLE çok sayıda araçtan oluşur ve uygulama geliştiricilerinin kolay ve esnek uygulamalar geliştirmesini sağlar. ORACLE’da diğer veritabanı yönetim sistemlerinde olduğu gibi, stored procedure’lar, paketler, trigger’lar gibi bileşenler yer alır.

II. TARİHİ
1979 yılında, Larry Ellison öncülüğünde Relational Software Incorporated (RSI) adlı bir şirket kurarak bugünkü ORACLE’ şirketini temelleri atıldı. Şirketin geliştirmiş olduğu ilişkisel veritabanı yazılımı ORACLE olarak adlandırıldı.

1994 yılında, 4. versiyonu pazara sunuldu. Bu yazılım o zamanlar Digital’ şirketinin VAX sistemlerinde ve IBM VM üzerinde çalışmaktaydı. Ardından 1985 yılında önemli değişikliklerle Version 5 tanıtılıdı. Bu versiyonda istemci/sunucu mimari ve SQL kullanımı vardı.

İlerleyen yıllarda, Oracle 7 çıktı ve uzun süre kullanıldı. Oracle 7, SQL*DBA araçları gibi gelişmiş araçlara ve diğer veritabanı yönetim özelliklerine sahiptir.

Geniş bilgi için: www.Oracle.com

III. ORACLE TEMEL TERİMLERİ
Minik ORACLE kursumuzda bazı terimleri bulacaksınız. İlgili diğer kurslarda da bu terimleri görebilirsiniz. Ancak burada bir kere daha bazı terimleri açıklamakta yarar görüyoruz.

A. Ad-Hoc Query
Basit (bir kereliğine yazılan) sorgulara verilen ad. Sorgu olarak belli verilerin listelenmesi komutlarını örnek verebiliriz: SELECT * FROM MUSTERI gibi müşteri tablosundaki bütün kayıtları listele komutu.

B. Block (Küme)
Oracle veritabanlarının depolanmasında kullanılan en küçük birime block (küme) denir. Bir blok 2 KB-16KB boyutları arasında büyüklüğe sahiptir.

C. Buffer (Ara Bellek)
Verileri depolamak için kullanılan bellek miktarı. Bir ara bellek kullanılmış (anlık) veriyi içerir. Birçok durumda, ara bellekler disk üzerindeki verilerin bellekteki kopyasıdır.

D. Cache (Ön Bellek)
Ön bellek, verilere hızlı erişim için kullanılan ara bellek alanlarıdır. Mantık olarak son erişilen bilgilerin durduğu ve aynı bilginin bir kere daha istendiğinde ana belleğe gitmeden ön bellekten alıdığı bir erişim mekanizmasıdır.

E. Checkpoint
Bellekteki verilerin disk dosyalarına yazılması işlemi.

F. Database (veritabanı)
İlişkili verilerin toplandığı veri kümesi. Ana veri düzenleme sisteminde veritabanı temeldir.

G. Data Dictionary
Tabloların oluşturduğu bir veri sözlüğü. Veritabanı hakkında bilgi bu sözlükte yer alır.

H. DBA (Database Administrator)
Veritabanı yönetiminden sorumlu olan kişi. Sistem yöneticisi ya da veritabanı yöneticisi.

I. Dynamic Performance Tables (Dinamik Performans Tabloları)
Başlatılan kopyanın performansını saklamak için kullanılan dinamik tablolar.

J. Function (Fonksiyon)
Belli bir işlemi yerine getirmek için kullanılan komut kümeleri. Veritabanı programlamasında sunucu tarafında yazılan kodlar fonksiyon ve yordam olarak yazılır.

K. Procedure (Yordam)
Belli bir işlemi yerine getirmek için kullanılan komut kümeleri. Veritabanı programlamasında sunucu tarafında yazılan kodlar fonksiyon ve yordam olarak yazılır.

L. Query (Sorgu)
Bir veritabanı üzerinde çalıştırılan komut kümesi. Örneğin SELECT deyimiyle başlayan komutlar.

M. Schema (Şema)
Bir veritabanı nesnelerinin şeması (planı).

N. Transaction (İşlem Bilgisi/Hareketi)
Bir ya da birden çok SQL deyimi bir işlem bilgisi olarak tanımlanır. Transaction’lar özel bir alanda depolanır ve verilerin bütünlüğünün sağlanması için kullanılır. Bir transaction içindeki işlemlerin tamamı (birkaç güncelleme komutu) yerine getirilir ve işlem onaylanır (commit). Aksi takdirde işlem geri çevrilir (roll back).

O. Trigger (Tetikleyici)
Yordam ve fonksiyonların otomatik olarak başlatılması sağlayan mekanizma ya da yordamın otomatik olarak çalışanı. Tetikleyiciler tipik olarak, tablo üzerinde INSERT, UPDATE ya da DELETE deyimi işletildiğinde başlar.


IV. GÖZDEN GEÇİRME
1. Bir veritabanının ilişkisel veritabanından farkı nedir?
2. Veritabanı yöneticisinin görevleri nelerdir?
3. Veritabanı, yordam, transaction nedir?



 Oracle import

imp.exe sys/12345@ORCL FromUser=VEDAT ToUser=sys file="yedek.DMP"

Import: Release 8.1.7.0.0 - Production on Cum Ağustos 29 10:10:05 2014

(c) Copyright 2000 Oracle Corporation. All rights reserved.


Personal Oracle8i Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production'ye baðlandı

Dışa aktarma dosyası EXPORT:V08.00.04 tarafından klasik dizin yolu aracılıðıyla yaratıldı

Uyarı: nesneler sizin tarafınızdan deðil, VEDAT tarafından dışa aktarılmış

WE8ISO8859P9 karakter kümesinde ve WE8ISO8859P9 NCHAR karakter kümesinde içe aktarma yapıldı
IMP-00015: nesne mevcut olduðundan sıradaki yönerge başarısız
"CREATE TABLE "ADRESLER" ("SIRA_NO" NUMBER(8, 0), "TIP" CHAR(1), "ADRES" VAR"
"CHAR2(150), "SEMT" VARCHAR2(20), "ILCE" VARCHAR2(20), "TELEFON" VARCHAR2(11"
")) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 1"
"4755840 NEXT 7364608 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50 FREELISTS 1"
" FREELIST GROUPS 1 BUFFER_POOL DEFAULT) "
IMP-00015: nesne mevcut olduðundan sıradaki yönerge başarısız
"CREATE TABLE "kisi" ("ADI" VARCHAR2(15), "SOYADI" VARCHAR2(15), "BABAADI" "
"VARCHAR2(15), "ANAADI" VARCHAR2(15), "DOGTAR" VARCHAR2(10), "DOGYER" VARCHA"
"SEMT2" VARCHAR2(20), "ILCE2" VARCHAR2(10), "ISADRES" VARCHAR2(1"
...........

IMP-00015: nesne mevcut olduðundan sıradaki yönerge başarısız
"CREATE TABLE "DUR" ("DURUM_ADI" VARCHAR2(30), "DURUM_KODU" NUMBER(2, 0)) P"
"CTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 40960 "
"NEXT 24576 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50 FREELISTS 1 FREELIST "
"GROUPS 1 BUFFER_POOL DEFAULT) "
IMP-00015: nesne mevcut olduðundan sıradaki yönerge başarısız
"CREATE TABLE "DURUMU" ("DURUM_KODU" NUMBER(2, 0), "DURUM_ADI" VARCHAR2(40))"
" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 102"
"40 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50 FREELISTS 1 FREELI"
"ST GROUPS 1 BUFFER_POOL DEFAULT) "
.....................................
Içe aktarma uyarılarla başarılı olarak sona erdi.

SYS.ADRESLER, SYS.DUR tabloları var mı? Verdiğin log, sanırım 2. kez aynı dumpı import almaya çalıştıktan sonra oluşmuş, çünkü bu tablolar var olduğu için import yapılmamış görünüyor. Veritabanına SYS kullanıcısı ile bağlandıktan sonra,

SELECT COUNT(*) FROM ADRESLER;

dediğinde sonuç olarak görüyorsun?

Küçük bir uyarı: X bir kullanıcının tablolarını SYS scheması altına atmak doğru bir yöntem değil. Veritabanında VEDAT (veya X) diye bir kullanıcı açıp tabloları onun içine aktarmam daha doğru olurdu