SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
1
<Insert Picture Here>
Oracle Database ve Teknolojileri
Orhan Eripek, Senior Oracle DBA, Aksigorta
http://orhaneripek.com/
Eğitim
Kırgızistan-Türkiye Manas Üniversitesi, Bilgisayar Mühendisi, 2005 Mezunu
Haliç Üniversitesi, Bilgisayar Mühendisliği Yüksek Lisans 2009 Mezunu
İstanbul Aydın Üniversitesi, Bilgisayar Mühendisliği Doktora öğrencisi...
İş Deneyimleri
Şişli Etfal Eğitim ve Araştırma Hastanesi, Oracle DBA, 3 yıl,
Vodafone, Oracle Datawarehouse Developer, 2 yıl,
Turkcell, Operation Admin, 2 yıl,
Vodafone, Oracle PLSQL Developer, 1 yıl,
Aksigorta, Senior Oracle DBA, Eylül 2013…
3
• Oracle, Microsoft’un ardından dünyanın ikinci büyük yazılım firmasıdır ve kendi adını verdiği
database sistemi ‘Oracle Database’, dünyanın en çok kullanılan ve tercih edilen veritabanıdır.
• Uygulama geliştirme araçları, uygulama sunucusu ve de iş uygulamaları alanlarında yazılım
çözümleri bulunmaktadır.
• Oracle, ilişkisel veritabanı yönetim sistemidir-Relational Database Management Systems'dir
(RDMS)
• Büyük hacimli verilerin ilişkisel olarak bütünlüğünün korunarak saklandığı, aynı anda birden fazla
kullanıcının bu bütünlüğe bozulmadan ulaşabildiği güvenli ve hızlı programlardır.
• Oracle’ın programlama dili PL/SQL’dir.
• Uzun süre kapatılmadan açık kalabilir.
• Oracle Datawarehouse, Oracle RAC, Oracle Datamining, Oracle DataGuard, Oracle Cloud
Computing,....vs. ve daha çok fazla teknoloji çözümleri vardır.
• Tüm bu gelişmiş özellikleri ile Oracle’ın maliyeti (lisans ücreti) de oldukça yüksektir.
Oracle Nedir?
4
Oracle sitelerini takip edin (oracle.com, oracle-base.com, tahiti.oracle.com,.....vs.)
Oracle blog’larını takip edin (kamranagayev.com, tonguc.wordpress.com,
gokhanatil.com, zekeriyabesiroglu.blogspot.com,.....vs.)
PC’nize Oracle’ı ve üzerine kendi db’inizi kurun, merak ettiğiniz tüm Oracle ürünlerini
(Datawarehouse, RAC, DataGuard, Datamining,..vs.) kurarak tecrübe edinin
Çalıştığınız kurumlarda büyük projelere girin, cesaretli olun, kendinize güvenin,
sorumluluk alın, daha hızlı öğrenin
Paylaşımcı olun, paylaşmak öğrenmektir, daha çok şey öğrenmek ve en doğrusunu
öğrenmek için paylaşın, anlatın
Oracle Seminer, Eğitim ve Oracle Day etkinliklerine katılın
Ne kadar çok şey öğrenirseniz öğrenin her zaman çırak, öğrenci olarak kalmaya
devam edin.
Oracle’ı gerçekten öğrenmek istiyormusunuz? Öyleyse ASLA PES ETMEYİN! ve
KAPASİTENİZİN ÜZERİNE ÇIKIN!
Oracle Kariyer Adımları: Bunları yapın...
5
‘ASLA PES ETME.mp4’ izleyelim...
6
Oracle Kariyer Adımları: Bunları yapmayın...
Google’dan aratıp bulduğunuz her bilgiye körü körüne inanmayın!, çünkü zamanla bilgi kirliliği artışı
sözkonusu, güvenli adreslerdeki bilgileri de inceleyip tutarlılığını karşılaştırın.
‘Benden bi cacık olmaz’ demeyin! Kendinize güvenin, darlandığınızda aksine kendi kendinizi gaza
getirin –sevdiğim sözlerden biri : ‘İnsanoğlunun başaramayacağı şey yoktur!’
Bazen doğru zannettiklerimiz gerçek doğru olmayabilir, ‘her bildiğim %100 doğrudur’ demeyin!,
şüpheye düştüğünüz doğrularınızın doğruluğunu güvenilir üstadlardan teyit ettirin.
‘Ben çok emek, zaman harcadım, çok çalıştım, o da öyle öğrensin’ demeyin! Bilgilerinizi toprağa
gömmeyin, anlatarak hem bilgilerinizi tazeleyin hem sevilen, sayılan biri olun.
‘Üstadım bu soruma güler mi acaba?’ demeyin! soru sorarak öğrenmek en hızlı öğrenme yöntemidir,
üstadlarınıza soru sormaktan asla çekinmeyin, ona sormazsanız sürekli yine kendinize sormak
durumunda kalacaksınız ve bu soru işareti belki uzun süre beyninizi meşgul edecek.
Hiç kimseyi rakip olarak görmeyin! En büyük rakibiniz kendinizdir, başkalarıyla yarışarak ne
hedefinize ulaşabilirsiniz ne de iş yaşamınızda sevilen biri olursunuz.
‘Üstadlarım zaten çok yoğun çalışıyorlar, benimle ilgilenemezler’ demeyin!, bıkmadan takipçileri
olun, elbet uygun zamanlarında size döneceklerdir.
7
Oracle öğrenmeye nasıl başlamalı?
• Oracle hakkında google’dan araştırma yapın, Oracle dokümanlarını okuyun, okuyun sonra
tekrar okuyun 
• Oracle 11g r2’yi veya Oracle APEX’i bilgisayarınıza kurun, (benim tavsiyem; Vmware Workstation
sanal machine uygulamasını kurun, üzerine Oracle Linux veya Solaris’i kurun, bu sanal
sisteminize de Oracle database’i kurun)
• Test çalışmalarınızı yapabileceğiniz kendinize ait datanız, database’iniz olsun; table, index,
constraints, procedure, function, package, triger, ..vs. objeleriniz olsun ve bunlar üzerinde
denemeler yapın, pratiğinizi artırın
8
Oracle öğrenmeye nasıl başlamalı?
• İlgi duyduğunuz veritabanı işlemlerini yapın, mesela backup-recovery, import-export,
data moving, data replication, data partitioning, spool-sql*loader, ....vs. çalışmalarınızı
yapın
• En az 1 Oracle üstadı edinin  tecrübelerinden faydalanın
9
Oracle öğrenmeye nasıl başlamalı?
• Büyük kurumsal şirketlerin IT departmanlarının Veritabanı birimlerinde Oracle DBA,
Oracle Plsql Developer, Oracle Datawarehouse Developer, Oracle Application
Developer, Oracle BI Developer,...vs. pozisyonlarından birinde kariyerinizi sürdürün
• Oracle Day, konferans, sunum ve eğitimlerine katılın, seminerler verin, blog sitesi tutun,
bildiklerinizi paylaşın, anlatın
10
Oracle öğrenmeye nasıl başlamalı?
• Hayatınızdaki herşeye zaman ayırdığınız gibi belli aralıklarda Oracle öğrenmeye de
sürekli zaman ayırın
• Oracle sertifikalarını (OCA, OCP, OCM) kendinizi hazır hissettiğinizde alın
• İngilizcenizi geliştirin
11
Oracle DBA ve Oracle PLSQL Developer
• DBA, developer’ı genellikle ‘Production db’i düşünmediğinden’, Developer ise DBA’i
genellikle ‘kodunu tam anlamadığını düşündüğünden’ eleştirir 
• Birbirinden ayrılmaz 2 parçadır; DBA en az developer kadar SQL ve PLSQL bilmelidir,
Developer ise veritabanı tasarımını ve nasıl çalıştığının farkında olmalıdır
12
• Şirketlerde genellikle bu 2 grup ayrı lokasyonlardadır, halbuki bu 2 grubun aynı yuvarlak
masa etrafında birlikte çalışmaları gerekir 
✓x
Oracle DBA Oracle Developer
• DBA, ‘canım sıkıldı, biraz da kod yazayım’ diyerek başka bir şirkette Developer olarak
veya Developer, ‘canım sıkıldı, biraz da veritabanı adminliği yapayım’ diyerek başka bir
şirkette DBA olarak zaman zaman çalışabiliyor 
13
İyi PLSQL kodu nasıl yazılır?
• Sql’in sayısal ve karakter fonksiyonları (substr, instr, length, regexp_substr,..vs.) ile
sunduğu çözümlerin farkında olun, böylelikle daha performanslı kodlar üretmeye çalışın,
• Plsql kodunda yapacağımız işin yükünü sql sorgularına yüklemeliyiz, procedure, function
veya package yapılarına çevireceğimiz plsql kodlarını bu şekilde çok fazla yormamış
oluruz, ‘iyi bir sql’den iyi bir plsql kodu çıkar’,
• En basit ve kısa yoldan çözüme gidilmeli, karmaşık kodlamalardan uzak durulmalı, sade ve
anlaşılır olmalı,
• Bugün için kod yazmayın, kodlarımız yıllar sonra da çalışabilecek kadar esnek olmalı,
• Olabilecek hata durumlarına karşı kodumuz hazır olmalı, exception, sqlerrm,
raise_application_error() kullanılmalı,
• Farklı case’leri düşünerek unit test yapılmalı, developer aynı zamanda kendi yazdığı kodun
testçisidir,
14
İyi PLSQL kodu nasıl yazılır?
• Çalıştığınız kurumun kod yazma standartlarına (kod formatlama, comment girme,
procedure, function .. vs. isimlerinin başına veya sonuna standart ifadeler getirme..vs. )
uyun,
• Kodunuz, yarım saatten fazla sizi uğraştırıyor ve çözüme ulaşamıyorsanız mutlaka yardım
alın,
• Db’deki tüm package, procedure, function,..vs. kodlarını zamanla inceleyin, kullanılan
teknikleri görün,
• Kodunuzu tamamladıktan sonra bir bilene kontrol ettirin, onaylatın,
• Kod versiyonlama yapın (SVN, Clear Case..vs.),
15
ENCRYPTION & DESCRYPTION
DES : Data Encryption Standart’ın kısaltılması olan DES algoritması yaklaşık 30 yıldır banka ve
iletişim kurumlarının özellikle finansal işlemlerinde veri güvenliğinde kullanılmaktadır.
3DES : Three-DES veya Triple DES olarak adlandırılır, Brute Force saldırılara karşı koymakta
zorlanan DES algoritmasının üzerine 1978 yılında IBM tarafından geliştirilmiştir.
• Telekomünikasyon (GSM) şirketlerinde de diğer kurumsal şirketlerde olduğu gibi abonelerine ait
bilgilerin güvenliği ve korunması önemlidir, aksi halde BTK (Bilgi Teknolojileri Kurumu)’nın
cezalarına maruz kalınabilir.
• GSM şirketlerinde aboneler isterlerse her ay otomatik olarak fatura ödemelerini kredi kartı
bilgilerini vererek mail-order sistemi ile tahsil edebiliyorlar. Tüm kredi kart bilgileri sisteme şifreli
olarak gelir ve Oracle database’de şifreli olarak tutulur.
• Oracle’ın veriyi kendi bünyesinde şifreleme ve çözmesi için kullandığı paketleri vardır;
• Oracle 8i/9i sürümlerinden itibaren dbms_obfuscation_toolkit (DES ve 3DES)
• GSM şirketlerinden birinde kullanılan 3DES algoritması ile kredi kartı şifreleme (encrypt) ve
çözme (descrypt) yöntemlerini örneklerle görelim...
16
Oracle’ın DES algoritması için kullandığı dbms_obfuscation_toolkit paketinde
kullanılan DESEncrypt ve DESDecrypt örneği;
DECLARE
input_string VARCHAR2(16) :=
'&PASSWD';
raw_input RAW(128) :=
UTL_RAW.CAST_TO_RAW(input_string);
key_string VARCHAR2(16) :=
'gizlinumara';
raw_key RAW(128) :=
UTL_RAW.CAST_TO_RAW(key_string);
encrypted_raw RAW(2048);
encrypted_string VARCHAR2(2048);
decrypted_raw RAW(2048);
decrypted_string VARCHAR2(2048);
error_in_input_buffer_length EXCEPTION;
PRAGMA
EXCEPTION_INIT(error_in_input_buffer_length, -
28232);
INPUT_BUFFER_LENGTH_ERR_MSG VARCHAR2(100) :=
'*** DES INPUT BUFFER NOT A MULTIPLE OF 8
BYTES - IGNORING EXCEPTION ***';
double_encrypt_not_permitted EXCEPTION;
PRAGMA
EXCEPTION_INIT(double_encrypt_not_permitted, -
28233);
DOUBLE_ENCRYPTION_ERR_MSG VARCHAR2(100) :=
'*** CANNOT DOUBLE ENCRYPT DATA - IGNORING
EXCEPTION ***';
BEGIN
dbms_output.put_line('Raw input : ' ||
UTL_RAW.CAST_TO_VARCHAR2(raw_input));
BEGIN
dbms_obfuscation_toolkit.DESEncrypt(input
=> raw_input,
key => raw_key, encrypted_data =>
encrypted_raw );
dbms_output.put_line('encrypted hex value
: ' ||
rawtohex(encrypted_raw));
dbms_obfuscation_toolkit.DESDecrypt(input
=> encrypted_raw,
key => raw_key, decrypted_data =>
decrypted_raw);
dbms_output.put_line('Decrypted raw output
: ' ||
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw));
if UTL_RAW.CAST_TO_VARCHAR2(raw_input) =
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw) THEN
dbms_output.put_line('Raw DES Encyption
and Decryption successful');
END if;
EXCEPTION
WHEN error_in_input_buffer_length THEN
dbms_output.put_line(INPUT_BUFFER_LENGTH_ERR_MSG
);
END; END;
17
PLSQL batch’ini çalıştırdığımızda sonuç aşağıdaki gibi olacaktır:
Key olarak ‘gizlinumara’ ifadesini tanımladığımız kodumuzda şifrelenmesini istediğimiz
input değer olarak 8 karakter uzunluğunda örneğin ‘orhanorh’ ifadesini girdim, öncelikle
DESEncrypt fonksiyonu key’imiz ile input değerimizi şifreliyor (Encrypt), ardından
DESDecrypt fonksiyonu ile de şifrelenmiş (encrypted_raw) olan verimizi key’i de
kullanarak aynı DES algoritmasını kullanarak tersi yönde çözümlüyor.
18
• Örnek GSM şirketinde kredi kartı şifreleme işlemi için Utility_Encdec paketinde 3DES algoritması
kullanılmıştır.
• credit_card_black_list tablosuna aboneye ait kredi kartı numarası insert edilirken aşağıda görüldüğü gibi
şifrelenmiş olarak insert edilir;
select * from credit_card_black_list
19
Bu şifrelenmiş olan kredi kartını sorgulayabilmemiz için aşağıdaki gibi utility_encdec paketi altındaki
des3encrypt () fonksiyonunu kullanmalıyız;
select * from ccb_credit_card_black_list where credit_card_number =
utility_encdec.des3encrypt('53232489....')
Aşağıdaki des3encdec_params parametre tablosunda şifreleme için kullanılan key saklı tutulmaktadır,
bu key des3encrypt ve des3decrypt fonksiyonları tarafından kullanılmaktadır.
20
Oracle Application Express (Oracle APEX)
• Ücretsizdir,
• İnternetin olduğu her yerde kendi db’inize erişebilir ve
yönetebilirsiniz, oldukça pratiktir,
• Oracle APEX db’inize olan bağlantınız kolay kolay kesilmez,
• Database uygulamaları geliştirir, raporlayabilirsiniz,
• Oracle db’de yapılabilecek birçok işlemi yapabilirsiniz,
Oracle Database Express Edition (Oracle XE)
• Ücretsizdir,
• Kullanımı kolaydır, pratiktir,
• Bilgisayarınızda çok yer kaplamaz,
• Oracle db’de yapılabilecek birçok işlemi yapabilirsiniz,
21
Oracle Linux 6 on Vmware Virtual Machine
- Create user,
- Create tablespace,
- Create table, index, constaints,
- Insert data, import data,
- Create procedure, function, triger,
package, job, db_link,..vs,
- Grant roles, privileges...
MY DB
SQL> conn sys / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
cmd -> rman target /
RMAN> BACKUP DATABASE PLUS
ARCHIVELOG ALL;
SQL> alter database open;
MY DB (backup)
Linux Database Server
- listener.ora
- tnsnames.ora
(Oracle Net Manager)
Windows Client
22
• Spotlight on Oracle
ile hem single node
db’leri hem de rac
db’leri izleyebiliriz
• Ana ekranındaki
grafikler ile bize
görsel olarak anlık
bilgi verir
• Problemli durum
olduğunda yeşil renk
kırmızıya, yoğunluk
olduğunda truncu
renge dönüşür
• Üst menulerle
session, cpu-ram-I/O,
top sql, logs, vs.
utilization bilgilerin
detaylarını görebiliriz
• Alert anında sistemin
sağ alt köşesinde
açılan pop-up ile de
bilgilendirme yapar
• Oracle Enterprise
Manager yönetim,
monitoring konsolu
gibi kullanabilecek bir
başka alternatif
çözümdür
Oracle DB İzleme Uygulamaları: Spotlight on Oracle
23
Oracle DB İzleme Uygulamaları: Oracle Enterprise Manager
• Oracle Enterprise Manager
konsolu db’i yönetmemize ve
izlememize yardımcı olur
• ‘Home’ tab’ı ile db hakkında özet
bilgileri anlık olarak sunar
• ‘Performance’ tab’ı ile Active
Session, CPU, RAM, I/O utilization
bilgilerini anlık olarak sunar
• Diğer tab’lar ile de
backup/recovery, storage,
scheduler, security, db objects vs.
yönetimleri yapılabilir
• DBA için kullanışlıdır, sürekli db
bilgileri izlenebilir
• Oracle Database 12c ile gelen son
sürümü Oracle Enterprise Manager
12c’dir
24
Oracle DB Yönetim Uygulamaları
25
• Dünyanın en iyi
Uygulama
sunucusudur
• Çok fazla farklı
platformlarda
yazılmış
uygulamaları tek
konsolda
yönetmemizi ve
izlememizi sağlar
• Uygulamaları daha
hızlı açar, daha hızlı
kapatır
• Uygulamaları hızlı
kurar ve hızlı
derleme yapılır
• Warning alan
instance’ların thread
dump’ları alınarak
uygulamada yaşanan
problem incelenebilir
• Oracle Weblogic
Server 12c son
sürümüdür
Oracle Teknolojileri: Oracle Weblogic Server
26
Oracle Teknolojileri: Oracle Datawarehouse (Dwh)
• Oracle Veriambarı farklı production db’lerden beslenir
• Raporlama amaçlı kullanılır, datalar ETL (Extract -> Transform -> Load) ile çeşitli filtrelerden geçerek özet rapor
datası hazırlanır
• Spool ile tablo datası txt veya csv formatında dışarıya çıkılır, Sql*Loader ile txt, csv file’larda tutulan datalar
db’e aktarılır, en çok kullanılan dwh operasyonlarındandır
• Gece saatlerine set edilen çok fazla Scheduler job, sh script saatlerce çalışır, ilgili kaynak db’lerden datalar dwh
db’inde temp tablolarına aktarılır, burada çeşitli datasal işler yapılır ve işlenmiş data olması gereken dwh
tablolarına aktarılır.
• Tüm verileri analiz etmeye gerek olmadan sadece belirli veriler üzerinde analiz, işlem yapmak için
veriambarının alt birimleri olan Data Mart’lar kullanılır.
27
Oracle Teknolojileri: Oracle RAC (Real Application Cluster)
Oracle Real Application Clusters (RAC), birçok büyük kurumsal şirketlerin veritabanı sistemlerinde
kullanılan bir teknolojidir. Kümelenmiş bir dizi sunucu üzerinde tek veritabanının çalıstırılmasına olanak
tanıyan böylece yüksek süreklilik ve ölçeklenebilirlik sağlayan bir çözümdür. Bu teknoloji ile örneğin; iki
işlemcinin iş yükünü tek bir işlemci gibi gösterir ve bir işlemcinin veritabanı işlemleri yarıda kaldıysa diğer
işlemcinin bu işlemi kaldığı yerden devam ettirmesi sağlanır.
28
Oracle Teknolojileri: Oracle Data Guard
• Data kaybının minumum, erişilebilirliğin maximum olmasını sağlayan Oracle’ın en önemli teknoloji
çözümlerinden biridir
• Data Guard (Disaster Recovery ortamı) fiziksel olarak başka bir lokasyonda bulunan ve istenildiği
anda hazır Production database olarak kullanabileceğimiz yedeğimizdir
• Redo log’lardan okunan data anlık olarak standby database’lere yazılır, db’ler eşitlenir
29
Oracle Teknolojileri: Oracle VM VirtualBox
• Oracle VM sanallaştırma uygulaması
ile şirketler sunucu maliyetlerini
önemli ölçüde düşürebilirler
• Single node kurulabildiği gibi network
sistemi de kurulabilir
• Fiziksel sunucunun Disk, Ram,
Network kart kaynaklarını kullanır,
sanal sunucuya verilecek makul
değerlerle optimize edilebilir
• Birçok Development ve Test
ortamları kurulabilir
• Sanal sistemin snapshot’ları alınarak
istenilen eski durumuna gidilebilir, bu
snapshotlar fiziksel image’lardır
• Özellikle Oracle db’ini yeni öğrenmek
isteyen kullanıcılar için oldukça
kullanışlı ve faydalıdır
• Birçok farklı işletim sistemini
desteklediğinden kurulumları
yapılabilir veya Oracle’ın sunduğu
hazır template şablonlar ile direk
kullanım sağlanabilir
30
Oracle Teknolojileri: Oracle Audit Vault ve Oracle Database Vault
Oracle Audit Vault
• Veritabanı denetim ayarlarını
yapabileceğimiz ve kullanıcıların
tüm veritabanı aktivitelerini
raporlayabileceğimiz
uygulamadır
• Kaynak veritaban(lar)ındaki
aktiviteleri izler (monitoring),
loglar (logging), raporlar
(reporting) ve uyarır(alerting)
• Son sürümü Oracle Audit Vault
and Database Firewall 12.1.1’dir
Oracle Database Vault
• DBA veya kullanıcıların şirket
uygulamalarına doğrudan
erişimlerinin OS user ve IP
bazında kısıtlanabileceği, db
seviyesinde bazı yetki kurallarını
tanımlayarak güvenliği
sağlayabileceğimiz uygulamadır.
31
Otomatik Alert Mail
Audit Vault Tablespace Size durumu için Alert Mail:
Audit Vault tablespace doluluk oranı belli bir eşik değeri (örnek olması açısından
aşağıdaki örnekte %60 limiti verildi, biz kullanımda %90 limitini vereceğiz) aştığında
otomatik Alert mailini alabiliriz.
32
Audit Vault Uygulaması için Alert Mail:
Audit Vault uygulamalarının data toplayıcı kollektor’ları (Collectors) herhangi bir sebepten
dolayı duracak olursa otomatik mail ile Alert durumu öğrenebiliriz.
33
Örnek Rapor
34
Teşekkürler 

Mais conteúdo relacionado

Destaque

Oracle Veritabanı Yönetimi
Oracle Veritabanı YönetimiOracle Veritabanı Yönetimi
Oracle Veritabanı YönetimiOrhan ERIPEK
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsBG Java EE Course
 
The Great Ball Game Lesson 8 Day 5
The Great Ball Game Lesson 8 Day 5The Great Ball Game Lesson 8 Day 5
The Great Ball Game Lesson 8 Day 5Sandy Bones
 
OWL-Time and enhancements
OWL-Time and enhancementsOWL-Time and enhancements
OWL-Time and enhancementsSimon Cox
 
New microsoft offFinancing Education: School Finance in Nepalce power poin...
New microsoft offFinancing Education: School 			Finance in Nepalce power poin...New microsoft offFinancing Education: School 			Finance in Nepalce power poin...
New microsoft offFinancing Education: School Finance in Nepalce power poin...Shree Devkota
 
The Road Back Towards Full Employment: Sizing the UK jobs gap
The Road Back Towards Full Employment: Sizing the UK jobs gapThe Road Back Towards Full Employment: Sizing the UK jobs gap
The Road Back Towards Full Employment: Sizing the UK jobs gapResolutionFoundation
 
مهندس ميكانيكا دراسات
مهندس ميكانيكا دراساتمهندس ميكانيكا دراسات
مهندس ميكانيكا دراساتAbd Ellatif Gebril
 
Transcript of records_Gafarov_Bachelor
Transcript of records_Gafarov_BachelorTranscript of records_Gafarov_Bachelor
Transcript of records_Gafarov_Bachelor??????? ???????
 
Cmmaao expectations-pmp-pmi
Cmmaao expectations-pmp-pmiCmmaao expectations-pmp-pmi
Cmmaao expectations-pmp-pmivishvasyadav45
 
Baitapptmu
BaitapptmuBaitapptmu
BaitapptmuAnh Le
 
Dvorakova simpsonovi
Dvorakova simpsonoviDvorakova simpsonovi
Dvorakova simpsonovialzbetad
 

Destaque (14)

Oracle Veritabanı Yönetimi
Oracle Veritabanı YönetimiOracle Veritabanı Yönetimi
Oracle Veritabanı Yönetimi
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
Economy Matters
Economy MattersEconomy Matters
Economy Matters
 
The Great Ball Game Lesson 8 Day 5
The Great Ball Game Lesson 8 Day 5The Great Ball Game Lesson 8 Day 5
The Great Ball Game Lesson 8 Day 5
 
OWL-Time and enhancements
OWL-Time and enhancementsOWL-Time and enhancements
OWL-Time and enhancements
 
New microsoft offFinancing Education: School Finance in Nepalce power poin...
New microsoft offFinancing Education: School 			Finance in Nepalce power poin...New microsoft offFinancing Education: School 			Finance in Nepalce power poin...
New microsoft offFinancing Education: School Finance in Nepalce power poin...
 
Retail Career Guide
Retail Career GuideRetail Career Guide
Retail Career Guide
 
The Road Back Towards Full Employment: Sizing the UK jobs gap
The Road Back Towards Full Employment: Sizing the UK jobs gapThe Road Back Towards Full Employment: Sizing the UK jobs gap
The Road Back Towards Full Employment: Sizing the UK jobs gap
 
مهندس ميكانيكا دراسات
مهندس ميكانيكا دراساتمهندس ميكانيكا دراسات
مهندس ميكانيكا دراسات
 
Pixeles en photoshop
Pixeles en photoshopPixeles en photoshop
Pixeles en photoshop
 
Transcript of records_Gafarov_Bachelor
Transcript of records_Gafarov_BachelorTranscript of records_Gafarov_Bachelor
Transcript of records_Gafarov_Bachelor
 
Cmmaao expectations-pmp-pmi
Cmmaao expectations-pmp-pmiCmmaao expectations-pmp-pmi
Cmmaao expectations-pmp-pmi
 
Baitapptmu
BaitapptmuBaitapptmu
Baitapptmu
 
Dvorakova simpsonovi
Dvorakova simpsonoviDvorakova simpsonovi
Dvorakova simpsonovi
 

Semelhante a Oracle Database and Technologies Seminar

İlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve Doctrineİlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve DoctrineMuhittin Özer
 
Maltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOPMaltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOPMimar Aslan
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Çankaya Üniversitesi 1 Sınıf Sunum
Çankaya Üniversitesi 1 Sınıf SunumÇankaya Üniversitesi 1 Sınıf Sunum
Çankaya Üniversitesi 1 Sınıf SunumAtilla Özgür
 
Nesne tabanlı programlama 5
Nesne tabanlı programlama 5Nesne tabanlı programlama 5
Nesne tabanlı programlama 5Erol Dizdar
 
Işık Üniversitesi - Spring Core
Işık Üniversitesi - Spring CoreIşık Üniversitesi - Spring Core
Işık Üniversitesi - Spring CoreMimar Aslan
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıMurat Kader
 
Veri tabanı planlama
Veri tabanı planlamaVeri tabanı planlama
Veri tabanı planlamakhan_27
 
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Murat Çabuk, MBA
 
Nosql wars &amp; machine learning
Nosql wars &amp; machine learningNosql wars &amp; machine learning
Nosql wars &amp; machine learningEnsarERDOAN
 
Bartın Üniversitesi - Spring JdbcTemplate
Bartın Üniversitesi - Spring JdbcTemplateBartın Üniversitesi - Spring JdbcTemplate
Bartın Üniversitesi - Spring JdbcTemplateMimar Aslan
 
006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]Erol Bozkurt
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerCihan Özhan
 
Bilginç IT Academy - JPA (Java Persistence API)
Bilginç IT Academy - JPA (Java Persistence API)Bilginç IT Academy - JPA (Java Persistence API)
Bilginç IT Academy - JPA (Java Persistence API)Mimar Aslan
 
Oracle kursu-gungoren
Oracle kursu-gungorenOracle kursu-gungoren
Oracle kursu-gungorensersld83
 

Semelhante a Oracle Database and Technologies Seminar (20)

İlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve Doctrineİlişkisel Veritabanları, ORM ve Doctrine
İlişkisel Veritabanları, ORM ve Doctrine
 
Maltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOPMaltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOP
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Çankaya Üniversitesi 1 Sınıf Sunum
Çankaya Üniversitesi 1 Sınıf SunumÇankaya Üniversitesi 1 Sınıf Sunum
Çankaya Üniversitesi 1 Sınıf Sunum
 
Nesne tabanlı programlama 5
Nesne tabanlı programlama 5Nesne tabanlı programlama 5
Nesne tabanlı programlama 5
 
Heartbleed Nedir?
Heartbleed Nedir?Heartbleed Nedir?
Heartbleed Nedir?
 
Işık Üniversitesi - Spring Core
Işık Üniversitesi - Spring CoreIşık Üniversitesi - Spring Core
Işık Üniversitesi - Spring Core
 
E-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve AltyapıE-ticarette Yazılım ve Altyapı
E-ticarette Yazılım ve Altyapı
 
Veri tabanı planlama
Veri tabanı planlamaVeri tabanı planlama
Veri tabanı planlama
 
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
Bilgisayar Mühendisliğinde Kariyer ve Çevik Yazılım
 
Kariyer Planlama
Kariyer PlanlamaKariyer Planlama
Kariyer Planlama
 
Nosql wars &amp; machine learning
Nosql wars &amp; machine learningNosql wars &amp; machine learning
Nosql wars &amp; machine learning
 
Bartın Üniversitesi - Spring JdbcTemplate
Bartın Üniversitesi - Spring JdbcTemplateBartın Üniversitesi - Spring JdbcTemplate
Bartın Üniversitesi - Spring JdbcTemplate
 
006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]006 Uml Modelleri Gereksinimler [120 Slides]
006 Uml Modelleri Gereksinimler [120 Slides]
 
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom Sistemler
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Bilginç IT Academy - JPA (Java Persistence API)
Bilginç IT Academy - JPA (Java Persistence API)Bilginç IT Academy - JPA (Java Persistence API)
Bilginç IT Academy - JPA (Java Persistence API)
 
Oracle kursu-gungoren
Oracle kursu-gungorenOracle kursu-gungoren
Oracle kursu-gungoren
 
Web Uygulama Güven(siz)liği
Web Uygulama Güven(siz)liğiWeb Uygulama Güven(siz)liği
Web Uygulama Güven(siz)liği
 
Bilgi sis..
Bilgi sis..Bilgi sis..
Bilgi sis..
 

Oracle Database and Technologies Seminar

  • 1. 1
  • 2. <Insert Picture Here> Oracle Database ve Teknolojileri Orhan Eripek, Senior Oracle DBA, Aksigorta http://orhaneripek.com/ Eğitim Kırgızistan-Türkiye Manas Üniversitesi, Bilgisayar Mühendisi, 2005 Mezunu Haliç Üniversitesi, Bilgisayar Mühendisliği Yüksek Lisans 2009 Mezunu İstanbul Aydın Üniversitesi, Bilgisayar Mühendisliği Doktora öğrencisi... İş Deneyimleri Şişli Etfal Eğitim ve Araştırma Hastanesi, Oracle DBA, 3 yıl, Vodafone, Oracle Datawarehouse Developer, 2 yıl, Turkcell, Operation Admin, 2 yıl, Vodafone, Oracle PLSQL Developer, 1 yıl, Aksigorta, Senior Oracle DBA, Eylül 2013…
  • 3. 3 • Oracle, Microsoft’un ardından dünyanın ikinci büyük yazılım firmasıdır ve kendi adını verdiği database sistemi ‘Oracle Database’, dünyanın en çok kullanılan ve tercih edilen veritabanıdır. • Uygulama geliştirme araçları, uygulama sunucusu ve de iş uygulamaları alanlarında yazılım çözümleri bulunmaktadır. • Oracle, ilişkisel veritabanı yönetim sistemidir-Relational Database Management Systems'dir (RDMS) • Büyük hacimli verilerin ilişkisel olarak bütünlüğünün korunarak saklandığı, aynı anda birden fazla kullanıcının bu bütünlüğe bozulmadan ulaşabildiği güvenli ve hızlı programlardır. • Oracle’ın programlama dili PL/SQL’dir. • Uzun süre kapatılmadan açık kalabilir. • Oracle Datawarehouse, Oracle RAC, Oracle Datamining, Oracle DataGuard, Oracle Cloud Computing,....vs. ve daha çok fazla teknoloji çözümleri vardır. • Tüm bu gelişmiş özellikleri ile Oracle’ın maliyeti (lisans ücreti) de oldukça yüksektir. Oracle Nedir?
  • 4. 4 Oracle sitelerini takip edin (oracle.com, oracle-base.com, tahiti.oracle.com,.....vs.) Oracle blog’larını takip edin (kamranagayev.com, tonguc.wordpress.com, gokhanatil.com, zekeriyabesiroglu.blogspot.com,.....vs.) PC’nize Oracle’ı ve üzerine kendi db’inizi kurun, merak ettiğiniz tüm Oracle ürünlerini (Datawarehouse, RAC, DataGuard, Datamining,..vs.) kurarak tecrübe edinin Çalıştığınız kurumlarda büyük projelere girin, cesaretli olun, kendinize güvenin, sorumluluk alın, daha hızlı öğrenin Paylaşımcı olun, paylaşmak öğrenmektir, daha çok şey öğrenmek ve en doğrusunu öğrenmek için paylaşın, anlatın Oracle Seminer, Eğitim ve Oracle Day etkinliklerine katılın Ne kadar çok şey öğrenirseniz öğrenin her zaman çırak, öğrenci olarak kalmaya devam edin. Oracle’ı gerçekten öğrenmek istiyormusunuz? Öyleyse ASLA PES ETMEYİN! ve KAPASİTENİZİN ÜZERİNE ÇIKIN! Oracle Kariyer Adımları: Bunları yapın...
  • 6. 6 Oracle Kariyer Adımları: Bunları yapmayın... Google’dan aratıp bulduğunuz her bilgiye körü körüne inanmayın!, çünkü zamanla bilgi kirliliği artışı sözkonusu, güvenli adreslerdeki bilgileri de inceleyip tutarlılığını karşılaştırın. ‘Benden bi cacık olmaz’ demeyin! Kendinize güvenin, darlandığınızda aksine kendi kendinizi gaza getirin –sevdiğim sözlerden biri : ‘İnsanoğlunun başaramayacağı şey yoktur!’ Bazen doğru zannettiklerimiz gerçek doğru olmayabilir, ‘her bildiğim %100 doğrudur’ demeyin!, şüpheye düştüğünüz doğrularınızın doğruluğunu güvenilir üstadlardan teyit ettirin. ‘Ben çok emek, zaman harcadım, çok çalıştım, o da öyle öğrensin’ demeyin! Bilgilerinizi toprağa gömmeyin, anlatarak hem bilgilerinizi tazeleyin hem sevilen, sayılan biri olun. ‘Üstadım bu soruma güler mi acaba?’ demeyin! soru sorarak öğrenmek en hızlı öğrenme yöntemidir, üstadlarınıza soru sormaktan asla çekinmeyin, ona sormazsanız sürekli yine kendinize sormak durumunda kalacaksınız ve bu soru işareti belki uzun süre beyninizi meşgul edecek. Hiç kimseyi rakip olarak görmeyin! En büyük rakibiniz kendinizdir, başkalarıyla yarışarak ne hedefinize ulaşabilirsiniz ne de iş yaşamınızda sevilen biri olursunuz. ‘Üstadlarım zaten çok yoğun çalışıyorlar, benimle ilgilenemezler’ demeyin!, bıkmadan takipçileri olun, elbet uygun zamanlarında size döneceklerdir.
  • 7. 7 Oracle öğrenmeye nasıl başlamalı? • Oracle hakkında google’dan araştırma yapın, Oracle dokümanlarını okuyun, okuyun sonra tekrar okuyun  • Oracle 11g r2’yi veya Oracle APEX’i bilgisayarınıza kurun, (benim tavsiyem; Vmware Workstation sanal machine uygulamasını kurun, üzerine Oracle Linux veya Solaris’i kurun, bu sanal sisteminize de Oracle database’i kurun) • Test çalışmalarınızı yapabileceğiniz kendinize ait datanız, database’iniz olsun; table, index, constraints, procedure, function, package, triger, ..vs. objeleriniz olsun ve bunlar üzerinde denemeler yapın, pratiğinizi artırın
  • 8. 8 Oracle öğrenmeye nasıl başlamalı? • İlgi duyduğunuz veritabanı işlemlerini yapın, mesela backup-recovery, import-export, data moving, data replication, data partitioning, spool-sql*loader, ....vs. çalışmalarınızı yapın • En az 1 Oracle üstadı edinin  tecrübelerinden faydalanın
  • 9. 9 Oracle öğrenmeye nasıl başlamalı? • Büyük kurumsal şirketlerin IT departmanlarının Veritabanı birimlerinde Oracle DBA, Oracle Plsql Developer, Oracle Datawarehouse Developer, Oracle Application Developer, Oracle BI Developer,...vs. pozisyonlarından birinde kariyerinizi sürdürün • Oracle Day, konferans, sunum ve eğitimlerine katılın, seminerler verin, blog sitesi tutun, bildiklerinizi paylaşın, anlatın
  • 10. 10 Oracle öğrenmeye nasıl başlamalı? • Hayatınızdaki herşeye zaman ayırdığınız gibi belli aralıklarda Oracle öğrenmeye de sürekli zaman ayırın • Oracle sertifikalarını (OCA, OCP, OCM) kendinizi hazır hissettiğinizde alın • İngilizcenizi geliştirin
  • 11. 11 Oracle DBA ve Oracle PLSQL Developer • DBA, developer’ı genellikle ‘Production db’i düşünmediğinden’, Developer ise DBA’i genellikle ‘kodunu tam anlamadığını düşündüğünden’ eleştirir  • Birbirinden ayrılmaz 2 parçadır; DBA en az developer kadar SQL ve PLSQL bilmelidir, Developer ise veritabanı tasarımını ve nasıl çalıştığının farkında olmalıdır
  • 12. 12 • Şirketlerde genellikle bu 2 grup ayrı lokasyonlardadır, halbuki bu 2 grubun aynı yuvarlak masa etrafında birlikte çalışmaları gerekir  ✓x Oracle DBA Oracle Developer • DBA, ‘canım sıkıldı, biraz da kod yazayım’ diyerek başka bir şirkette Developer olarak veya Developer, ‘canım sıkıldı, biraz da veritabanı adminliği yapayım’ diyerek başka bir şirkette DBA olarak zaman zaman çalışabiliyor 
  • 13. 13 İyi PLSQL kodu nasıl yazılır? • Sql’in sayısal ve karakter fonksiyonları (substr, instr, length, regexp_substr,..vs.) ile sunduğu çözümlerin farkında olun, böylelikle daha performanslı kodlar üretmeye çalışın, • Plsql kodunda yapacağımız işin yükünü sql sorgularına yüklemeliyiz, procedure, function veya package yapılarına çevireceğimiz plsql kodlarını bu şekilde çok fazla yormamış oluruz, ‘iyi bir sql’den iyi bir plsql kodu çıkar’, • En basit ve kısa yoldan çözüme gidilmeli, karmaşık kodlamalardan uzak durulmalı, sade ve anlaşılır olmalı, • Bugün için kod yazmayın, kodlarımız yıllar sonra da çalışabilecek kadar esnek olmalı, • Olabilecek hata durumlarına karşı kodumuz hazır olmalı, exception, sqlerrm, raise_application_error() kullanılmalı, • Farklı case’leri düşünerek unit test yapılmalı, developer aynı zamanda kendi yazdığı kodun testçisidir,
  • 14. 14 İyi PLSQL kodu nasıl yazılır? • Çalıştığınız kurumun kod yazma standartlarına (kod formatlama, comment girme, procedure, function .. vs. isimlerinin başına veya sonuna standart ifadeler getirme..vs. ) uyun, • Kodunuz, yarım saatten fazla sizi uğraştırıyor ve çözüme ulaşamıyorsanız mutlaka yardım alın, • Db’deki tüm package, procedure, function,..vs. kodlarını zamanla inceleyin, kullanılan teknikleri görün, • Kodunuzu tamamladıktan sonra bir bilene kontrol ettirin, onaylatın, • Kod versiyonlama yapın (SVN, Clear Case..vs.),
  • 15. 15 ENCRYPTION & DESCRYPTION DES : Data Encryption Standart’ın kısaltılması olan DES algoritması yaklaşık 30 yıldır banka ve iletişim kurumlarının özellikle finansal işlemlerinde veri güvenliğinde kullanılmaktadır. 3DES : Three-DES veya Triple DES olarak adlandırılır, Brute Force saldırılara karşı koymakta zorlanan DES algoritmasının üzerine 1978 yılında IBM tarafından geliştirilmiştir. • Telekomünikasyon (GSM) şirketlerinde de diğer kurumsal şirketlerde olduğu gibi abonelerine ait bilgilerin güvenliği ve korunması önemlidir, aksi halde BTK (Bilgi Teknolojileri Kurumu)’nın cezalarına maruz kalınabilir. • GSM şirketlerinde aboneler isterlerse her ay otomatik olarak fatura ödemelerini kredi kartı bilgilerini vererek mail-order sistemi ile tahsil edebiliyorlar. Tüm kredi kart bilgileri sisteme şifreli olarak gelir ve Oracle database’de şifreli olarak tutulur. • Oracle’ın veriyi kendi bünyesinde şifreleme ve çözmesi için kullandığı paketleri vardır; • Oracle 8i/9i sürümlerinden itibaren dbms_obfuscation_toolkit (DES ve 3DES) • GSM şirketlerinden birinde kullanılan 3DES algoritması ile kredi kartı şifreleme (encrypt) ve çözme (descrypt) yöntemlerini örneklerle görelim...
  • 16. 16 Oracle’ın DES algoritması için kullandığı dbms_obfuscation_toolkit paketinde kullanılan DESEncrypt ve DESDecrypt örneği; DECLARE input_string VARCHAR2(16) := '&PASSWD'; raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string); key_string VARCHAR2(16) := 'gizlinumara'; raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(key_string); encrypted_raw RAW(2048); encrypted_string VARCHAR2(2048); decrypted_raw RAW(2048); decrypted_string VARCHAR2(2048); error_in_input_buffer_length EXCEPTION; PRAGMA EXCEPTION_INIT(error_in_input_buffer_length, - 28232); INPUT_BUFFER_LENGTH_ERR_MSG VARCHAR2(100) := '*** DES INPUT BUFFER NOT A MULTIPLE OF 8 BYTES - IGNORING EXCEPTION ***'; double_encrypt_not_permitted EXCEPTION; PRAGMA EXCEPTION_INIT(double_encrypt_not_permitted, - 28233); DOUBLE_ENCRYPTION_ERR_MSG VARCHAR2(100) := '*** CANNOT DOUBLE ENCRYPT DATA - IGNORING EXCEPTION ***'; BEGIN dbms_output.put_line('Raw input : ' || UTL_RAW.CAST_TO_VARCHAR2(raw_input)); BEGIN dbms_obfuscation_toolkit.DESEncrypt(input => raw_input, key => raw_key, encrypted_data => encrypted_raw ); dbms_output.put_line('encrypted hex value : ' || rawtohex(encrypted_raw)); dbms_obfuscation_toolkit.DESDecrypt(input => encrypted_raw, key => raw_key, decrypted_data => decrypted_raw); dbms_output.put_line('Decrypted raw output : ' || UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw)); if UTL_RAW.CAST_TO_VARCHAR2(raw_input) = UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw) THEN dbms_output.put_line('Raw DES Encyption and Decryption successful'); END if; EXCEPTION WHEN error_in_input_buffer_length THEN dbms_output.put_line(INPUT_BUFFER_LENGTH_ERR_MSG ); END; END;
  • 17. 17 PLSQL batch’ini çalıştırdığımızda sonuç aşağıdaki gibi olacaktır: Key olarak ‘gizlinumara’ ifadesini tanımladığımız kodumuzda şifrelenmesini istediğimiz input değer olarak 8 karakter uzunluğunda örneğin ‘orhanorh’ ifadesini girdim, öncelikle DESEncrypt fonksiyonu key’imiz ile input değerimizi şifreliyor (Encrypt), ardından DESDecrypt fonksiyonu ile de şifrelenmiş (encrypted_raw) olan verimizi key’i de kullanarak aynı DES algoritmasını kullanarak tersi yönde çözümlüyor.
  • 18. 18 • Örnek GSM şirketinde kredi kartı şifreleme işlemi için Utility_Encdec paketinde 3DES algoritması kullanılmıştır. • credit_card_black_list tablosuna aboneye ait kredi kartı numarası insert edilirken aşağıda görüldüğü gibi şifrelenmiş olarak insert edilir; select * from credit_card_black_list
  • 19. 19 Bu şifrelenmiş olan kredi kartını sorgulayabilmemiz için aşağıdaki gibi utility_encdec paketi altındaki des3encrypt () fonksiyonunu kullanmalıyız; select * from ccb_credit_card_black_list where credit_card_number = utility_encdec.des3encrypt('53232489....') Aşağıdaki des3encdec_params parametre tablosunda şifreleme için kullanılan key saklı tutulmaktadır, bu key des3encrypt ve des3decrypt fonksiyonları tarafından kullanılmaktadır.
  • 20. 20 Oracle Application Express (Oracle APEX) • Ücretsizdir, • İnternetin olduğu her yerde kendi db’inize erişebilir ve yönetebilirsiniz, oldukça pratiktir, • Oracle APEX db’inize olan bağlantınız kolay kolay kesilmez, • Database uygulamaları geliştirir, raporlayabilirsiniz, • Oracle db’de yapılabilecek birçok işlemi yapabilirsiniz, Oracle Database Express Edition (Oracle XE) • Ücretsizdir, • Kullanımı kolaydır, pratiktir, • Bilgisayarınızda çok yer kaplamaz, • Oracle db’de yapılabilecek birçok işlemi yapabilirsiniz,
  • 21. 21 Oracle Linux 6 on Vmware Virtual Machine - Create user, - Create tablespace, - Create table, index, constaints, - Insert data, import data, - Create procedure, function, triger, package, job, db_link,..vs, - Grant roles, privileges... MY DB SQL> conn sys / as sysdba SQL> shutdown immediate; SQL> startup mount; cmd -> rman target / RMAN> BACKUP DATABASE PLUS ARCHIVELOG ALL; SQL> alter database open; MY DB (backup) Linux Database Server - listener.ora - tnsnames.ora (Oracle Net Manager) Windows Client
  • 22. 22 • Spotlight on Oracle ile hem single node db’leri hem de rac db’leri izleyebiliriz • Ana ekranındaki grafikler ile bize görsel olarak anlık bilgi verir • Problemli durum olduğunda yeşil renk kırmızıya, yoğunluk olduğunda truncu renge dönüşür • Üst menulerle session, cpu-ram-I/O, top sql, logs, vs. utilization bilgilerin detaylarını görebiliriz • Alert anında sistemin sağ alt köşesinde açılan pop-up ile de bilgilendirme yapar • Oracle Enterprise Manager yönetim, monitoring konsolu gibi kullanabilecek bir başka alternatif çözümdür Oracle DB İzleme Uygulamaları: Spotlight on Oracle
  • 23. 23 Oracle DB İzleme Uygulamaları: Oracle Enterprise Manager • Oracle Enterprise Manager konsolu db’i yönetmemize ve izlememize yardımcı olur • ‘Home’ tab’ı ile db hakkında özet bilgileri anlık olarak sunar • ‘Performance’ tab’ı ile Active Session, CPU, RAM, I/O utilization bilgilerini anlık olarak sunar • Diğer tab’lar ile de backup/recovery, storage, scheduler, security, db objects vs. yönetimleri yapılabilir • DBA için kullanışlıdır, sürekli db bilgileri izlenebilir • Oracle Database 12c ile gelen son sürümü Oracle Enterprise Manager 12c’dir
  • 24. 24 Oracle DB Yönetim Uygulamaları
  • 25. 25 • Dünyanın en iyi Uygulama sunucusudur • Çok fazla farklı platformlarda yazılmış uygulamaları tek konsolda yönetmemizi ve izlememizi sağlar • Uygulamaları daha hızlı açar, daha hızlı kapatır • Uygulamaları hızlı kurar ve hızlı derleme yapılır • Warning alan instance’ların thread dump’ları alınarak uygulamada yaşanan problem incelenebilir • Oracle Weblogic Server 12c son sürümüdür Oracle Teknolojileri: Oracle Weblogic Server
  • 26. 26 Oracle Teknolojileri: Oracle Datawarehouse (Dwh) • Oracle Veriambarı farklı production db’lerden beslenir • Raporlama amaçlı kullanılır, datalar ETL (Extract -> Transform -> Load) ile çeşitli filtrelerden geçerek özet rapor datası hazırlanır • Spool ile tablo datası txt veya csv formatında dışarıya çıkılır, Sql*Loader ile txt, csv file’larda tutulan datalar db’e aktarılır, en çok kullanılan dwh operasyonlarındandır • Gece saatlerine set edilen çok fazla Scheduler job, sh script saatlerce çalışır, ilgili kaynak db’lerden datalar dwh db’inde temp tablolarına aktarılır, burada çeşitli datasal işler yapılır ve işlenmiş data olması gereken dwh tablolarına aktarılır. • Tüm verileri analiz etmeye gerek olmadan sadece belirli veriler üzerinde analiz, işlem yapmak için veriambarının alt birimleri olan Data Mart’lar kullanılır.
  • 27. 27 Oracle Teknolojileri: Oracle RAC (Real Application Cluster) Oracle Real Application Clusters (RAC), birçok büyük kurumsal şirketlerin veritabanı sistemlerinde kullanılan bir teknolojidir. Kümelenmiş bir dizi sunucu üzerinde tek veritabanının çalıstırılmasına olanak tanıyan böylece yüksek süreklilik ve ölçeklenebilirlik sağlayan bir çözümdür. Bu teknoloji ile örneğin; iki işlemcinin iş yükünü tek bir işlemci gibi gösterir ve bir işlemcinin veritabanı işlemleri yarıda kaldıysa diğer işlemcinin bu işlemi kaldığı yerden devam ettirmesi sağlanır.
  • 28. 28 Oracle Teknolojileri: Oracle Data Guard • Data kaybının minumum, erişilebilirliğin maximum olmasını sağlayan Oracle’ın en önemli teknoloji çözümlerinden biridir • Data Guard (Disaster Recovery ortamı) fiziksel olarak başka bir lokasyonda bulunan ve istenildiği anda hazır Production database olarak kullanabileceğimiz yedeğimizdir • Redo log’lardan okunan data anlık olarak standby database’lere yazılır, db’ler eşitlenir
  • 29. 29 Oracle Teknolojileri: Oracle VM VirtualBox • Oracle VM sanallaştırma uygulaması ile şirketler sunucu maliyetlerini önemli ölçüde düşürebilirler • Single node kurulabildiği gibi network sistemi de kurulabilir • Fiziksel sunucunun Disk, Ram, Network kart kaynaklarını kullanır, sanal sunucuya verilecek makul değerlerle optimize edilebilir • Birçok Development ve Test ortamları kurulabilir • Sanal sistemin snapshot’ları alınarak istenilen eski durumuna gidilebilir, bu snapshotlar fiziksel image’lardır • Özellikle Oracle db’ini yeni öğrenmek isteyen kullanıcılar için oldukça kullanışlı ve faydalıdır • Birçok farklı işletim sistemini desteklediğinden kurulumları yapılabilir veya Oracle’ın sunduğu hazır template şablonlar ile direk kullanım sağlanabilir
  • 30. 30 Oracle Teknolojileri: Oracle Audit Vault ve Oracle Database Vault Oracle Audit Vault • Veritabanı denetim ayarlarını yapabileceğimiz ve kullanıcıların tüm veritabanı aktivitelerini raporlayabileceğimiz uygulamadır • Kaynak veritaban(lar)ındaki aktiviteleri izler (monitoring), loglar (logging), raporlar (reporting) ve uyarır(alerting) • Son sürümü Oracle Audit Vault and Database Firewall 12.1.1’dir Oracle Database Vault • DBA veya kullanıcıların şirket uygulamalarına doğrudan erişimlerinin OS user ve IP bazında kısıtlanabileceği, db seviyesinde bazı yetki kurallarını tanımlayarak güvenliği sağlayabileceğimiz uygulamadır.
  • 31. 31 Otomatik Alert Mail Audit Vault Tablespace Size durumu için Alert Mail: Audit Vault tablespace doluluk oranı belli bir eşik değeri (örnek olması açısından aşağıdaki örnekte %60 limiti verildi, biz kullanımda %90 limitini vereceğiz) aştığında otomatik Alert mailini alabiliriz.
  • 32. 32 Audit Vault Uygulaması için Alert Mail: Audit Vault uygulamalarının data toplayıcı kollektor’ları (Collectors) herhangi bir sebepten dolayı duracak olursa otomatik mail ile Alert durumu öğrenebiliriz.