You are on page 1of 93

Oracle Database 10g Yaz l m Kurulumu

Sistem Gereksinimleri
Slayatta belirtilen gereksinimler tüm platformlar için geçerli olan minimum donan m
gereksinimleridir. Kurulum özellikle diske(yere)ihtiyaç duyabilir.Ayr ca genel bir kural olarak
sa layabildi imiz daha fazla RAM daha iyidir.
Not: 2GB yada daha fazla RAMe sahip sistemlerde swap alan RAMin bir yada 2 kat olmal d r.
Her i letim sisteminin de i ik gereksinimleri oldu undan, i letim sisteminin gereksinimleri için
i letim sistemine özel Oracle döküman n kullanmal s n z. Desteklenen i letim sistemi sürümlerini
gösterir, bunlarla bir i letim sistemi gruplar n veya kullan c lar n kurmay ve kurulum için gerekli
di er ad mlar bulunur.

Optimal Flexible Architecture


OFA, Oracle veritaban n ve di er veritabanlar n kurmak, ayarlamak için bir metoddur. OFA,
büyüyen ve yüksek performansl veritabanlar için maksimum esnekli i sa layan yönetilmesi kolay
bir konfigürasyon yaratmak için i letim sisteminin ve disk alt sistemlerinin avantajlar n kullan r.
Burada anlat lan metotlar OFAn n temelleridir:
OFAn n dizayn edilmesinin nedenleri:
- Diskteki büyük miktardaki karma k yaz l m ve veriyi organize etmek, cihaz darbo azlar n ve
dü ük performans önlemek
- Veri ta nmas s ras nda zedelenebilecek , yaz l m ve veri yedeklenmesi gibi yönetimsel görevleri
kolayla t rmak
- Pek çok Oracle veritaban aras nda geçi i kolayla t rmak
- Veritaban n n büyümesini ve yönetilmesini uygun hale getirmek
- Data sözlü ündeki bo alanlar n bölünmesine yard m etmeki di er bölünmelerden ay rmak ve
kaynak çeki melerini en aza indirmek

Optimal Flexible Architecture Kullanmak


OFAn n çekirde inde bir isimlendirme plan vard r. Genellikle fiziksel disk olan mount
noktalar na uygulayabile imiz bir standart, mount noktas nda bulunan klasörler ve alt klasörler ve
dosyalar n kendileri bulunur.
Mount noktas n n syntax : Tüm mount noktalar na /pm syntax kullan larak isim verilir, p string bir
sabit ve m her mount noktas n ay rmaya yarayan genellikle 2 basamakl bir say olna belirli
uzunlukta bir anahtar de eridir. Örnek mount noktalar /u01 ve /u02
Home dizini syntax : Tüm home klasörleri /pm/h/u syntax n kullan r. Pm mount noktas ad , h
standart klasör ismi ve u klasörün sahibidir. Örnek OFA home klasörleri /u01/app/oracle
Software dizini syntax : Uygulama yaz l m n n farkl versiyonlar n e zamanl çal t rmak için OFA
özelliklerini gerçekle tirmede, Oracle yaz l mlar n n her versiyonunu /pm/h/u/product/v klasöründe
tutar. Product ürünü, v versiyon numaras n gösterir, OFA uyumlu Oracle Database 10g versiyon
10.1.0 /u01/app/oracle/product/10.1.0
Alt Klasörleri isimlendirme syntax :

Ortam De i kenlerini Ayarlamak


Pek çok Oracle ortam de i keni vard r. Burada anlat lanlar ba ar l bir kurulum ve Oracle
veritaban n n kullan m için gerekli olanlar. Bunlarda hiçbirine de er atanmas na gerek yoktur.
Ancak kurulumdan önce de er atanarak gelecekteki problemler önlenmi olur.

1
ORACLE_BASE: OFA için Oracle klasör yap s n n temellerini belirler. Kullan m iste e ba l d ri
ancak e er kullan l rda daha sonraki kurulumlaru ve upgradeleri kolayla t r r. Klasör yoludur.
/u01/app/oracle
ORACLE_HOME: Oracle yaz l m n bulunduran klasörleri gösterir, klasör yolu örne i
$ORACLE_BASE/product/10.1.0
ORACLE_SID: lk örnek(instance) ad d r., default orcl. Harfle ba lamas gereken harf ve say
toplulu udur. En fazla 8 karakter olabilir.
NS_LANG: form üzerindeki bir oturum için ba lang ç nls ayarlar n belirtie. Form
language_territory.characterset. Örnek ayar AMERICAN_DENMARK .WE8MSWIN1252
Bu Oracle mesajlar için AMERICAN dilini kullanmay , gün adlar n ve ay adlar n ayarlamay
sa lar. Alan (territory) DENMARK zaman format n , tarih format n say sal ve parasal anla malar
sa lar. Bu, UNIX de ortam de i keniyken, Windows da registry ayar d r. Sorgulamak için
select * from nls_session_parameters;
Not: Windows kurulumunda , klavye dilinden gelen dil k sm default NLS_LANG de eridir.
Amerikan olmayan klavye(Windows kurulumunda) Amerikan olmayan NLS_LANG ayarlar n
getirir.

Önyükleme Kontrolleri
Oracle Universal Installer GUI gelemden önce minimum gereksinimlerin kar lan p kar lanmad n
anlamak için baz kontroller yap l r. Sisteminizin bir veya daha fazla minimum gereksinimleri
kar layamad durumda kurulum ba lad nda -ignoreSysPreeq flag n i aretleyerek devam
edebilir. $ sh runInstaller ignoreSysPreeq

Oracle Universal Installer


Oracle Universal Installer bile en tabanl kurulumu ve de i ik seviyeli entegre edilmi bundle, suite
ve web tabanl kurulumlar (tekbir paket içindeki karma k mant kl ) sa layan Java uygulamas d r.
Kurulum motoru, Java bulunan platformlara ve tüm kurulum i leminden ayr lan (ayr tutulan)
platform ba ml durumlara ta nabilir. Oracle Universal Installer, yaz l m yönetimini ve da l m n
sa lamak için a a daki yeteneklere sahiptir.
- Otomatik ba ml l k çözücü ve karma k mant k i lemek
- Webden kurulum
- Bile en ve suite kurulumu
- Tam deinstallation
- Pek çok Oracle home için destekleme
- National Language Support
- Da t k kurulum için destek

Envanter ve UNIX Grup smi


Envanter klasörü yaz l m n n yüklenmesi s ras nda kullan lan aland r. Bu klasörde bulunan dosyalar
silinmemelidir. Oracle Universal Installer envanteri Oracle Universal Installer n muhasebesini
tutmak için bir konumdur. Envanterinin tuttu u bilgiler.
- Bir makine üzerine kurulu tüm Oracle home içindeki tüm Oracle yaz l m ürünleri
- Oracle yaz l m içinde bulunan Oracle olmayan ürünler JRE gibi
Bu dosyalar n yakla k 4MB yer kaplamas beklenir.
E er UNIX sitem üzerine kurulum yap yorsan z, temel klasöre sahip olan grup ad n sa lamak için
uyar l rs n z. Oracle yaz l mlar n güncelleme yükleme ve kald rma için izin olan UNIX grup ad

2
seçilmelidir. Bu grubun üyeleri yazma iznine sahip olmal d r. Sadece bu gruba ait kullan c lar kurma
veya kald rma i lemini yapabilir.

OrainstRoot.sh
Unix platformuna kurulum yaparken, root olarak orainstRoot.sh çal t rmal y z. Bu script inventory
pointer file (Linuxda /etc/ora/oraInst.loc) yarat r. Inventory pointer file, ba lang ç olarak Oracle
Universal Installer n inventory yerini bulmas n sa lar. Bu dosyan n örne i:
inventory_loc = /oracle/oraInventory
inst_group = oinstall

Dosya Konumlar
Universal Installer, ürünün kurulum kitinin veya stageinin bulundu u yeri gösteren Specify File
Location sayfas nda default bir de er verir.
Oraclehome isimle tan mlan r. Oracle home ismi, belirli bir Oracle home ve ili kili home üzerine
kurulu olan Oracle servisleri ile ilgili program grubunu tan mlar. Oracle home ismi 1 ila 16 karakter
uzunlu unda olmal d r, sadece alfanümerik karakteri ve altçizgiyi kapsar, bo luk olamaz.
Oracle Universal Installer, Windows platformundaki Oracle homelarda a a daki özelliklere
sahiptir.(korur)
- Oracle Universal Installer taraf ndan yarat lm tüm Oracle homelar
- Daha önceki Oracle Universal Installer taraf ndan yarat lm Oracle homelar
- ORACLE_HOME registry giri ine kaydedilmi home
Oracle Universal Installer, Unixdeki Oracle homelar korur:
- Oracle Universal Installer taraf ndan yarat lm tüm Oracle homelar
- /var/opt/oratab kalsöründeki tüm Oracle homelar
- ORACLE_HOME ortam de i kenindeki home
E er bu homelardan hiçbiri yoksa, default home diskteki en büyük bo alana göre hesaplan r.

Kurulum Tipi
Oracle Database Enterprise Edition, hem kümelenmi hemde tekli isistem konfigürasyonlar nda
endüstri önderli inde ölçeklenebilirlek ve güvenlik sunar. Online taransaction processing ve i -
zekas için en geli mi özellikleri sunar.
Oracle Satandart edition, küçük veya orta ölçekli i ler yada tüm Enterprise özelliklerini
gerektirmeyen güç, güvenilirlik ve güvenlik tabanl departman uygulamalar içindir. A a daki
enterprise seviyesi özellikleri Standart editionda bulunmayan seçenekler:
- Oracle Data Guard: Bir veya daha fazla yedek veritaban yaratmaya, yönetmeye ve görüntülemeye
yarayan servisler kümesi
- Oracle Advanced Security, Oracle Label Security, Enterprise User Security, Virtual Private
Database, N-tier authentication, Fine Gained Auditing: Bu seçenekler, Oracle Database 10gnin
geli mi güvenlik özellikleridir.
-Oracle Partitioning, Oracle OLAP, Export Transportable Tablespace ve Enterprise Data
veriambarlar taraf ndan desteklenen di er özellikler
Custom kurulum, kurmak istedi imiz bile enleri seçebilmemizi sa lar.

Öngereksinimlerin Kontrolü
Kurulumdan önce, Oracle Universal Installer ba ar l bir kurulum için gerekli özellikleri ortam
kontrol ederek bakar. Bu sayfa tüm gereksinim kontrollerinin ad n , tipini ve durumunu gösterir.

3
E er otomatik kontroller bittikten sonra çal t raca m z seçimlik kontroller varsa Otomatik
kontroller ilk çal r.
Tüm kontroller tamamland nda, sayfan n alt nda yap lan kontrollerin bir özeti bulunur. E er
çal ma s ras nda veya seçimlik kontrol do rulanmad ysa uyar verir ve kontrolün do rulanmas
gerekir. Uyar y veya seçimlik kontrolü do rulamak için, uyar üreten kontrolün checkbox n
i aretlemek yeterlidir.

Ba lang ç Veritaban
Seçebilece imiz 3 tane örnek veritaban vard r yada custom bir ba lang ç veritaban seçebiliriz.
ablon veritabanlar nda dosyalar önceden konfigüre edilmi tir ve veritaban h zl ca yarat labilir,
ancak veritaban n kendimizde seçerek yaratabiliriz. Advanced seçene i ba lang ç veritabanunda
tam bir esneklik sa lar, ancak yarat lmas uzun sürer.
Not: E er ba lang ç veritaban yaratma seçene ini seçerseniz, bir sonra özet sayfas ç kar.

Konfigürasyon ve Yönetim
E er ba lang ç veritaban yarat seçene ini seçersek, ba lang ç veritaban n yaratmak için çe itli
sorular soran sayfalarla kar la aca z.
Database Naming: defaultu orcl olan veritaban ismi.
Database Character Set: bu karakter seti verinizi veritaban nda tutarken kullanaca n z veritaban d r.
Karakter setini daha sonra de i tirmek mümkündür, çok zaman harcayan bir i tir. E er hangi
karakter setini kullanaca n z bilmiyorsan z ve çok dil kullan yorsan z, Unicode standard olan
UTF-8AL32UTF8 iyi bir seçimdir. WE8ISO8859P1 sembolünü tan maz WEISO8859P15 tan r.
Sample Schema: Demolar ve ö renmek için kullan lan örnek emalard r.
Database Management: Grid kontrol sayesinde pek çok veritaban n bir veya daha fazla makineden
yönetebiliyoruz. Database control tekbir veritaban için kullan l r.

Dosya Depolama ve Yedek Geriyükleme


Dosya depolama seçenekleri
File System: Dosyalar n i letim sisteminizin yaratt dosya sisteminde saklanmas d r.
Automatic Storage Management(ASM) ASM dosyalar otomatik yarat l r ve yönetilir,
yans ma(mirroring) ve birli tirme/ekleme stripting gibi özelliklerin ek yararlar olur.
Raw Devices(Partitions): Bunlar üzerinde dosya sistemi olmayan disk parçalar d r. Bunlar sadece
raw parçalar yla daha önce u ra t ysan z kullanmal s n z.
Yedekleme ve geriyükleme seçenekleri
Do not enable Automated backups: bir yedekleme plan olu turman z gerekir. E er imidi yapmak
istemezseniz daha sonra yapabilirsiniz
Enable automated backups: bunu kulland n zda backupun nereye al naca n ve yedekleme i inde
kullan lacak bilgileri belirlemelisiniz.

Parola ve Özet
Database Schema Password: Yönetici kullan c lar olan SYS,SYSTEM,SYSMAN ve DBSNMP için
parola sa lar. Tümü için ayr parolay kullanabilirsiniz.
Özet: Burada tüm ürünleri ve kurulum için seçti iniz ayarlar görebilirsiniz bir sonraki ad m
kurulumun ba lamas d r. Özeti kontrol edip Install a bas n.

Kurulum
Kurulumun ilerleyi ini izleyebilirsiniz

4
Configuration Assistants
E er ba lang ç veritaban yaratmay seçtiyseniz, configuration assistant sayfas yaz l m n
kurulmas ndan sonra ç kar.
- iSQLPlus Configuration Assistant: bu iSQLPlus ve Oracle veritaban na ba lanan di er araçlar için
kullan lan OC4J(Oracle Containers for Java) y konfigüre eder.
- Oracle Net Configuration Assistant: Bu kurulum s ras nda temel a bile enlerini konfigüre eder.
Bunlar n aras nda:
Dinleyici ad ve protokol adresleri
simlendirme metotlar
tnsnames.ora dosyas ndaki a servisleri isimleri
Klasör sunucu kullan m
- Oracle Database Configuratio n Assistant: bu seçti imiz ba lang ç veri taban n n yarat lmas n
sa lar. Seçimlerimizi veritaban n yaratmada kullan r.
Unix veya Linux i letim sistemine kurulum yaparken, root olarak bir veya daha fazla script
çal t rmam z istenir. Bu scriptin ad root.sh d r. Bu script ORACLE_HOME konumunda ve
veritaban ndaki bilgileri içeren dosyay update eder veya yarat r. Linux kurulumunda dosya ad
/etc/oratab d r.
Windows i letim sisteminde root.sh yoktur, çünkü ORACLE_HOME ve veritaban bilgileri
registryde tutulur.

Database Configuration Assistant Overview(DBCA)


DBCA, bir veri taban yaratman z , konfigürasyonunu de i tirmenizi yada silmenizi sa lar. Daha
önce tan mlanm ablon veritaban ndan veya mevcut veritaban ndan örnek olarak faydalanarak yeni
bir veritaban yaratabilirsiniz. ablon yeni bir veritaban için ba lang ç noktas olarak
kullan labilecek önceden tan mlanm veritaban d r.
-Create a database:Bu seçene i seçerseniz yeni bir veri taban veya ablon yaratabilirsiniz.
-Configure options in a database: E er veritaban konfigürasyonunu de i tir seçene ini seçerseniz,
önceden konfigüre edilmemi yüklenmi seçenekleri konfigüre edebilirsiniz. Shared server deste ini
enable-disable edebilirsiniz.
-Delete Database: tüm veritaban dosyalar n silebilirsiniz.
-Manage Templates: Bir ablon yaratmak için 3 yolumuz var:
Mevcut bir ablondan
Mevcut bir veritaban ndan(sadece yap dan)
Mevcut bir veritaban ndan(hem yap hem veri)

Veritaban Yaratmak
DBCA ile bir veritaban yaratt m zda, daha önceden tan mlanm 3 veritaban n veya kendi
tan mlad m z kullanabiliyoruz. Veri ambarlar , genel kullan m, transaction processing için
veritabanlar mevcut. Bu ablonlar i yüküne göre ayarlanm ayarlara sahipler. Show Detail
diyerek her veritaban tipinin konfigürasyonunu görebilirsiniz. Veritaban n z n yapmas n istedi iniz
i e göre ablon seçiniz. E er emin de ilseniz genel amaçl y seçiniz.
Daha karma k ortamlar için Custom Database seçene ini seçmelisiniz. Bu daha uzun bir
sorgulama ile daha uzun süre bir veritaban yarat lmas n sa lar, çünkü veritaban yaratma scripti
çal mal d r.

5
Veritaban Tan mlama
database_name.domain_name formunda bir Global veritaban ismi girmelisiniz ve SID
belirlemelisiniz. SID default olarak veritaban ad olarak gelir ve veritaban n z çal t racak instance
unique olarak belirler. SIDnin veritaban n za ba lanacak olan instance n ad d r ve ba lanaca
veritaban ayn isimde olmak zorunda de ildir. Real Application Clusterlarda pek çok instance ayn
veritaban n açabilmektedir ve her biri için SID farkl d r.

Yönetim Seçenekleri
Her veritaban için web-tabanl yönetim araçlar n ve ayn zamanda tüm Oracle ortam n yönetmeniz
için merkezi yönetme araçlar olan Oracle Enterprise Manager bu sayfadan seçilir.
E er host bilgisayar n za Oracle Management Agent kurulmu sa, Use Grid Control seçene i ile
veritaban n z merkezi olarak yönetebilirsiniz. Bu tip bir yönetimi seçerseniz di er bir menudeki
hangi tip bir yönetim servisi istedi inizi de seçmelisiniz. Aksi taktirde veritaban n z tek ba na
yönetmek için Use Database Control for Database Management seçmelisiniz. Bu seçene i
seçti inizde email ile uyar lmay ve günlük yedekleme yap lmas n sa layabilirsiniz.

Parola ve Dosya Depolama


Database schema password: SYS,SYSTEM,SYSMAN ve DBSNMP için parola vermemizi sa lar.
her biri için ayr veya ortak bir parola kullan labilir.
Dosya saklama seçenekleri:
- Dosya Sistemi: Dosyalar i letim sisteminin konfigüre etti i dosya sisteminde saklar.
- Automatic Storage Management: ASM dosyalar yarat r ve otomatik olarak yönetir ve mirroring ve
striping gibi özelliklerden faydalan labilir.
-Raw devices: Üzerinde dosya sistemi bulunmayan disk k s mlar d r.

Dosya Konumlar ve Yedek Geriyükleme


Dosya konumlar
- Use Database Fiel Locations from Template: Bu seçenekle, ablon tan mlam klasör bilgilerini
kullan r z. Veritaban dosya isminde ve konumunda daha sonradan de i iklik yapma ans m z vard r.
- Use Common Location for All DB Files: Tüm veritaban dosyalar için yeni ortak bir alan
tan mlamam z gerekir. Veirtaban dosya isimlerini ve konumlar n (storage sayfas ndaki) de i tirme
ans m z var.
-Use Oracle Managed Files:
yedekleme ve geri yükleme seçenekleri
-Flash recovery area, yedekleme ve geri yuklemeyle ilgili dosyalar n sakland ve yönetildi i
konumdur.
-Ar ivlemeyi sa lamak, yaratma zaman nda veritaban n ar iv log modea koymakt r.

Dosya Konumu De i kenleri


Pek çok sayfada File Location Variables dü mesini t klayarak tan mlanm de i kenlerin
görüntülenmesini sa layabiliriz. Bu de i kenler veritaban dosyalar için yol tan mlamada
kullan l rlar. DBCA da bu de erleri de i tiremezsiniz. E er de i tirmeniz gerekiyorsa DBCAdan
ç kmal , i letim sistemi ortam nda de i tirmeli ve DBCAy yeniden ba latmal s n z.

çerik ve lkleme Parametreleri


Sample Schema: Demo ve ö renme için örnek ema.
Custom Scripts: Yaratma zaman nda çal mas n istedi imiz herhangi bir script seçebiliriz.

6
Initializing Parameters: S k kullan lan parametreler için 4 tab vard r. All Initializing Parameters
diyerek tüm parametreleri görebilirsiniz.
Memory: Kullan c processleri için SGA ve PGA taraf ndan kullan lacak belle i gösterir.
Sizing: Block büyüklü ünü belirleyebilirsiniz, ablon bolk büyüklü ü kullan yorsan z de i mez.
Instancea ba lanabilecek pek çok veritipi için kullan l r. NCHAR, NVARCHAR2 ve NHCLOB
Unicode veri destekler.
Connection Mode: Oracle veri taban , instancea ba lanan kullan c processlerini tutmak için server
processler yarat r. Bir server process
-Dedicated server process: bir server processi sadece bir kullan c ya servis verir.
-Shared server process: bir server processi pek çok kullan c processe servis verir.
Veritaban n z dedicated server process seçmenizi sa lar. Shared server için bir veya daha fazla
parametreyi ayarlamal y z.

Veritaban Depolama
Bu sayfada control files, data files ve online redo loglar için depolama ayarlar n görebiliriz. ablon
kulland n zda veritaban na veri dosyas eklememize gerej yokrur ancak kontrol veya online
redolog file ekleyebiliriz.
Çoklu control file DBCA taraf ndan yap l r(3 tane) sterseniz ekleyebilirsiniz.
Redo loglar group olarak çal r ve çoklanmal d rlar. DBCA online redo log dosyalar otomatik
olarak çoklayamaz.

Yaratma Seçenekleri ve Yaratma


Tan mlad n z veritaban n ablon olarak kaydedebilirsiniz. Bu ablon tan mlad n z tüm
seçeneklerle daha sonra veritaban yaratmada kullan labilir.
Creaion options sayfas nda nexte t klad ktan sonra, tüm seçti iniz seçenekleri görebilece iniz
Confirmation sayfas görüntülenir. lem ba lamadan önce de i iklikleri yapabilece iniz son
ans n zi confirmation sayfas n HTML dosyas olarak kaydedebilirsiniz. Confirmation sayfas nda
Okye bas nca veritaban yaratma i lemi ba lar.
Kurulumun sonunda, yarat lm hesaplar açabilece iniz ve parolar n de i tirebilece iniz bir sayfa
gelir. Password Managementa t klayarak hesaplar n ve parolalar n oldu u k sma geçebilirsiniz.
Geri döndü ünüzde i lem tamamlanm olur.

Veritaban Mimarisi
Oracle veritaban n olu turan dosyalar a a daki gibidir:
-Control Files: Metadata olarak adland r lan veritaban n n kendisiyle ilgili verileri içerir. Bu dosyalar
veritaban için kritiktir. Bu dosyalar olmadan veritaban içindeki verilere eri ecek data file lar
açamazs n z.
-Data Files: Veritaban n n verilerini tutar.
-Online Redo Log Files: Veritaban n n geriyüklemesi için gereklidir. E er veritaban çöker veya
herhangi bir data file kaybedilirse, bu dosyalarla veritaban geriyüklenebilir.
Resmen veritaban n n parças olmasa da veritaban n n düzgün bir ekilde çal mas için önemli olan
dosyalar da vard r:
-Parameter Files: Veritaban ba lat l rken instance n nas l konfigüre edilece ini belirlemede
kullan l r.
-Password File: Kullan c lar n uzaktan veritaban na ba lanmas n ve yönetim görevlerini yapmas n
sa lar.

7
-Archive Log Files: instance taraf ndan üretilmi redolar n tarhini/geçmi in tutar. Bu dosyalar
veritaban geriyükleme için gereklidir; bu dosyalar ve veritaban n n yedeklerini kullanarak kay p bir
data file geri yükleyebilirsiniz.

Control Files
nstance n z ba latt n zda ve veritaban n mount etti inizde control filelar okunur. Control file n
içindeki bilgiler veritaban n olu turan fiziksel dosyalar gösterir.
Veritaban n za yeni dosyalar ekledi inizde, control filelar otomatik olarak güncellenir.
Control filelar n nerde tutuldu u da initialization parametrelerinde tutulur.
Veritaban n n control file kayb yüzünden bozulmas n önlemek için control filer n en az 3 farkl
fiziksel konuma yedeklemelisiniz. Bu farkl dosyalar initialization parametrelerinde belirterek,
Oracle database server n bu çoklu dosyalar kontrol etmesini sa layabilirsiniz.
Veritaban n zdaki control filelar hakk ndaki bilgiye Enterprise Manager n Administration sayfas n n
Storage k sm nda bulabiliriz. Control files genel sayfas veritaban n zdaki control filelar n isimlerini
ve yerlerini gösterir. Advanced sayfas nda control file yaratma ve veritaban tan mlama i leri
yap labilir. Record Section sayfas control dosyas n n içindeki kay tlar gösterir.

Redo Log Files


Redo log filelar transactionlar n ve Oracle veritaban sunucusunun çal ma sonuçlar n veritaban na
kaydederken kullan l r. Güç kesintisi, disk hatas gibi sistem ar zalar nda veritaban n n tutarl l n n
bozulmamas n sa lar. Redo log filelar n içindeki bilgiler disk ar zas nda kaybolmas n diye redo log
filelar çoklanmal d r.
Redo log redo log file gruplar ndan olu ur. Bir grup, redo log dosyas ndan ve onun çoklanm
kopyalar ndan olu ur. Her t pat p kopya bir grubun üyesi olmal d r ve her grup bir numarayla
tan mlanmal d r. Log writer (LGWR) processi redo kay tlar n redo log buffer doldu unda redo log
bufferdan bir redo log gruba yazar. Daha sonra de i ir ve dosyalar bir sonraki gruba yazar. Redo log
gruplar sirkülar biçimde çal r.
Administration sayfas nda Storage k sm nda Redo Log Groups linkine t klayarak veritaban n zdaki
redo log dosyalar yla ilgili bilgilere ula abilirsiniz.

Tablespace ve Datafiles
Veritaban tablespace ad verilen mant ksal depolama birimlerine bölünmü tür. Her veritaban
mant ksal oalark bir veya daha fazla tablespace bölünmü tür. Files table spacedeki mant ksal yap y
fiziksel olarak tutmak üzere bir veya daha fazla data files olu turulur.

Segmentler, Extendler, Blocklar


Tablolar ve indeksler gibi veritaban nesneleri tablespacede segmentler olarak tutulurlar. Her
segment bir veya daha fazla extend içerir. Extend birbirini takip eden data blocklar içerir, yani bir
extent sadece bir data file da bulunabilir. Data blocklar veritaban n n içindeki en küçük girdi ç kt
birimidir.
Veritaban i letim sisteminden data block kümesi istedi inde, i letim sistemi depolama birimindeki
as l i letim sistemi blocklar na gönderir. Bu nedenle veritaban n zdaki herhangi bir verinin fiziksel
adresiyle ilgilenmenize gerek yoktur.
Data blocklar n n büyüklü ü veritaban yarat ld s rada belirlenebilir. Default olarak 8k d r. E er
veritaban n z büyük tabloalr ve indeksler gerektiren veri ambarlama uygulamalar kullan yorsa,
büyük blocklar daha iyi olabilir. E er veritaban n z okuma yazma gibi i lemleri nadir yap yosa, daha
küçük block büyüklü ü kullan labilir. Maksimum block büyüklü ü de i letim sisteminize ba l d r.

8
Minimum block büyüklü ü 2kd r.
Farkl block büyüklüklerine sahip tablespaceleriniz olabilir.

Oracle Instance Management


Oracle Database server oracle veritaban ndan ve oracle instance ndan olu ur. Oracle instance da
System Global Area(SGA) ad verilen bellek bufferlar ndan ve arka planda çal san proseslerden
olu ur.
Ba lat lana kadar instance beklemededir. nstance ba lad zaman initialization parameter dosyas
okunurve instance bu parametreler göre konfigüre edilir.
Instance ba lad ktan ve veritaban aç ld ktan sonra kullan c lar veri taban na eri ebilir.

Oracle Memory Structures


Oracle instance n n içerdi i temel bellek yap lar :
System Global Area(SGA): Tüm sunucu ve arka plan prosesleri taraf ndan kullan l r.
Program Global Area(PGA): Her bir sunucu ve arka plan i lemleri için ayr d r; her bir proses için bir
PGA vard r.
System Global Area(SGA) instance verilerinin ve kontrol bilgilerinin bulundu u payla lan bir
bellektir. SGA a a daki veri yap lar n içerir:
-Database buffer cache: Veritaban nda al nan veri blocklar n tutan önbellektir.
-Redo log buffer: Diskteki redo loglara yaz lana kadar redo bilgisini tutan bufferd r.
-Shared pool: Kullan c lar aras nda payla labilecek çe itli yap lar tutan önbellektir.
- Large pool: Büyük okuma yazma i lemlerinde kullan labilecek seçimlik bir aland r.
-Java pool: Tüm oturum tabanl java kodlar ve JVM dahilindeki veriler için kullan l r.
-Stream pool. Oracle streamleri taraf ndan kullan l r.
Dinamik SGA altyap s yla Database buffer cache, shared pool, large pool, Java pool ve stream pool
instance kapat lmadan de i tirilebilir.
Program Global Area(PGA) her bir sunucu prosesi için data ve kontrol bilgilerini içeren bellek
bölgesidir. Sunucu prosesi istemcilerin isteklerine cevap veren bir prosestir. Sunucu proses
ba lat ld nda PGA ayr l r.
Kullan lan PGA büyülü ü ve içeri i, instance n shared server modda yarat l p yarat lmad na
ba l d r.
PGA genellikle:
Private SQL area: SQL statementi çal t ran her oturumum bu alan vard r.
Session Memory: oturum de i kenlerini ve oturumla ilgili bilgileri tutan bellektir.

9
Oracle Prosesi
Bir uygulama program yada enterprise manager gibi bir Oracle arac çal t rd n zda Oracle
sunucusu uygulaman n istedi i komutlar çal t rmak için bir proses yarat r.
Oracle ayn zamanda birbiriyle ve i letim sistemiyle bellek yap s n , diske veri yazmay ve genel
kontrolleri yapmak üzere ileti im kuran arka plan prosesleri de yarat r.
En çok kullan lan arkaplan processleri:
-System Monitor(SMON): Instance ar zalanmaya ba lad nda geriyüklemeyi yapar.
-Process Monitor(PMON): kullan c prosesi ar zaland nda proses temizli ini yapar.
-Database writer(DBWn): database buffe önbelle indeki de i mi bloklar disk üzerindeki dosyalara
yazar.
-Checkpoint(CKPT): Veritaban n n belirli bir an için tüm ayarlar n ve verilerin saklanmas n sa lar.
-Log writer(LGWR): Redo log kay tlar n diske yazar
-Archiver(ARCn): Redo Log dosyalar doldu unda redo lolar archivelere kopyalar.

Veri Sözlü ü
Veri sözlü ü belirli bir veritaban hakk nda sadece okuma amaçl kullan labilen tablolar n ve view
lar n merkez kümesidir.veri sözlü ünün kapsad bilgiler:
- Veritaban n n fiziksel ve mant ksal yap s
- Veritaban n n geçerli kullan c lar
- Ba l l k k s tlar yla ilgili bilgiler
- ema nesleri taraf ndan ne kadar alan istenilidi i ve ne kadar n n kullan ld .
Veri sözlü ü veritaban yarat l rken yarat l r ve veritaban n yap s nda bir güncelleme old unda
otomatik güncellenir.

Grid Control

Database Kontrol'ün yetene i geni letilebilir ve sisteminizin Oracle Enterprise Manager's Grid
Control kullanan geri kalan k sm ile bütünle tirilebilir.

Grid control Framework mimarisi yüksek seviyede esneklik ve fonksiyonellik sa lar. htiyaç
duydu unuz ortamlar izlemek ve yönetmek için Enterprise Manager' kolayca özelle tirebilirsiniz.

Tipik Enterprise Manager Framework konfigürasyonu a a daki fonksiyonel birimlerinden olu ur:
-Yönetimsel hedefler
-Yönetim hizmetleri
-Web tabanl grid kontrol
-Veritaban kontrol
-Uygulama sunucu kontrol

10
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
SQL Nedir?
Structured Query Language(SQL) kullan c lar n ve programlar n veritaban na eri mesini sa layan
statementlar kümesidir. SQL çe itli kategorilere bölünmü tür:
- Data definition language (DDL) / Veri tan mlama statementlar
- Data manipulation language (DML) / Veri i leme statementlar
- Transaction kontrol statementlar
- Oturum kontrol statementlar
- Sistem kontrol statementlar
- Gömülü SQL statementlar

SQL Kullanmak
SQL, komutlar az kelimeyle, olabildi ince basit olmas yla ve komutlar n sayfalar doldurabilecek kadar
karma k olmas yla oldukça zengin bir dildir. SQL komutlar n veritaban na yollayacak de i ik yollar
vard r:
-Oracle SQL Plus veOracle iSQL Plus: Bu araçlarla komut sat r arayüzüyle bait bir eri im sa lan r.
-Oracle Forms: Kullan c lar n veriyi yönetebilecek grafik tabanl ortamlar sa layarak SQLi kullan c lardan
gizler.
- Oracle Reports ve Oracle Discoverer: Bu raporlama araçlar karma k veritaban sorgular n sadece mouse
a dokunarak yapmay sa lar. Oracle Reprts, standart , sabit raporlar için kullan l r. Oracle Discoverersa
verinin yap s n yada ili kilerini bilmeden veriyi getirmeyi sa layan veri madencili i araçlar d r.
- Oracle Enterprise Manager: Veritaban nesnelerini ve yap lar n yönetmeye yarayan grafiksel araçt rç
Enterprise Manager kullanarak yönetici syntax hat rlamaktansa yap lacak i e konsantre olur.
-Third-party tools: SQL pekçok veritaban da t c s taraf ndan kullan lan standart bir dildir. Yüzlerce araç
da SQL kullanarak veritaban n görüntülemeye yarar.

Enterprise Manager: SQLi Görmek


Enterprise Manager Databse Controlü kullanaral veritaban n z yönetmek için kulland n z SQL
komutlar n yazman z gerekmez. E er yarat lan SQL i görmek isterseniz. Show SQL butonuna t klayarak
istedi iniz zaman görebilirsiniz. Bu SQLi bir text dosyas na kopyalay p daha sonra kullanabilirsiniz.

SQL* Plus Nedir?


SQL*Plus , SQL ve PL/SQL komutlar n yazmak için komut sat r arayüzüne sahip SQL*Plus
kullanabilirsiniz.
-SQL komutlar n ve PL/SQL bloklar n girme, de i tirme, çal t rma, saklama, getirme ve kaydetme
i lemleri yap l r.
-Sorgu sonuçlar düzenlenir, hesaplan r, saklan r ve yazd r l r.
-Herhangi bir tablo için kolon bilgilerinin listelenmesi
-Son kullan c ya mesaj gönderilmesi ve cevap al nmas
-Veritaban yönetiminin yap lmas
SQL*Plus n ba lat lmas için
1 Terminal penceresi aç l r
2 Komut sat r na $sqlplus /nolog yaz l r
3 Ba lanmak istedi iniz kullan c ad yla beraber connect yaz l r
4 Kullan c parolas girilir
5 SQL*Plus ba lar ve default veritaban na ba lan r.
iSQL*Plus Nedir?
iSQL*Plus, Oracle veritaba n için browser-tabanl bir arayüzdür. SQL*Plus ürününnün bir bile enidir.
iSQL*Plus browserla ba lanmadan önce sunucu taraf ndaki dinleyici prosesi ba lat lmal d r. Sunucu
prosesin ba lamas için isqlplusctl start komutu kullan l r.
Sunucu proses ba ad ktan sonra iSQL*Plusa ba lanmak için
1 Internet veya intranete ba lan p, web browser aç l r
2 iSQL*Plus n URLi girilirhttp://hostname:port/isqlplus
iSQL*Plus n kulland port 5560d r. Prt numaras n ö renmek için $ORACLE_HOME /install/portlist.ini
dosyas na bak l r.
3 iSQL*Plus sayfas web browsera gelir.
4 Oracle kullan c ad ve parola ilgili alanlara girilir.
5 Connect identifier default veritaban na ba lanmak için bo b rak l r. Deafult veritaban na ba lanmak
istemiyorsak ba lanmak istedi imiz veritaban n n ad girilir.
6 Logine bas l r. iSQL*Plus çal ma alan web browsera gelir.

iSQL*Plus Kullanmak
Workspace sayfas nda bir veya daha fazla SQL ve SQL Plus komutu girebilirsiniz. Execute butonuna
t klay nca sayfaya yazd n z tüm komutlar çal r. Sonuçlar alt k s mda görüntülenir. E er birden fazla
komut girecekseniz SQL komutlar noktal virgül veya / ile ayr l r.
History tab nda oturumla ilgili ana komutlar görülür. Bu komutlar yükleyebilir yada silebilirsiniz Default
olarak 10 komut saklan r.
Preferences iSQL*Plus penceresinin fonksiyonlar yla beraber görünümünüde de i tirebildi iniz bir aland r.
Mesela 10 yerine 100 komutun saklanmas n , ç kt lar n nas l olaca n ve i leme seçenekleri de i tirilebilir.

Veriyi Tan mlamak


DESCRIBE komutu veritaban nesnelerinin tan mlamalar n görmek için kullan l r. Bu komut SQL
standartlar n n bir parças de ildir, ancak Oracle araçlar nca kullan lan pekçok SQL*Plus komutlar ndan
biridir. SQL komutlar da ilk dört harfi kullan larak k salt labilir.
Örnek employees tablosunun yap s n gösterir. Ç kt da gördü ünüz gibi her kolonun da zorunlu olup
olmad ve verisinin tipi görülür.

Veriyi Sorgulamak
Temel SELECT komutu 3 k s mdan olu ur:
-SELECT tablo veya tablolardan seçece iniz kolonlar listeler. Zorunludur.
-FROM hangi tablo veya tablolardan veri getirece ini belirtir. Zrounludur.
-WHERE, FROM ile belirtti imiz tablolardan getirilecek veriler üzerindeki k stlar gösterir. Seçimliktir;
e er olmazsa tüm sat rlar getirilir.
SQL case sensitive bir dil de ildir. Örnekte komutlar karma k olarak yaz lm t r.

Veriyi S ralamak
Ç kt y s ralamak için ORDER BY kullan l r. Default s ralama artand r. Veriyi azalan s rada s ralamak için
s ralamak istedi imiz koln ad n n ard ndan DESC kullan l r. Örnek;
ORDER BY lastname DESC
Birden fazla kolon için s ralama yapabilirsiniz. Örne in a a daki s ralamada önce lastname kolonuna göre
azalan sonra department_ d için artan s ralama yap l r.
ORDER BY lastname DESC,department_id
Tablolar Birle timek
Bazen birden fazla tablodan veri getirmek gerekir. Örnekte rapor 2 ayr tablodan verileri gösterir. Raporu
yaratmak için employee ve departments tablolar n ba lamal ve her ikisindeki verilere de ula mal y z.
Veritabn ndaki birden fazla tablodan veri gerekti inde, join durumu kullan l r. Bir tablodaki sat rlar di er
tablodaki sat rlarla ortak de erler kullan larak birle tirilir, bunlar genellikle primary ve foreign key
kolonlar d r.
2 veya daha fazla ili kili tablodan veri almk için birle tirme durumu da WHERE k sm nda yaz l r. Örnekte:
SELECT lastname, department_name
FROM employess, departments
WHERE employees.dept_id= departments.dept_id

Veriyi lemek
Data Manipulantion Language(DML) komutlar veritaban ndaki veriyi de i tirmek için kullan l r:
-INSERT veritaban ndaki tabloya veri sat rlar eklemek için kullan l r.
-UPDATE: Tabloda bulunanbir sat r de i tirmemizi sa lar. De i tirilecek sat r say s WHERE de kontrol
edilir. E er WHERE k sm yoksa tablodaki tüm sat rlar de i tirilir.
-DELETE : Tablodan sat rlar ç kar r. UPDATE komutu gibi silinecek sat r say s WHERE ile kontrol edilir.
Ço u durumda bu komutlar bir uygulaman n içinde bulunurlar. Uygulama DML komutunu olu turur ve veri
üzerindeki de i ikli i yapar.
Not: NULL anahtar kelimesi sutuna bir de er eklemez. Bu bo luk yada O de ildir, de eri yoktur.
SYSDATE ise DATE kolonuna o anki tarih ve zaman ekler.

Veriyi Tan mlamak


Data definition language olu turan komutlar veritabn nesneleriyle çal mam z sa lar.
-CREATE komutu veritaban nda yeni nesneler yaratmam z sa lar. Veritaban nda tablolar, indeksleri
sequences, views gibi de i ik nesneleri yaratabilirsiniz.
-ALTER veritaban nda mevcut nesnenin de i tirilmesini sa lar. Neseneyi tan mlad ktan sonra nesneyi
de i tirmemiz gerekebilir. Nesnelere ba l olarak de i tirilebilecek de i ik durumlar vard r. Örne in
tabloya bir sütun ekleyebilirken , bir indekse sutun ekleyemezsiniz.
-DROP veritaban ndaki nesneleri siler, bir nesen drop edildikten sonra referans edilemez, ula lamaz.
Silinene /at lan bir tablonun geri getirilmesi mümkündür.

Transactionlara Bak
Çal abilir bir SQL statement çal maya ba lad nda transaction ba lar. Oracle transaction için bir undo
segmenti de atar, undo tablespacedeki kay tlar mevcut transaction son commit durumuna döndürmek için
rollback komutunda kullan l rlar. Transactionn a a daki durumlar olu tu unda biter
-SAVEPOINT kullan lmam kullan c commit veya rollbackleri
- Kullan c CREATE, DROP,RENAME veya GRANT gibi bir DDL komutu çal t r r. E er mevcut
transaction bir DML komutu içeriyorsa ORACLE önce ilk transaction commit eder sonra DDL komutunu
içeren yeni bir transaction ba lat r.
-Kullan c Oracledan koptuysa, mevcut transaction commit edilir.
-Kullan c processi anormal biçimde biterse, mevcut transaction rollback edilir.
Bir Tarnsaction bitti inde bir sonraki SQL komutu di er transaction ba lat r.
Not: Kullan c n n ba l oldu u ayn veritaban na eri en SELECT sorgular kümesi
Transaction Control Statement
3 tane transaction control statement vard r COMMIT, ROLLBACK,SAVEPOINT
- Bir transaction commit etmek transaction içindeki SQL komutlar yla yap lm de i iklikleri kal c hale
getirmektir.
- Rollback, commit edilmemi bir transaction n yapt de i iklikleri geri almakt r. Oracle eski de erli
tutmak için undo tablespaceleri veya rollback segmentleri kullan r. Redo log de i iklilerin kay tlar n içerir.
- SAVEPOINTler uzun transactionlar daha küçük k smlara böler. Bir savepoint kurdu umuzda, bu noktaya
rollback ile dönü yapabilirsiniz. Her savepointin bir ad olmal , böylece rollback yaparken belirledi imiz
savepointe dönebiliriz.

Veriyi Kilitlemek
Oracle, transactionlar aras ndaki veri tutarl l n ve bütünlü ünü kilit mekanizmas kullanarak sa lar. Bu
mekanizma birden fazla kullan c n n ayn veriyi ayn anda güncellememesini sa lar.
Oracle 10g kullan c lar n gereksiz yere ba ka kullan c lar n verisini blaklamad ndan emin olmak için fine
grained kilti mekanizmas kullan r. Veri okuyan bir kullan c g ncellem yapan bir kullan c taraf ndan
bloklanmaml d r. Güncelleme yapan bir kullan c ayn veri sat r n güncellemeye çal an bir kullan c yla
kar la mad sürece di er kullan c lar bloklamamal d r.

Di er Statement Kategorileri
Session control statementlar Oturum kontrol statementlar kullan c oturumunun özelliklerini dinamik
olarak yönetir. Bu komutlar mevcut transaction üstü kapal bir biçimde commit etmezler. PL/SQL oturum
kontrol statementlar n desteklemez.
Oturum kontrol Statementlar :
-ALTER session
-SET Role
-System Control Statement Tek bir sistem kontrol statement mevcuttur.
ALTER SYSTEM Bu statement oracle instance n n özelliklerini dinamik olarak yönetir. Bu komut, mevcut
transaction n üstü kapal biçimde commit etmez ve PL/SQL de yoktur.
Embedded SQL statements: DDL, DML ve transaction control statementlar n bir prosedürel dil program na
yerle tirilir.????

PL/SQL Nedir?
PL/SQL blok yap l bir dildir. PL/SQL program n olu turan temel birimleri (prosedürler,fonksiyonlar ve
bloklar) pekçok içiçe geçmi altbloklardan olu an mant ksal bloklard r. Yani bir problemi yada altproblemi
çözmek için bir mant ksal blok yarat l r. PL/SQL, SQL dilini yap sal programlama teknikleri eklemi tir.
Bir PL/SQL blo u 3 k s mdan olu ur:
-DECLARE Bu k s m sabitleri ve de i kenleri tan mlayabilece iniz seçimlik bir k s md r. Daha sonra
bunlar SQL içinde ve prosedürel statementlarda kullanabilirsiniz. Sabitleri veya de i kenleri di er
statementlar n içinde kullanmadan önce tan mlamal s n z.
-BEGIN Kod blo unun ba lang c d r. Bu kod hem SQL hemde PL/SQL komutlar ndan olu ur. Zorunludur.
-EXCEPTION Bu k s m iste e ba l d r. Yerel istisnalar burada tan mlan r.
-END blo u bitirir. Zorunludur.
Örnek PL/SQL Blo u
DECLARE
qty_on_hand NUMBER(5);
BEGIN
SELECT quantity INTO qty_on_hand FROM
inventory
WHERE product = 'TENNIS RACKET'
FOR UPDATE OF quantity;
IF qty_on_hand > 0 THEN -- check quantity
UPDATE inventory SET quantity = quantity - 1
WHERE product = 'TENNIS RACKET';
INSERT INTO purchase_record
VALUES ('Tennis racket purchased', SYSDATE);
ELSE
INSERT INTO purchase_record
VALUES ('Out of tennis rackets', SYSDATE);
END IF;
COMMIT;
END;

Üstte görülen blok bir say tutacak bir yerel de i ken tan m yla ba lar. Kod blo uda BEGIN komutuyla
ba lamaktad r. lk komut tenis raketi malzemesinini miktar n n yerel de i kene al nmas d r. Bunu IF THEN
ELSE komutlar izler.
E er 0dan fazla tenis raketi varsa miktar 1 azalt rl r ve purchase records tablosuna mesaj yazd r l r. E er hiç
tenis raketi yoksa sadece purchase records tablosuna mesaj yazd r l r. COMMIT ile yap lan de i iklikler
aktif hale gelir. End ile blok bitirilir.

PL/SQL Kullanmak
PL/SQL u yap larda kullan l r:
-Anonim bloklarda: Bunlar isimlendirilmemi PL/SQL bloklar d r. Bu isimlendirilmemi blok genellikle
isimlendirilmi (fonksiyon yada prosedür) blo un içinde bulunur. Bu bloklar n içiçe olmas kodun
çal mas n n kontrolünü kolayla t r r.
- Functions/Fonksiyonlar: Fomksiyon tek bir de er döndüren(RETURN komutu kullan r) PL/SQL blo udur.
-Procedures/Prosedürler: Prosedür belirli bir i i yapan PL/SQL blo udur.
-Packages: Prosedürleri, fonksiyonlar ve anonim bloklar içeren(bunlar n mant ksal olarak ili kili olmas
gerekli) yap d r.
-Triggers: Veritaban nda belirli bir durum olu tu unda çal an PL/SQL blo udur. Bu durum tabloya ba l
olabilir; tabloya bir sat r eklemek gibi. Yada veritaban nda gerçekle ecek bir durum olabilir; bir kullan c n n
veri taban na login olmas gibi.
-Object Types: Nesne tipi bir çe it veri tipidir.

Java Nedir?
Java, Sun Microsystems taraf ndan 1995 sunulan nesne tabanl programlama dilidir. Java programlar Java
yorumlay c s (Java Virtual Machine) bulunan herhangi bir makinede çal t r labilir. Programc lar n grafik,
hareket ve ses gibi dinamik uygulamalar yapmak için Javadan faydalanabilirler. Java veritaban nda
bytekodlar eklinde derlenir ve saklan r. Bu kod makine koduyla kayna kodu aras nda. Javabyte kod
platform ba ms zd r. Böylece i letim sistemleri aras nda ta nmas n kolayla t r r. JVM bytekodlar
makinenin okuyabilece i komutlara dönü türür.
Oracle ve Java
Java stored prosedürlerini herhangi bir PL/SQL blo undan, altprogramdan veta paketten ça rabilirsiniz.
Ayn ekilde JDBC , PL/SQL stored prosedürlerini ve fonksiyonlar ça rman z sa lar.

OCI Nedir?
Oracle Call Interface, C ile yaz lm uygulamamlar n bir veya daha fazla Oracle veritaban sunucusuyla
ileti im kurmas n sa layan application programming interface(API)dir. OCI karma k ve güçlü dü ük
seviyeli bir APIdir. Sistem belle inin ve a ba lant lar n n verimli kullan lmas sa layarak performans ve
ölçeklenebilirli i artt r r. OCI, 2katmanl istemci sunucu veya daha çok katmanl ortamlarda dinamik
oturumlar ve transactionlar yönetmeyi sa lar ve N-tier yetkilendirmeye izin verir. Veritaban n n yeni
özellikleri ve yetenekleri uygulama geli tiricilerine OCI taraf ndan ula t r l r. Di er APIler OCI nin alt nda
yeral rlar.

Di er APIler
Java Database Connectivity(JDBC): Javada yaz lm programlardan ili kisel veritabanlar na ula mak için
kullan lan standart bir APIdir. Tek ba na Java uygulamalar , browserda çal an appletler, Java 2 platformu
Enterprise Edition middle tier bile enler, servletler ve Java Beanler JDBCyi kullan rlar. Java s n flar ,
Oracle veritaban n yükleyebilir ve stored prosedürler olarak kullanabilirler. Java programlar JDBCyi ve
PL/SQL stored prosedürlerini ça rmakta kullan labilirler.
Pro*C/C++ ve Pro*COBOL: Oracle veritaban n n ilk versiyonlar ndan bu yana programc lar gömülü SQL
statementlar n programlar n içine C ve COBOL gibi 3. jenerasyon programlama dilleri ile yazarlar.
Pro*C/C++ ve Pro*COBOL veritaban n n eri mesi için gömülü SQLleri çevirirler.
Oracle C++ Interface(OCCI) OCCI, OCI den daha basit ve Pro*C/C++ dan daha do ald r ve C
programc lar için bir arayüz sayesinde veritaban na nesne tabanl eri im sa lar. Ayn zamanda sü ük
seviyeli OCI ye göre daha fazla geli mi özelli e sahiptir.
Open Database Connectivity: ODBC bir uygulaman n birden fazla veri kayna na ba lanabilmesini
sa layan standart bir arayüzdür. Veritaban sürücüsü uygulamay belirli bir veri kayna na ba lar.
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
iSQL*Plus durdurup ba latma
iSQL*Plus oturumunu açmadan önce iSQL*Plus uygulama sunucusu çal yor olmal d r.
Windowsta veya linuxtaki konsole hizmeti yard m yla bu servis ba lat l p durdurulabilir.
iSQL*Plus uygulama sunucusu Oracle veritaban kurulumunda varsay lan olarak ba lat l r.
iSQL*Plus uygulama sunucusunu ba latmak ve durdurmak için (Linux).
Ba latma komutu: isqlplusctl start
Durdurma komutu: isqlplusctl stop
iSQL*Plus uygulama sunucusunu ba latmak ve durdurmak için (Windows)
Ba lat > Programlar > Denetim Masas >Yönetimsel Araçlar>Servisler
iSQL*Plus Windows Service OracleOracleHomeNameiSQL*Plus servisini
ba latabilir veya durdurabilirsiniz.
Alternatif olarak iSQL*Plus Linuxtaki gibi konsole dan da ba latabilir veya
durdurabilirsiniz.

Management Framework
Oracle Veritaban 10g yönetim çat s n n 3 ana bile eni vard r:
Veritaban ve Instance
Veritaban na ba lant ya izin veren L STENER
Oracle Enterprise Manager Database Control.
Herbir bile enin servisleri kullanmaya ba lamadan önce sa l kl bir ekilde ba lat lm ve
veritaban sunucusunun durdurulmas ndan önce temiz bir ekilde durmu olmas
gerekmektedir.

Veritaban kontrolünü ba latmak ve durdurmak.


Oracle Gride ba lanmam veritabanlar için kendi ba na çal an yönetim konsolu sunar.
Her bir veritaban Database Control ile ayr ayr yönetilebilir. Database Control
dbconsole sürecine ihtiyaç duyar.

Dbconsole sürecini ba latmak için:


#emctl start dbconsole
Dbconsole sürecini durdurmak için:
#emctl stop dbconsole
Dbconsole sürecnin durumunu görmek için:
#emctl status dbconsole
Not: Bu komutlar çal t rabilmeniz için i letim sisteminizde $ORACLE_HOME/bin
yollar n n tan ml olmas gerekmektedir.
Database Control sunucu-tarafl bir süreç kullan r. Dbconsole süreci ba lad nda veya
durdu unda bu süreçte otomatik olarak ba lar veya durur.

Database Control eri me


Web taray c n zdan u URL yi giriniz (varsay lan port numaras : 5500):
http://hostname:portnumber/em
E er veritaban ba lam ise Enterprise Manager Database Control Login sayfas n
gösterecektir. Database Control a eri ime yetkili bir kullan c bilgilerini kullanarak
veritaban dan oturum aç n z. Ba lang çta bu kullan c SYS, SYSMAN veya SYSTEM
olacakt r. Bunlar için kurulum s ras nda belirledi iniz parolalar kullanan l r.
E er veritaban durmu ise ba lat lmas gerekir, Enterprise Manager Startup/Shutdown
and Perform Recovery sayfas n gösterecektir. E er böyle bir durum varsa
Startup/Shutdown butonuna bas n z. Bu durumda kullan c ad ve parolas soracakt r.

SYSOPER and SYSDBA


SYSOPER özel bir veritaban yönetim rolüdür. Veritaban üzerinde STARTUP,
SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP,
ARCHIVE LOG, and RECOVER, RESTRICTED SESSION haklar na sahiptir. E er
SYSDBA ile ba lan rsan z sahibinin SYS oldu u ema içinde olursunuz. SYSDBA özel bir
yönetim rolüdür ve system üzerinde bütün haklara sahiptir.

Database ana sayfas


Ana sayfadan performans, yönetim, bak m ve veritaban yönetme sayfalar na
yönlenebilirsiniz. Database hakk nda genel bilgiler alabilirsiniz. Di er database
kullan c lar na yönetim eri im hakk vermek için:
1. Web taray c s ndan Database Control a SYS or SYSTEM olarak oturum aç n
2. Ayarlar sekmesinden.
3. Yönetim sekmesi
4. Create ile varolan bir kullan c ya yönetim haklar n n atanmas yla yeni bir Enterprise
Manager kullan c s olu turulmu olur.
6. Seçilen kullan c için parola belirlenir ve tamamlan r.

Listener n durumunu de i tirme


Veritaban ana sayfas ndan Listener ile ilgili bilgilere de ula abilirsiniz. E er Listener
çal yorsa Stop seçene i ile Listeneri durdurabilirsiniz, yok e er çal m yor ise Start
seçene i ile ba latabilirsiniz. Bu i lem için i letim sistemi kullan c s ile oturum açman z
gerekmektedir.

A a daki komutlar Listeneri ba latma, durdurma, ve durumunu görmek için:


lsnrctl START [listener_name]
lsnrctl STOP [listener_name]
lsnrctl STATUS [listener_name]

Listenerin ismi olan Listener_name listener.ora dosyas nda tan mlanm t r. Varsay lan
olarak LISTENER olarak gelir. STATUS komutu listener hakk nda özet ve genel bilgiler
verir. (Konfigürasyonu, protokolleri, portlar hakk nda)

Ba latma ve Durdurma
Ba latma veya durdurma dü melerine t klad n zda sizden hem veritaban yöneticisi, hemde
i letim sistemi yöneticisi oturum bilgileri istenecektir.
Advanced Options dan ba latma veya durdurma modlar n gerekti i gibi de i tirebilirsiniz.
Show SQL k sm nda ise ba latma ve durdurma için gereken SQL ifadesini görebilirsiniz.

Veritaban n Ba latma
Veritaban n ba latt n zda, u ad mlardan geçer:
Instance Ba latma (NOMOUNT)
Bir Instance sadece veritaban olu turma sürecince veya control files lar n tekrar
olu turulmas nda NOMOUNT ad m nda ba lat l r.
Instance ba latma a a daki görevler ard kl ndan olu ur:
$ORACLE_HOME/dbs dan ba lang ç dosyalar u s rayla okunur:
- lk olarak spfileSID.ora
- E er bulunamaz ise spfile.ora
- E er o da bulunamaz ise initSID.ora
PFILE parametresi de i tirilirse varsay lan STARTUP davran da
de i tirilmi olur.
SGA bellek alan ayr l r.
Arka plan i lemleri ba lat l r.
alertSID.log file ve trace files lar aç l r.

Veritaban n Ba lama (MOUNT)


Belirli bak m i lemlerini gerçekle tirmek için; Instance ba lat l r, veritaban ba lan r ancak
aç lmaz.
Örne in, a a daki görevler için veritaban ba l olmal ama aç k olmamal d r:
Data file lar yeniden isimlendirme (offline tablespace için data file lar veritaban aç k
iken yeniden isimlendirilebilir.)
Online Redo Log File n ar ivleme özelli ini aktif ve deaktif etme
Tüm veritaban kurtarma i lemleri gerçekle tirilebilir.
Veritaban n ba lama a a daki görevleri içerir:
Veritaban n daha önceden ba lat lm Instance ile ili kilendirme
Parametre file larda belirtilen control file lar na konumlanmak veya açmak
Data file lar n ve online redo log file lar n isimlerini ve durumlar n elde etmek için
control file lar n okunmas . Ama, ayn zamanda data file lar n ve online redo log
file lar n olup olmad kontrolü yap lm yor.

Veritaban n açma (OPEN)


Normal veritaban i lemi demek; Instance n ba lamas ve veritaban n n ba lanmas ve
aç lmas demektir. Normal veritaban i lemi ile herhangi mevcut bir kullan c veritaban na
ba lanabilir ve belirli veri eri im i lemleri gerçekle tirebilir.
Veritaban n açma a a daki görevlerden olu ur:
Online data file lar n aç lmas
Online redo log file lar n aç lmas
Açmaya çal t n z veritaban nda herhangi bir data file veya online redo log file mevcut
de ilse, Oracle sunucu hata döndürür.
Bu sonuç a amas nda, Oracle sunucu bütün data file lar n ve online redo log file lar n
aç labildi ini do rular ve veritaban n n tutarl l n kontrol eder. E er gerekirse, SMON arka
plan i lemi Instance kurtar m n ba lat r.

Veritaban n durdurma
I letim sisteminin bütün fiziksel yap lar n n offline yedeklerini almak için ve de i tirilmi
ba lang ç parametrelerinin yeniden ba lad nda aktif olmas için veritaban durdurulur.
Bir Instance durdurmak için SYSOPER veya SYSDBA olarak ba lanmal ve u komutlar
kullanmal s n z:
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]
Bu komut zaten Shutdown butonuna bast n zda üretilecektir.

Durdurma seçenekleri
SHUTDOWN NORMAL
Normal varsay lan durdurma yöntemidir. Normal veritaban durdurma i lemleri a a daki
durumlar sa lar:
Yeni ba lant yap lamaz.
Oracle sunucu durmadan sistemde ba l olan bütün kullan c lar n oturum
kapatmalar n bekler.
Veritaban ve redo buffer lar diske yaz l r.
Arka plan i lemleri sonland r l r ve SGA bellekten silinir.
Oracle Instance durdurmadan önce veritaban n kapat r ve ba lant s n kopar r.
Bir sonraki yeniden ba lang ç herhangi bir Instance kurtarma gerektirmez.

SHUTDOWN TRANSACTIONAL
Transactional durdurma istemcilerin çal malar n kaybetmelerini önler. Bir transactional
durdurma i lemi a a daki durumlar sa lar:
Bu Instance üzerinde hiç bir istemci yeni bir transaction olu turamaz.
stemcinin çal maka olan transaction u bitti inde oturumu kapat l r.
Bütün transaction lar bitti inde, derhal durdurulur.
Bir sonraki yeniden ba lang ç herhangi bir Instance kurtarma gerektirmez

SHUTDOWN IMMEDIATE
Immediate veritaban durdurma i lemi a a daki durumlar sa lar:
O andaki SQL ifadelerinin Oracle taraf ndan çal t r lmas n n tamamlanmas
beklenmez.
Oracle sunucusu o anda veritaban na ba l olan kullan c lar n ba lant lar n
kesmelerini beklemez.
Oracle aktif transaction lar geri al r ve bütün ba l kullan c lar n ba lant lar n keser.
Oracle Instance durdurmadan veritaban n kapat r ve ba lant s n kopar r.
Bir sonraki yeniden ba lang ç herhangi bir Instance kurtarma gerektirmez.

SHUTDOWN ABORT
E er NORMAL ve IMMEDIATE durdurma i lemleri çal maz ise, o anki veritaban
Instance n ABORT edebilirsiniz. ABORT durdurma a a daki durumlar sa lar:
O anda Oracle taraf ndan çal t r lan SQL ifadeleri derhal sonland r l r.
Oracle veritaban na ba l mevcut kullan c lar n n ba lant lar n kesmelerini beklemez.
Veritaban ve redo buffer lar diske yaz lmaz.
Tamamlanmam (uncommited) transactionlar geri al nmaz.
Instance, data file lar kapat lmaks z n sonland r l r.
Veritaban kapat lmaz veya unmount edilmez.
Bir sonraki yeniden ba latma Instance kurtarmas gerektirir, ve bu otomatik yap l r.

Not: Veritaban tutars z bir durumda iken yedek al nmas tavsiye edilmez.
Ba lang ç Parametre file lar (Initialization Parameter Files)
Oracle bir instance ba latmak için ya ba lang ç parametre file(initialization parameter
file) lar n yada sunucu parametre file(server parameter file) lar n okumal d r. Bu dosyalar
veritaban ve instance için yap land rma parametrelerinin listesini içerir. Oracle genelde
ba lang ç parametrelerini metin olarak initialization parameter file da tutar. Ayn zamanda
bu metin dosyas n n binary halide SPFILE tutulmaktad r.

Server parametre file larda tutulan ba lang ç parametreleri tutarl d r, parametrelerde ki


de i iklikleri Instance durdurulup yeniden ba lat lana kadar korur. Ba lang ç parametreleri 2
gruba ayr l r: temel(Basic) ve geli mi (Advanced).
Ço u durumda, iyi bir performans almak için basic parametre lerini de i tirmek
gerekmektedir. Baz durumlarda, advanced parametre leri de i tirmek daha iyi performans
sonuçlar verebilmektedir.
Oracle server parameter file SPFILE dinamik olarak olu turman z tavsiye eder. server
parameter file kullanarak ba lang ç parametrelerinizi sunucu taraf nda diskte metin olarak
tutabilir ve yönetebilirsiniz.

Ba lang ç parametrelerini görme


Oracle veritaban sizin i lerinizi ve performans n z iyile tirmeniz için belli say larda
ba lang ç parametresi tutar. Bunlardan sadece birkaç tanesi aç kça de i tirilir, çünkü
varsay lan de erleri ço u durumda yeterlidir.
28 temel parameter vard r. Geli mi parametreler uzman DBA lere veritaban n n davran n
gerekti i gibi de i tirebilmeleri için ayr lm t r.

Alert loglar görme (Viewing the Alert Log)


Neredeyse her veritaban alert_sid.log ye sahiptir. Bu dosya sunucu üzerinde
veritaban ile birlikte ve background_dump_dest ba lang ç parametresi ile belirtilen
dizinde tutulur. Alert file , mesajlar n ve hatalar n kronolojik loglar d r, ve unlar içerir:
Bütün iç hatalar(ORA-600), blok bozulma hatalar (ORA-1578), deadlock
hatalar (ORA-60)
Yönetimsel SQL ifadeleri; CREATE, ALTER, DROP DATABASE,
TABLESPACE, ROLLBACK SEGMENT and the Enterprise Manager or SQL*Plus
statements STARTUP, SHUTDOWN, ARCHIVE LOG, ve RECOVER
Baz mesajlar ve hatalar, payla lm server fonksiyonlar ve da t c süreçler ile
ili kilidir.
Görüntünün otomatik yenilenmesi s ras nda gerçekle en hatalar.
Errors during the automatic refresh of a materialized view
Enterprise Manager izleyicileri alert log tutar ve sizi kritik hatalardan haberdar eder. Kritik
olmayan hatalar ve bilgilendirme mesajlar n da görebilirsiniz. Bu dosya yönetilemeyecek
kadar i ip büyüyebilir. Dolay s yla s k s k yedek almal ve eskisilerini silmelisiniz.
Veritaban alert file a yazmaya kalkt nda e er yok ise alert file yeniden olu turacakt r.
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
Storage Structures
Tablespace ve Datafilelar
Veritaban , tablespace ve data filelar birbirleriyle yak ndan ili kili olmalar na ra men önemli farkl l klar vard r:
Oracle veritaban bir veya daha fazla mant ksal depolama birimi olan tablespacelerden olu ur. Bunlar veritaban
verisini tutar
Oracle veritaban ndaki her tablespace bir veya daha fazla data filedan olu ur. Bunlar Oracle n çal t i letim
sisteminin olu turdu u fiziksel yap lard r.
Bir veritaban n n verisi, veritaban n n herbir tablespaceini olu turan datafilelarda tutulur. En basitinden bir Oracle
veritaban , bir tablespace ve bir datafiledan olu ur. Yada bir ba kas her biri 2 datafile içeren 3 tabelspaceden olu ur.
Tekbir veritaban 65535 datafiledan olu abilir.

Tablespacede Alan Yönetimi


Tablespaceler extenlerin içinde yer al rlar. Tablespaceler 2 yöntem kullan larak olu turulurlar:
-Locally Managed Tablespaceler: Tablespace içindeki segmentler bitmapler ile yönetilirler. Bitmapin içindeki her bit
blok yada blok grubuna kar l k gelir. Bir extend tekrar kullan m için ayr ld nda yada b rak ld nda, Oracle sunucu
bitmaplaeri bloklar n yeni durumunu gösterecek ekilde yeniler.
-Dictionary Managed Tablespaceler: Extendler data dictionary taraf ndan yönetilir. Bir extend ay rt ld nda veya
burak ld nda Oracle sunucu data dictionarydeki uygun tablolar günceller. Bu geriye uyumluluk içindir.
Tablespaceimizi locally managed kullanmal y z.

Yeni Bir Tablespace Yaratmak


Bir tablespace olu turmak için
1 Tablespace sayfas na girin.
2 Create butonuna bas n.
Not: E er mevcut bir tablespaceden yaratmak isterseniz Actions menusunden Create Like seçin.
3 Table space için bir isim yaz n.
4 Extend Management ba l n n alt nda, Locally Managed seçene ini seçin. Locally Managed tablespace extendleri
Oracle veritaban sunucusu taraf ndan verimli bir biçimde yönetilir. Dictionary managed tablespace için extendleri
daha aktif biçimde yönetmeniz gerekir ve takip etmek için data dictionarye ula mak gerekir. Dictionary managed
tablespacelerin kullan m Oracle taraf ndan önerilmiyor.
5 Type ba l alt nda permanent/sürekli seçilir. Permanent tablespaceler sistem veya kullan c lar taraf ndan
yarat lan kal c veritaban nesneleri olarak saklan rlar.
6 Status ba l alt nda Read Write seçilir. Read/Write durumu kullan c lar n tablespace yaratt ktan sonra okuma
yazma yapabilmeleri içindir. Default olan bu seçenektir.
7 Datafiles k sm nda Add seçilir. Böylece datafilelar tablespace eklenebilir. Bir tablespacein en az 1 datafile
olmal d r. Big file tablespaceleri çok büyük veritabanlar yla kullan l rlar.
8 Add Datafile sayfas nda dosya ismi girilir. Fie directory ve File Size için default de erler b rakl r.
9 Storage k sm nda Automatically extend datafile when full(Autoextend) seçilir. Increment alan nda her bir datafile
doldu unda ne kadar büyümesini istedi imizi belirityoruz. Maksimum dosya büyüklü ünü Unlimited b rakal m. Oke
basal m. Böylece Create Tablespace sayfas na dönülür.
10 Storage tab na t klad m zda Create Tablespace Storage gelir.
11 Bu sayfadaki tüm de erleri default kabul edelim.
12 Threshold tab nda Threshold sayfas n açal m. Bu sayfa bo alan kullan m için bir e ik de eri belirlememizi
sa lar. E ik de erine ula ld nda bir uyar al rs n z.
13 E ik de eri de belirlendikten sonra Oke basal m. Tablespace sayfas na dönelim ve tablespace yaratmak için
onay m z verelim. Yeni tablespaceimizi Results k sm nda görebiliriz.

Locally Managed Tablespaceler için Depolama


Locally managed tablespace içindeki extendker 2 farkl yolla sakalanabilir.

1
-Otomatik: Autoallocate olarak da adland r l r. Tablespace içindeki extenlerin büyüklükleri sistem taraf ndan
belirlenir. Extent büyüklü ünü siz belirleyemezsiniz. Temporary tablespaceler için otomatik seçene ini
kullanmamal s n z.
-Uniform: Autoallocate Extend büyüklükleri sizin belirledi iniz belirli bir büyüklükte olurlar. Default büyüklük
1mbdir. Temporary tablespacedeki tüm extentler uniform büyüklüktedir. Undo tablespaceler için uniform
uygulanmaz.
Locally managed tablespaceler için segment alan yönetimi
-Otomatik: Oracle segmentlerin bo alanlar n yönetmek için bitmap kullan l r. Bir bitmap sat r eklemek için uygun
olan bo alan miktar na ba l olarak her data blo un ve segmentin durumunu gösterir. Data blokta olu an daha az
veya daha çok alan yani yeni bir durum bitmapde gösterilir. Bitmap bo alanlar n otomatik olarak Oracle taraf ndan
yönetilmesini sa lar. Bu tip bo alan yönetimi otomatik segment yönetimi olarak adland rl r.
-Manual: Segmentler dahilinde bo alanlar yönetmek için bo listelerin kullan lmas d r. Bo listeler sat r eklemek için
uygun bo alana sahip data bloklar n n listesidir. Bu tip bo luk yönetimi manuel segment space management olarak
adland r l r. Tablespacede bulunan ema nesnelerinin PCTUSED, FREELIST ve FREELIST GROUPS depolama
parametrelerini belirmek ve ayarlamak gerekmektedir.
Locally managed tablespacelerin avantajlar :
Locally managed tablespaceler dictionary managed tablespacelere göre avantajlar vard r:
Yerel yönetim tekrarl alan yönetim operasyonlar n önler.
Yerel yönetilen tablespaceler data dictionary tablolar nda bo alanlar tutmazlar, bu tablolardaki çeki meyi
azalt r.
Extendler yerel yönetildi inde kom u bo alanlar otomatik olarak izlenir. Bo alanlar n birle tirilmesi
gereksinimini gözard eder.
Yerel yönetilen extentlerin büyüklükleri sistem taraf ndan otomatik olarak alg lan r.
Bitmaplar büyütmek için yap lan de i iklikler undo bilgisi yaratmaz, çünkü data dictioaray içindeki bilgiler
güncellenmez. (tabelspace kota bilgileri hariç)
Not: E er data dictionary managed tablespaceleriniz varsa ve locally managede döndürmek istiyorsan z.
DBMS_SPACE_ADMIN. TABLESPACE_MIGRATE_TO_LOCAL
Logging
Tablespacedeki nesnelere de i iklikler yapt n zda de i iklikler redo streame kaydedilirç bu redo stream bellekte
ba lar. Online redo log dosyalar na yaz l r.(baz durumlarda archive log dosyalar na da yaz l r) Bu prosessi
kapatabilirsiniz. Eger loggingi kapatt ysan z, tablespacedeki nesneler herhangi bir hata durumunda kurtar lamazlar.
Thresholds
Threshold tab nda mevcut ver.taban için kullan lan threshold miktar ayarlan r. Veritaban tablespaceleri için default
thresholdu seçebilirsiniz veya mevcut tablespacein Warning ve Critical sahalar n belirleyebiliriz.

Daha Önceden Yüklenmi Veritaban ndaki Tablespaceler


Daha önceden konfigüre edilmi veritaban n zda bulunan tablespaceler
SYSTEM: System tablespacei Oracle veritaban sunucusu taraf ndan veritaban n yönetmek için kullan l rç Data
dictionary ve tablolarla beraber veritaban hakk ndaki yönetimsel bilgileri de içerir. Tüm bunlar SYS emas nda
bulunur ve SYS kullan c s taraf ndan eri ilir yada gerekli yetkilere sahip yönetici kullan c larca.
SYSAUX: System tablespacei için yard mc bir tablespacedir. SYSTEM tablespaceini kullanan bile enler ve ürünler
veya Oracle n daha önceki sürümlerindeki sahip olduklar tablolar imdi SYSAUX tablespaceini kullan yorlar. Her
Oracle Databse 10g veya daha yüksek seviyeli veritaban SYSAUX tablespaceini kullanmal d r.
TEMP: Bu tablespace geçici tablolar ve SQL komutlar çal t r rken olu an indeksleri tutar. Örne in çal ma alan n
s ralamak için kullan l r. Her veritaban kullan c lara kendi temporary tablespacei olarak atanm temporary tablespace
e sahiptir. Default temporary tablespace TEMP tablespaceidir. Kullan c hesab yarat ld nda e er belirlenmi bir
tablespace yoksa Oracle kullan c ya bu tablespacei atar.
UNDOTBS1: Undo bilgilerini tutmak için veritaban sunucusu taraf ndan kullan lan undo tablespacidir. Her
veritaban n n veritaban yarat l rken undo tablespace olmal d r.
USERS: Bu tablespace kal c /sürekli kullan c nesneleri ve verileri için kullan lan tablespacedir. Sisteme ait olmayan
kullan c lar taraf ndan yarat lan tüm nesneler için USER tablespacei default tablespacedir.

2
EXAMPLE: Bu tablespace veritaban yarat l rken yüklenen örnek emalar içerir. Örnek emalar örneklerimiz için
ortak bir platform sa lar.

Tablespacei De i tirmek
Tablespacei yaratt ktan sonra, sistem de i ikliklere göre tablespaceinizi de i tirebilirsiniz.
Yeniden isimlendirmek için yeni bir isim vererek onaylar z.
Durumunu de i tirmek için : Bir tablespace 3 de i ik durumdan biri olabilir. Tablespacein tipine göre
-Read/Write: Tablespace e yaz labilir ve okunabilir.
-Read Only: Tablespace ba lant da read-only moddo olmas için read only belirtilir. Bu durumda mevcut
transactionlar bitirilir, ancak daha fazla DMl komutuna (tablespacedeki de i mi bloklar olu turan tarnsaction n
rollback hariç) izin verilmez. Tablespace read-only modda online olabilir. SYSTEM ve SYSAUX tablespaceini read-
only yapamazs n z.
-Offline: Online bir tablespacei offline yapabilirsiniz. Böylece veritaban n n bu k sm geçici olarak kullan ma kapan r.
Veritaban n n kalan aç kt r ve kullan c lar verilere eri ebilir. Offline yaparken seçenekleriniz vard r.
Normal: Tablespace e er tablespacein hiçbir datafile nda hata durumu yoksa normal biçimde offline yap l r.
Oracle tüm datafilelar için bir checkpoint al r ve offline yapar.
Temporary: :Tablespacein bir veya daha fazla dosyas nda hata durumu varsa tablespace geçici oalrak offline
yap l r. Oracle daha önceden offline olmam data filelar al r ve checkpointle i aretler. E er dosyalar offline de ilse
fakat temporary kelimesini kullan yorsan z, geri yükleme s ras nda tablespacei online yapmam za gerek yoktur.
Immediate: Table space offline durumuna hemen al nabilir ancak Oracle datafilelara checkpoint koymaz.
Immediate derseniz, geri yükleme tablespacein önce online duruma getirilmesini ister. E er veritaban n z
NOARCHIEVELOG modda çal yorsa tablespacei immediate offline yapamazs n z.
ForRecover: Bu ayar uygun görülmemektedir. Bu syntax geriye uyumluluk için bulunmaktad r.
-Change Size: Mevcut tablespacein büyüklü ünü datafile ekleyerek yada mevcut datafile n büyüklü ünü de i tirerek
de i tirebilirsiniz.
Tablespace e yeni bir datafile eklemek için Add butonuna bas n Add Datafile sayfas ndaki bilgiler doldurulur.
Mevcut datafile n büyüklü ü de i tirmek için Datafiles k sm ndaki datafile seçilir, edit denir. Edit datafile
sayfas nda datafile n büyüklü ünü de i tirebilirsiniz. Tablespacei daha büyük veya daha küçük yapabilirsiniz. E er
datafile dosyada kullan lan alandan daha küçük yaparsan z
ORA 03297 hatas n al rs n z
Storage Options: Tablespacein hatalar saklama davran n de i tirmek için Storage a t klay n
Thresholds: Tablespace için uyar ve kritik kullan lan alan miktar n de i tirebilirsiniz.
Use default Thresholds: Mevcut ayarlar kullan r.
Specify Thresholds: Belirli bir tablespace için thresholdlar ayarlayabilmemizi sa lar.
Disable Thresholds: Tablespace için alan kullan m uyar lar n kapat r.

Tablespace ile Yapabileceklerimiz


Actions menusunu kullanarak tablespaceiniz için pekçok i yapabilirsiniz.
-Add Datafile: Tablespace e Datafile ekleyerek daha büyük bir tablespace olu turulur.
-Create Like: Ba ka bir tablespacei ablon olarak kullanarak ba ka bir tablespace yarat r.
-Generate DDL: Tablespacei olu turan DDL komutlar n olu turur. Bu bir text dosyas na kopyalayarak daha sonra
gerekli durumlarda kullan labilir.
-Make Locally Managed: E er var olan tablespaceiniz dictionary managed ise bunu locally managede çevirir.
-Make Read Only: Tablespacee tüm yazma i lemlerini durdurur. Mevcut transaction n tamamlanmas na izin verir
ancak yeni bir DML veya yazma i lemi ba latmaz.
-Make Writable: DML ve di er yazma i lemlerine izin verir.
-Place Online: E er tablespace offlinesa online hale getirilir.
-Reorganize: Reorganization sihirbaz n ba lat r. Böylece tablespacedki nesnelerin yerlerini de i tirebilirsiniz. Bu
i lem tablespace nesneleri en fazla kullan ma ula madan önce yap lmal d r.
-Show dependencies: Tablespaceimizin ba l oldu u nesneleri yada nesnelerin ba l oldu u tablespacei gösterir.

3
-Run Segment Advisor: Segment Advisor, nesnenin alan bölümlemeye ba l olarak geri alma için uygun alanlara
sahip olup olmad n anlamada yard mc olur. Tablespace seviyesinde bu öneri tablespacedeki her segment için
üretilir.
-Take offline: E er tablespace onlinesa bu tablespacei offline yapar. Tablespace silinmez sadece eri ilmez.
Not: tüm bu i lemler tüm tablesoaceler için uygun de ildir. Seçilen tablespacein tipine göre baz i lemler yap lamaz.
Mesela SYSTEM tablespaceini offline yapamazsan z yada undo tablespacei readonly yap lamaz.

Dropping Tablespace
Tablespace ve içindekileri(segmentleri) e er tablespace ve içindekilere daha fazla gereksinim duymuyorsak yok
edebiliriz. Bir tablespacei yok edebilmek için DROP TABLESPACE sistem yetkisine sahip olmal s n z.
Bir tablespacei yok etti inizde veritaban yla ili kili control filelara olan pointerlar kald r r. sterseniz Oracle n i letim
sistemi dosyalar n (datafiles) silebilmesi için ayarlar yapabilirsiniz. E er Oracle data filelar tablespacei silerken
silmesi için ayarlamazsan z, daha sonra i letim sisteminize bu dosyalar silmesini söylemelisiniz.
çindeki aktif olan tablespacei yok edemezsiniz. Örne in eger bir tablespacede ki bir tablo bir kullan c taraf ndan
kullan l yorsa veya commit edilmemi transaction için rollback durumundaki undo verileri tablespacedeyse
tablespacei yok edemezsiniz.

Tablespace Bilgisini Görmek


Özelliklerini görmek istedi iniz tablespace t klay n. View tablespace sayfas nda alter tablespace seçene i ile
tablespacei de i tirebilirsiniz
Tablespacei ve data file sorgulamak için
Tablespace bilgisi:
-DBA_TABLESPACES V$TABLESPACE
Datafile bilgisi
DBA_DATA_FILES -V$DATAFILE
Temp file Bilgisi
DBA_TEMP_FILES -V$TEMPFILE

4
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
Veritaban Kullan c Hesaplar
Bir kullan c n n veritaban na eri ebilmesi için kullan c n n geçerli bir kullan c hesab n n
olmas ve ba ar l bir ekilde do rulanmas gerekmektedir.
Ço u sistemlerde, her bir veritaban kullan c s n n kendi kullan c hesab vard r. Baz lar nda
ise birçok kullan c genel bir kullan c hesab n payla maktad r.

Oracle10g de her bir veritaban kullan c s n n unlara sahip olmas gerekmektedir:


E siz bir kullan c ad olmal d r. Kullan c ad 30 karakteri geçemez, özel karakterler
içeremez ve bir harf ile ba lamal d r.
Bir yetkilendirme metodu olmal d r. En genel kullan mda olan yetkilendirme metodu
Parola d r. Ama Oracle10g fiziksel özelliklerine göre (retina, parmak izi, ...)
yetkilendirmeyi de desteklemektedir.
Varsay lan bir tablespace olmal d r. E er kullan c nesnelerini olu turabilece i bir
tablespace belirtmez ise varsay lan olarak bir tablespace atan r.
Geçici i lerini yapabilece i bir tablespace olmal d r. Mesela kullan c s ralama
yaparken kulland geçici nesneleri buraya atabilir.
Bir kullan c profili olmal .

Kullan c olu turma


Oracle Enterprise Manager mevcut veritaban na eri ime izni olan kullan c lar
yönetmenize olanak verir. Kullan c olu turulabilir, silinebilir ve güncellenebilir.
Bir veritaban kullan c s olu turmak için:
1. Veritaban ana sayfas na geliniz.
2. Administration -> Security -> Users. Bu sayfada mevcut veritaban kullan c lar
listelenmektedir.
3. Create dü mesi ile yeni bir kullan c olu turulur.

Profiller ve kullan c lar


Profiller, instance ve veritaban kullan m nda ki kaynak limitlerine verilen isimdir.
Profil ayn zamanda kullan c parola k s tlamas d r(parola uzunlu u, geçerlilik zaman , ).
Her bir kullan c bir profile atan r ve sadece tek profile ait olabilir. Profil için k s tlamalar
aç kça belirtilmelidir.
Profil RESOURCE_LIMIT ba lang ç parametresi TRUE yap lmad kça k s tlamaya maruz
b rak lamaz. RESOURCE_LIMIT ba lang ç parametresi FALSE verilir ise k s tlamalar yok
say l r.

Profiller yöneticinin a a daki sistem kaynaklar n kontrol etmesine müsaade eder:


lemc: lemci kayna oturum ba na ve ça r ba na olarak k s tland r labilir.
lemci/Oturum k s tlamas n n 1000 olmas demek; e er bu profili kullanan bir
kullan c bireysel oturumunda 10 dakikadan daha fazla zamanda i lemciyi kullan rsa,
hata al r ve oturumu kapal t r demektir: ORA-02392: exceeded session limit on CPU
usage, you are being logged off

Ça r ba na k s tlama da ayn eydir, ama kullan c n n bütün oturumunu etkilemez. Sadece


bir komutun veya ça r n n (sistem ça r s veya veritaban komutu) çok fazla i lemci
harcamas na bakar. E er i lemci ça r ba na k s tlanm sa ve kullan c bu s n r a m ise,
komut sonland r l r ve kullan c hata mesaj al r: ORA-02393: exceeded call limit on CPU
usage
Network/Bellek: Her veritaban oturumu sistem belle ini harcar. (E er kullan c yerel
sunucuda oturum açmam ise network kaynaklar n da kullan r.)
Ba lant Zaman : Kullan c n n oturumunun otomatik olarak sonland r lmas
için geçmesi gereken süre.
Bo Zaman: Kullan c oturumunun otomatik olarak sonland r lmadan önce bo
kalabilece i zaman. Bu varsay lan kullan c i lemlerini etkilemez. Sadece
kullan c hiçbir i yapmad nda bo kald zamand r.
Mevcut oturumlar: Veritaban kullan c s n n ayn anda kaç tane oturum
açabilece inin say s d r.
Özel SGA: S ralama gibi özel i lemlerin harcayaca SGA alan n k s tlar. Bu
k s tlama sadece oturumlar n payla lm sunucu kulland klar nda etkilidir.
Disk G/Ç: Kullan c n n oturum ba na veya ça r ba na okuyabilece i veri miktar n
k s tlar. Okuma/Oturum Ba na ve Okuma/Ça r Ba na hem bellekten hem de
diskten toplam okuma say s n belirtir.

Kullan c lar Yetkilendirme


Yetkilendirme demek, veriyi, kayna veya uygulamalar kullanmak isteyen birinin
do rulanmas demektir. Sonraki i lemleri için geçerli bir kimlik oldu u kan tlan r.
Yetkilendirme yap ld ktan sonra, yetkilendirme i lemi tüm eri ime veya gerekiyorsa k s tl
eri ime ve i yap labilmesine müsaade eder. Kullan c olu turdu unuzda ilk olarak bir
yetkilendirme yöntemi belirlemelisiniz.

Parola: Oracle veritaban nda bir kullan c yetkilendirme yöntemidir, kullan c


olu turuldu unda ona geçici bir parola atan r ve süresi doldurulur. Bunun da anlam kullan c
sistemde ilk oturum açt nda parolas n de i tirmesi gereklili idir.

Harici: letim sistemi taraf ndan yetkilendirmedir. Kullan c ya i letim sistemi harici
kullan c ad ve parolas belirtilmeden sistemde oturum açabilmeyi sa lar. Bu tip
yetkilendirmede oturum açmak için veritaban parolas kullan lmaz. Bu yöntemi kullan rsan z
OS_AUTHENT_PREFIX ba lang ç parametresini ayarlaman z gerekmektedir. Oracle
OS_AUTHENT_PREFIX ba lang ç parametresinin tan mlad ön eki kullan c lar n i letim
sistemi kullan c s n n hesap isminin ba na ekler. Bu parametrenin varsay lan de eri OPS$
d r.
Bir kullan c Oracle a ba lanmaya çal t nda Oracle ön ekli kullan c ad ile veritaban nda ki
kullan c ad n kar la t r r. Mesela, OS_AUTHENT_PREFIX öyle oldu unu varsayal m:
OS_AUTHENT_PREFIX=OPS$

E er tsmith ad nda ki kullan c Oracle veritaban na i letim sistemi hesab yla ba lan r ve
i letim sistemi taraf ndan yetkilendirilir ise Oracle OPS$tsmith veritaban kullan c s na
kar l k gelen kay t var m yok mu diye kontrol eder.

Not: OS_AUTHENT_PREFIX ba lang ç parametresi ço u i letim sisteminde büyük küçük


harfe duyarl d r.
Global: Oracle Geli mi Güvenlik özelli i ile kullan c lar n çe itli fiziksel özellikleri ile
yetkilendirmeye müsaade eder. (Retina, parmak izi, )
Varsay lan ve Geçici Tablespace, ve Kiliteme
Varsay lan tablespace e er bir tablespace belirtilmemi se nesnelerin olu turuldu u yerdir.
Geçici tablespace ise herhangi bir s ralama i leminin gerçekle ti i yerdir. Mesela index
olu turma veya SELECT sorgusunda ORDER BY ifadesini kullan rken geçici tablespace
kullan l r. E er siz belirtmez iseniz sistem tan ml geçici tablespace kullan l r. Bir kullan c
olu turuldu unda kilitli ve serbest durumlar na sahiptir. Kilitli olmas demek sistemde
oturum açamamas demektir. Yeni kullan c lar n durumlar varsay lan olarak serbest yap l r.
Not: Varsay lan ve geçici tablespace leri veritaban seviyesinde tan mlamak mümkündür.

Veritaban Kullan c lar ve emalar


ema, bir veritaban kullan c s n n sahip oldu u nesnelerin birle imidir. ema sahibi olan
kullan c ile ayn ada sahiptir. ema nesneleri; tabloyu, görünümleri, indexleri, Java ve
PL/SQL depolanm kodlar n içerir. Bir tablespace ile ema aras nda bir ili ki yoktur. Ayn
ema içindeki nesneler farkl tablespacelerde olabilirler ve bir tablespace farkl emalardan
nesneleri bar nd rabilir. Bir kullan c olu turuldu unda onunla ayn isimde ve ona ait olan
emas da olu turulur. Bir kullan c sadece kendisiyle ayn isimde olan ema ile
ili kilendirilebilir, bu nedenle kullan c ad ve ema ad birbirinin yerine kullan labilir. ema
nesneleri özellikle belirtilmediyse kullan c n n varsay lan tablespace inde olu turulur.
eman n sahibi, ema üzerinde her türlü yetkiye sahiptir ve di er kullan c lar n bu nesneleri
kullanmalar na izin verebilir.
Baz kullan c lar kullan c n n veritaban nda oturum açmalar için de il de sadece ema
olu turmas için olu turulur. Bu hesaplar mutlaka kilitli olmal d r, yani kullan c bu hesapla
oturum açamamal .

Checklist for Creating Users


Bir kullan c olu turmak için, yönetici bir profil atamal , bir yetkilendirme metodu seçmeli, ve
bir tablespace atamal . Varsay lan olarak, kullan c olu turuldu unda herhangi bir yetki
verilmez, bu da veritaban nda herhangi bir i lem yapamayaca anlam na gelir. Database
Control otomatik olarak, veritaban na ba lanmas na ve baz nesneleri olu turabilmesine
müsaade eden baz yetkileri verir. Buna ra men kullan c n n herhangi bir tablespace de kotas
yok ise nesne olu turamayacak.

Yetkiler
Yetki, belirli tipteki SQL ifadelerini çal t rabilmek veya ba ka kullan c lar n nesnelerine
ula abilmektir. Yetkiler iki kategoriye ayr lmaktad r:
Sistem Yetkisi: Her bir sistem yetkisi kullan c ya veritaban üzerinde belirli i lemleri
yerine getirebilme olana verir. Mesela tablespace olu turabilme bir sistem yetkisidir.
Sistem yetkisi yönetici taraf ndan verilebilir. 100 farkl sistem yetkisi bulunmaktad r.
Nesne Yetkisi: Nesne yetkisi kullan c ya, tablo, görünüm, seri, yordam, fonksiyon
veya paket gibi belirli nesne üzerinde özel i lemler yapma izni verir. Özel bir izin
olmadan kullan c sadece kendi nesnelerine eri ebilir. Nesne yetkisi nesnenin sahibi
taraf ndan ve yönetici taraf ndan verilebilir.

Sistem Yetkileri
Sistem yetkisi vermek için, System Privileges ba lant s na t klay n, uygun yetkileri seçin ve
onaylay n. ANY ifadesi ile yetki vermek, emalar üzerinde çapraz yetki demektir. Mesela
CREATE TABLE yetkisi kullan c ya verildi inde, kullan c sadece kendi emas içinde
olu turabilir. SELECT ANY TABLE yetkisi kullan c ya di erlerinin tablolar n da
sorgulayabilme yetkisi verir.
Admin Option dü mesini seçmek bu kullan c n n bu yetkiyi yönetebilmesine ve di er
kullan c lara sistem yetkisi olarak verebilmesini sa lar.
Sistem yetkilerini vermeden önce güvenlik gereksinimlerini dü ünmek gereklidir. Baz sistem
yetkileri genelde sadece yöneticilere verilir:
KISITLI OTURUM: Bu yetki kullan c ya veritaban k s tl modda aç k olsa bile
oturum açabilme imkan verir.
SYSDBA ve SYSOPER: Bu yetkiler kullan c ya veritaban n durdurma, ba latma,
kurtarma ve di er yönetimsel görevleri yapabilme yetkisi verir.
DROP ANY object: Bu yetki kullan c n n sahibi olmad nesneleri silebilme yetkisi
verir.
CREATE, MANAGE, DROP, ALTER TABLESPACE: Yönetici olmayan kullan c lar
genellikle tablespaceleri kontrol edememelidir.
CREATE ANY DIRECTORY: Oracle geli tiricilere PL/SQL içinden harici kod (C
kütüphanesi) ça rabilmelerine izin verir. Güvenlik önlemi; kodun bulundu u i letim
sistemi dizini sanal Oracle dizinine ba lanm olmal d r. CREATE ANY
DIRECTORY yetkisi ile kullan c güvensiz kodlar ça rabilmektedir.
EXEMPT ACCESS POLICY: Bu yetki kullan c ya tabloda veya görünümlerdeki
güvenlik fonksiyonlar atlamas n sa lar.
GRANT ANY OBJECT PRIVILEGE: Bu yetki kullan c n n sahibi olmad nesne
üzerine di er kullan c lara yetki verebilmesine izin verir.
ALTER DATABASE ve ALTER SYSTEM: Yönetici olmayanlar n veritaban veya
Instance de i tirmesine izin verilmemelidir.

Nesne Yetkileri
Nesne yetkisi vermek Object Privileges ba lant s ndan yap labilir. Vermek istedi iniz
nesne yetki tipini seçiniz. Add Buton ile yetkiyi ekleyiniz. Ya da bu i i username.object ile
de verilebilir. Sonra uygun yetkiyi listeden seçiniz ve ekleyiniz

Kullan c lara kota verme


Kota tablespace içinde belirlenen yer miktar d r. Varsay lan olarak kullan c lar n herhangi bir
tablespace de kotas olmamaktad r. Kullan c ya bir tablespace içinde kota vermenin 3 yolu
var:
S n rs z: Kullan c n n tablespace içinde mümkün oldu u kadar alan kullanabilmesine
müsaade eder.
De er: Kullan c ya verilen kotan n say sal ifadesidir.(KB, MB, ). Bu kullan c ya bu
kadar yerin tahsis edilece i anlam na gelmez. Yani tablespace içinde bu kadar yer yok
ise kullan c kotas kadar yer kullanamayacakt r.
UNLIMITED TABLESPACE sistem yetkisi: Bu sistem yetkisi bütün bireysel
tablespace kotalar n n üzerine yazar ve kullan c ya tüm tablespace ler üzerinde
s n rs z kota verir. SYSTEM ve SYSAUX içerir. Bu yetki verilirken dikkatli olunmal .
Kullan c lara SYSTEM ve SYSAUX tablespace inde kota vermemelisiniz. Benzer olarak,
sadece SYS ve SYSTEM kullan c lar SYSTEM veya SYSAUX tablespace üzerinde nesne
olu turabilmelidir. Kullan c lar n kendilerine atanan geçici ve undo tablespacelerinde kotaya
ihtiyac yoktur.
Kullan c lara Rol atama
Rol, kullan c lara veya di er rollere verilebilecek yetkiler toplulu udur. Rolleri veritaban
yetkilerini yönetebilmek için kullanabilirsiniz. Role yetkiler ekleyebilir ve rolü bir kullan c ya
atayabilirsiniz.
Kullan c rolü aktif edebilir ve kullanabilir. Rol, kendisine verilen tüm yetkileri içerir.
Varsay lan olarak Enterprise Manager otomatik olarak kullan c lara veritaban na ba lanma
ve kendi emalar nda veritaban nesneleri olu turabilmelerine izin verir.

Roller
Ço u sistemde her kullan c ya gerekli yetkileri vermek çok zaman almaktad r. Ve burada hata
yapma olas l çok yüksektir. Orace roller ile yetkileri kolayca kontrol ve yönetim imkan
sunuyor. Rol birbiriyle ili kili yetkiler toplulu una verilen isimdir. Veritaban içinde
yetkilerin daha kolay yönetimi için tasarlanm t r. Dolay s yla güvenli i geli tirir.
Rol Özellikleri
Yetkiler rollere verilebilir ve rolden geri al nabilir.
Roller e er sistem yetkileri ise kullan c lara verilebilen ve onlardan geri al nabilir.
Roller hem sistem hem de nesne yetkileri içerebilir.
Bir rol kendisine verilen kullan c için aktif veya de-aktif edilebilir.
Rolün aktif edilmesi için parola gerekmektedir.
Rollerin sahibi yoktur, herhangi bir ema ya ait de ildir.
Yukar da ki örne e göre, HR_CLERK rolünün employees tablosunda SELECT ve UPDATE
yetkisi vard r. HR_MGR rolünün ise employees tablosu üzerinde ve HR_CLERK rolü
üzerinde DELETE ve INSERT yetkileri vard r. Yöneticiye HR_MGR rolü verilmi tir. Ve
art k employees tablosunda select, delete, insert ve update i lemlerini yerine getirebilir.

Rollerin Faydalar
Daha kolay yetki yönetimi
Yetkilerin yönetimini kolayla t rmak için rol kullan l r. Bir sürü yetkiyi kullan c ya
vermektense yetkileri rollere verip, daha sonra rolleri kullan c lara vermek daha iyi.
Dinamik yetki yönetimi
Bir rol ile ili kilendirilen bir yetki güncellendi inde kendisine verilen bütün kullan c lar için
derhal de i tirilmeli güncellenmelidir ve bu otomatik yap l r.
Yetki eri ilebilirli ini seçme
Roller yetkileri geçici olarak kapat p açmak için aktif veya de-aktif edilebilir. Bir rolü aktif
etme kullan c ya o rolün verilip verilmedi ini do rulamak içinde kullan labilir.
letim sistemi yoluyla yetkilendirme
Veritaban nda rollerin kullan c lara atanmas için i letim sistemi komutlar veya hizmetleri
kullan labilir.

Önceden tan mlanm roller


Baz roller otomatik olarak veritaban olu turma scriptini çal t rd n zda tan mlan r.
CONNECT yetkisi Enterprise Manager ile olu turulan her bir kullan c ya otomatik olarak
verilir. SELECT_CATALOG_ROLE veri sözlü ü görünümlerine ve paketlerine eri im için
kullan l r. DBA rolü neredeyse bütün yetkileri içerir ve yönetici olmayan kullan c lara
verilmemelidir.
Fonksiyonel roller
Bu roller baz özel fonksiyonlar yönetebilmeniz için fonsiyonalite kuruldu unda olu turulur.
Örne in, XDBADMIN XML veritaban n yönetmek için gerekli yetkileri içerir.
AQ_ADMINISTRATOR_ROLE geli mi kuyruklamay yönetmek için gerekli yetkileri
içerir. HS_ADMIN_ROLE heterojen hizmetleri yönetmek için gerekli yetkileri içerir. Bu
yetkileri Oracle destek asistan olmadan de i tirmeyin. Çünkü yanl l kla gerekli bir
fonksiyonu de-aktif edebilirsiniz.

Güvenlik rolleri
Roller varsay lan olarak genelde aktif olurlar. E er bir rol kullan c ya verilmi se kullan c bu
roldeki yetkileri kullanabilir.
Rolü non-default yapma. Rol bir kullan c ya verilmi se, DEFAULT check box
kald r l r. Art k kullan c bu yetkileri kullanmadan rolü aktif etmelidir.
Rol için ilave yetkilendirme NONE gelir. Ama istenirse ilave yetkilendirme
ayarlanabilir.
Sadece PL/SQL yordamlar do ru bir ekilde çal t r ld nda güvenli uygulama rolleri
olu turma aktif edilir. PL/SQL yordam kullan c n n network adresi, program hangi
kullan c n n çal t rd , zaman, gibi do rulu u kontrol edilmesi gereken ihtiyaçlar
kontrol eder.
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
ema Nedir?
ema belirli bir veritaban kullan c s n n sahip oldu u veritaban nesneleridir. ema, emaya
sahip olan kullan c yla ayn ada sahiptir. ema nesneleri direct olarak veritaban verilerini
gösteren mant ksal yap lard r. ema nesneleri tablolar, viewlar, indeksler gibi yap lar
bulundururlar.
Not: tablespace ve emalar aras nda bir ili ki yoktur. Ayn emalar içindeki nesneler farkl
tablespacelerde bulunabilirler ve bir tablespace de i ik emalardan nesneleri tutabilir.

emalar
Bir veritaban yarattt n zda belirli emalar veritaban yla beraber yarat l r. Bunlardan 2 tanesi
önemlidir:
SYS emas : Veritaban n n veri sözlü ünü olu turan tüm temel tablolar ve viewlar
SYS emas n n içinde yarat l r. Veri sözlü ü Oracle veritaban n tan mlayan tablolar
toplulu udur. Veri sözlü ü veritaban yarat ld zaman SYSTEM tablespaceinde yarat l r ve
DDL komutu çal t r ld nda Oracle veritaban sunucusu taraf ndan güncellenir. Veri sözlü ü
kullan c lar ema nesneleri ve depolama yap lar hakk nda bilgileri içerir.
Veri sözlü ünü read-only kullanabilirsiniz. Enterprise Manager kulland n zda veri
sözlü üne viewlar üzerinden ula rs n z.SYS emas ndaki nesneler herhangi bir kullan c veya
veritaban taraf ndan de i tirilmemelidir ve SYS kullan c s n n emas nda hiç kimse bir tablo
yaratmamal d r.
SYSTEM emas : Yönetimsel bilgileri içeren tablolar ve viewlar ve de i ik Oracle
araçlar nca kullan lan içsel tablolar ve viewlar içerir. SYSTEM emas nda herhangi bir ek
nesne yaratmamal s n z.
Oracle veritaban n n tam bir kurulumu s ras nda, çekirdek veritaban yla beraber örnek emalar
otomatik olarak yüklenir. Örnek emalar Oracle örnekleri için ortak bir platform sa lar.
Karma kl klar na ba l olarak farkl emalar bulunur.
HR: Human Resources ana ba l klar içeren basit bir emad r.
OE: Order Entry emas orta seviyede karma kl a sahiptir. OE emas nda çok say da
veri tipi mevcuttur. OC(Online Catalog) alt emas nda OE emas nda bulunan nesne ili kisel
veritaban nesnelerinin toplulu udur.
PM: Product media emas multimedia veri tiplerine ayr lm t r.
QS: Queued Shipping emas Oracle Advanced Ouerying özelliklerini göstermek için
kullan lan emalar kümesidir.
SH: Sales History emas büyük miktarlarda veri gerektiren örnekler için kullan l r.

ema Nesnelerine Eri mek


Database Administration sayfas ndan Schema k sm nda ema nesnelerine kolayca
eri ebilirsiniz.
Linklerden birini t klad ktan sonar Result sayfas görüntülenir. Search k sm nda belirli bir
nesneyi aramak için ema ismini ve nesne ismini girebilirsiniz.

Veritaban Nesnelerini simlendirmek


Veritaban ndaki bir nesneyi isimlendirirken ismi çift t rnak i areti ile çevreleyebilirsiniz.
Bunu yapt n zda isimlendirme kurallar ndan baz lar na uyman z gerekmez. Bu önerilmez
çünkü e er bir ismi bir çift t rnak kullanarak isimlendirirseniz hep böyle kullanman z gerekir.
Çift t rnak ile isimlendirilmemi isimler büyük harfle tutulur ve case sensitive de ildirler. Bir
SQL komutundaki isimler büyük harfle çevrilirler.
Çift t rnak içine al nmayan isimler veritabn n z n karakter kümesinde bulunan
alfanümerikkarakterleri ve altçizgi, dolar($) ve diyez (#) i aretini içerebilir. Veritaban linkleri
periyot(.) ve @ i areti içerebilirler.
Çift t rnak içine al nan isimler herhangi bir karakter yada noktalama i areti içerebilir. Ancak
hem çift t rna a al nan isimler hem de al nmayan isimler çift çift t rnak i areti içermemelidir.

ema Nesnelerinin simalanlar


Oracle veritaban ema nesnelerinin referanslar n çözmek için isimalanlar kullan r. SQL
sorgusunda bir nesne ça rd m z zaman, Oracle SQL komutunun içeri ine göre nesneyi
uygun isimalan na yerle tirir. Nesneyi yerle tirdikten sonra Oracle yap lmas istenen i lemi
gerçekle tirir. E er istenen nesne için uygun bir isimalan bulunamazsa Oracle hata dönürür.
Tablolar ve viewlar ayn isimalan nda oldu u için, ayn ema içindeki bir tablo ve view ayn
ismi ta yamazlar. Ancak tablolar ve indeksler farkl isim alan nda bulunurlar. Bu yüzden ayn
emadaki tablo ve indeksler ayn isimde olabilirler.
Veritaban ndaki her ema içerdi i nesneler için kendi isimalan na sahiptir. Yani farkl
emalardaki 2 tablo farkl isim alan ndad r ve ayn isimde olabilirler.

Tablolardaki Veri Tiplerini Tan mlamak


Bir tablo yaratt n zda her sutuna ait veri tipini tan mlamal s n z. Bir prosedür veya
fonksiyon yaratt n zda her eleman n veri tipini tan mlamal s n z. Bu veri tipleri
alabilecekleri belirli de erlere sahiptirler.
Oracle veritaban n sahip oldu u veri tipleri:
CHAR: Byte büyüklü ündeki sabit uzunluktaki karakter verileri içindir. Maksimum 2000
byte. Default ve minimum 1 byte.
VARCHAR2: Maksimum büyüklü ü byte veya karakter olan de i ken uzunluktaki karakter
stringidir. Maksimum büyüklü ü 4000 byted r. VARCHAR2 için uzunluk belirtmelisiniz.
DATE: Saniyeye kadar zaman ve tarihi tutar.
NUMBER: Scale s ve precision p k s mlar ndan olu ur. Precision 1 den 38 e , scale ise -84ten
127e de i ir.
FLOAT: ANSI veri tipidir. FLOAT veri tipi kayan noktal say d r.(binary precision p
bulunur) Default precision 126 binarydir veya decimal 38dir.
INTEGER:Bu NUMBER veri tipine e ittir.(p,0)
NCHAR(length): NCHAR veri tipi Unicode veri tpidir. NCHAR sutununa sahip bir tablo
yaratt n zda sütun uzunlu unu karakter olarak tan mlamal s n z. Veritaban n yarat rken
ulusal karakter setini tan mlamal s n z. Maksimum büyüklü ü 2000 byted r. E er sütun
uzunlu undan daha k sa bir de er girlirse Oracle uzunlu u bo lujklarla tamamlar. NCHAR
alan na CHAR bir de er yerle tirebilirsiniz tam tersi gerçekle mez.
NVARCHAR2 (length): Unicode veri tipindedir. NCHAR tipine benzer, maksimum uzunlu u
4000 byted r ve bo luklarla tamamlanmaz.
LONG: De i ken uzunluktaki karakter verilerinin uzunlu u 2GB veya 231-1byet olabilir.
LONG RAW: Raw binary verinin de i ken uzunlu u 2GB kadar olabilir.
RAW(size): Raw binary veri uzunlu u byte büyüklü ündedir. Maksimum büyüklük 2000
bytet r. RAW de eri için bir büyüklük belirtmelisiniz.
ROWID: Tablodaki sat r n unique adresini gösteren 64 taban nda string bir de erdir. ROWID
pseudo sütunu ile döndürülür.
UROWID: Indeks kullan lan tablolarda sat rlar n mant ksal adresini gösteren 64 taban ndaki
stringdir. Maksimum büyüklü ü 4000byed r.
BLOB: Binary large object
CLOB:Tekbir byte veya çoklu byte karakterleri içeren character large object . De i ken
büyüklüklü veya sabit büyüklüklü karakter kümeleri desteklenir, NCHAR veritaban karater
kümesi kullan l r.
TIMESTAMP: Y l, ay ve gün de erlerini ayn zamanda saat, dakika saniye de erlerini tutar.
Tablo Yaratmak ve De i tirmek
Tablolar, veritaban n temel veri depolama birimidir. Kullan c lar n ula abilecekleri tüm
verileri tutarlar. Her tablo sütun ve sat rlardan olu ur.
Tablo yaratmak
Enterprise Manager kullanarak tablo yaratmak
1 Administration sayfas nda Schema k sm nda Table t klan r. Tablo sayfas gelir.
2 E er ema ad n biliyorsan z ema k sm nda tümü yada bir k sm n girmelisiniz. E er ema
ad n bilmiyorsan z ema alan n n yan ndaki buton t klan r. ema penceresi belirir.
3 Create e bas l r, Tablo organizasyonu sayfas gelir.
4 Default de erler olna Standart, Heap Organized Continue butonun bas larak kabul edilir.
Create Table sayfas gelir.
5 Tablo ad Name sahas na girilir.
6 ema ismi Schema alan na girilir yada yandaki buton kullan l r.
7 Tablespace ismi girilir veya yandaki buton yard m yla eçilir.
8 Sütun k sm nda sütun ad ve veri tipi girilir.
9 OK bas l r. Güncelleme mesaj görülür.
Tabloyu de i tirmek
Enterprise Manager kullan larak tablolar de i tirilebilir. Örnek olarak sütun eklemek için:
1 Table sayfas nda tabloyu seçip Edite bas n
2 Edit Table sayfas nda sütun eklem seçene i seçilir. Sütun listesi gelir.
3 Yeni sütunun ad , veri tipi ve büyüklü ü girilir. Applya bas l r.
4 Update mesaj belirir.

Veri Bütünlü ünü Anlamak


Bu bütünlük k s tlar n ,sütun de erine k s t uygulamak için kullanabilirsiniz.
NOT NULL: Default olarak tablodaki tüm sütunlar null de ere izin verir. Null bir de er
olmamas d r. NOT NULL k s t bir sütunun null de eri almamas d r.
UNIQUE: Bu k s t bir sütundaki veya sütun toplulu undaki her de er tekil olmal d r.
Belirtilen bir sütun veya sütun kümesindeki de erle ba ka bir sat rda tekrar edilmemelidir.
PRIMARY KEY: Veritaban ndaki her tablo en çok bir PRIMARY KEY k s t na sahiptir. Bir
veya daha fazla sütunun de erleri tekil tan mlay c olul tururlar.
PRIMARY KEY 2 durumu garanti eder:
- Belirtilen sütun veya sütunlardaki de erle ba ka bir sat rda tekarar edilemez.
- Primary key null olamaz. Her sat r n primary key olan sütunlar nda bir de er
olmal d r
Oracle PRIMARY KEY k s t n indeksler kullanarak yap lmas na zorlar
Referential integrity constraints: li kisel veri taban ndaki de i ik tablolar ortak sütunlar
sayesinde ili kilendirilebilir ve sütunlar n ili kilerinin yönetildi i kurallar devam etmelidir.
Referential integrity kurallar bu ili kilerin saklanaca n garanti eder. Referential integrity
k s t tablonun her sat r için foreign key de erinin parent key ile uyu mas d r.
Örne in employees tablosunda department_id foreign key olsun. Bu k s t ile employees
tablosundaki department_id sutununa ait her de erin departments tablosunun birincil anahtar
olan department_id ile uyumlu olaca n garanti eder.
Ba ka bir referential integrity k s t da self-referential integritydir. Bu k stta foreign key ayn
tablonun birincil anahtar na referans eder.
K s tlar Tan mlamak
Bir tabloya k s t eklemek için:
1 Table sayfas ndaki tabloyu seçin ve Edite t klay n
2 K s tlara t klayal m, tablo üzerinde tan ml tüm k s tlar Constraints sayfas nda gösterilir.
3 stenilen k s t seçilir.
4 K s t tan mlayacak yugun bilgi girilir ve Oke bas l r.

Tablo Özelliklerini Görmek


Enterprise Manager kullanarak tablo özellikleri görülebilir.
1 Data Administration sayfas n n ema k sm nda Tables eçene i seçilir.
2 Tablolardan istenilen seçilir ve view butonuyla tablonun özellikleri görülür.

Tablo çeri ini Görmek


Enterprise Manager kullanarak tablonun sat rlar kolayca görülebilir.
1 Tables sayfas ndan tablo seçilir.
2 Action menüsünden View Data seçilir.
Tablo için Viewe Data sayfas belirir. Results k sm nda tablo için sorgulanmam veri görülür.
stenilen sonuçlar üretmek için Query k sm n kullanabilir. Bu sayfada herhangi bir sütuna
t klayarak veriyi azalan veay artan s arad s ralayabilirsiniz. Sorguyu de i tirmek isterseniz
Refine Query butonuna bas n. Tablo sayfas ndaki Refine Query görüntülemek istedi iniz
sütunlar seçebilir ve WHERE ile belirtece iniz k s tlar tan mlayabilirsiniz.

Tablolarla Yapabileceklerimiz
Bir tablo seçip a a daki i lmeleri yapabilirsiniz.
Create Like: Bu seçenek ile eçti iniz tablo özelliklerine sahip bir tablo yaratabilirsiniz. Tablo
ad n ve k s t isimlerini de i tirebilirsiniz. Sütun silip ekleyebilir, ba ak de i ikliklerde
yapabilirsiniz. Yarat ld nda tablo bo olacakt r.
Create Index: Tablo üzerinde indeks yaratabi lirsiniz. Indeksler sadece sütunlar üzerinde
yarat l r.
Create Synonym: Synonym tam bir tablo üzerinde bir isimdir. Synonym private veya public
olabilir.
Create Trigger : Tablo seviyesindeki trigger tablo üzerinde bir olay oldu unda çal an
PL/SQL blo udur. E er employees tablosundan silinen her veriyi ba ka bir tabloda tutmak
istenirse kullanabilir. Before delete gibi bir trigger ile bu sa lanmal d r.
Gather Statistics: Gather Statistics sihirbaz optimizer istatistiklerini üretmeye ve de i tirmeye
yarar. Veri sözlü ünde istatistikler tutul ur ve ücretli bir optimizer taraf ndan kullan l r.
Günlük istatistikler SQL sorgular m z n performans n geli tirmede kullan l r.
Generate DDL: Seçilen tabloda DDL komutu üretilir.
Grant Privileges: Default olarak tablo yaratold nda sadece sahibi üzerinde i lem yapabilir.
Tablo sahibi di er kullan c lara baz haklar vermelidir.
Reorganize: Reorg Sihirbaz sayesinde indeks veya tablolar yeniden olu turabilir, nesneleri
farkl tablespacelere ta yabilir veya belirli neslerin depolama özelliklerini iyile tirebiliriz.
Run Segment Advisor: Bu araç ile nesnelerin kullan lmayan alanlara sahip olup olamad klar
anla labilir ve gelecek için alan gereksinimi tahmininde bulunulabilir. Bu tahminler geçmi
davran lara göre yap l r.
Shrink Segment: mevcut alanalr s k t rarak yer açmaya yarar.
Show Dependencies: Bu tabloya ba l olan nesneleri ve bu tablonun ba l oldu u nesneleri
gösterir.
View Data: Tablo üzerinde bir select sorgusu çal t rabilirsiniz. Veriyi de i tiremezsiniz.
Flashback Table: Bu özellik izin bir tabloyu belirli bir andaki haline dönürebilmenizi sa lar.
Kazayla bu kullan c veya uygulam taraf ndan de i tirilmi tablolar için geri yükleme sa lar.
Tabloyu indeksler,tiriggerlar gibi tüm özellikleriyle geri yükleyebilirsiniz. Bu veritaban
online oldu unda sadece istedi imiz tablo rollback yap larak sa lan r.
Flashback by Row Versions: Flashback Versions Query metadatay ve belirli bir zaman
aral ndaki tarihsel veriyi sorgulam n z sa lar.

Indeks Yaratmak
Injdeksler tablolarla ili kili olan seçimlik yap lard r. Veri getirilirken performans n artmas
için olu turulurlar. Oracle indeksi tablo verilerine do rudan ula mak için bir yol sa lar.
Indeksler tablo üzerindeki bir veya daha fazla sütun üzerinde olu turulurlar. Bir indeks
yarat ld ktan sonra otomatik olarak Oracle sunucusu taraff ndan sürdürülür ve kullan l r.
Tablo verisindeki sat r ekleme, güncelleme, veya silme gibi bir güncelleme i lemi otomatik
olarak indekslere ayarlan r.
Administration sayfas n n Schema k sm n n alt nda Index t klan r. Indeks özelliklerini
görebilir. Veya bir indeksle ba lant lar n görmek için Actions menüsü kullan labilir.
Indeksler aç kca veya kapal olarak tablodaki k s tlara göre yarat l rlar.

View Nedir?
Viewlar bir veya daha fazla tablo veya di er viewlar n içindeki verinin düzenlenmi bir
gösterimidir. Depolanm sorgular olaraka dü ünülebilir. Viewlar gerçekte veri içermezler
ancak temel ald klar tablodan veri derlerler. Bu tablolar viewin temel tablolar olarak
adland r l rlar.

View Yaratmak
Tablolar gibi viewlarda sorgulanabilir, güncellenebilir, sat r eklenebilir ve sat r silinebilr
ancak baz k s tlar vard r. View üzerinde yapt m z bütün i lemler view n temel tablolar n
etkiler. View ile tablonun sat r ve sütunlar na eri imi k s tlayarak belirli bir güvenlik sa lar.
Ayr ca veri karma kl n gizleyerek karma k sorgular saklar.
Administration tab n n Schema k sm nda Viewsa t klayarak mevcut viewlar görebilirsiniz.

Sequence Nedir?
Sequence pekçok kullan c n n unique tamsay üretebilece i veritaban nesnesidir. Genellikle
sequenceleri primary key de eri üretmek için kullan r z.
Name: Sequence ismi
Schema: Sequencein sahibi
Type: Artan veya azalan s rada olaca n gösterir.
Maximum value: Sequencein olu turabilece i maksimum de eri belirtir. Bu tamsay de er 28
veya daha az basamakl olur. Bu minimum ve ba lang ç de erinden büyük olmal d r. Defaultu
Unlimitedir. Unlimited artan sequence için 1027 ,azalan için -1dir.
Minimum value: Sequencein minimum de erini belirtir. Bu tamsay 28 basamakl veya daha
az olabilir. Ba lang ç de erinden az veya e i, maksimum de erden az olmamal d r. Defaultu
unlimitedir. Unlimited artan için 1, azalan için -1026 d r.
Interval: Sequence numaralar aras nda bir aral k belirlemelisiniz. Tamsay de eri pozitif veya
negatif olabilir, ancak 0 olamaz. Bu de er 28 veya daha az basamak olmal d r.
Cycle values: Artan sequence maksimum de erine ula t ktan sonra, minumum de erine
döner. Azalan squence minimum de erine ula t ktan sonra maksimum de erine döner. E er
bu seçene i seçmezseniz sequence de eri bitince hata döner.
Order Values: Sequence numaralar n bir s ra ile üretilmesini sa lar. Bu seçenek sequenci
tarih bilgisi olarak kulllan yorsan z faydal d r. Sequencein s ral olmas primary key üreten
sequencelar için önemli de ildir.
Cache Options: Daha h zl eri im için kaç tane sequencein bellekte tutulaca n d eridir. Bu
tamsay ençok 28 basamak olabilir. Bu parametre için minimum de er 2 dir. Dönen
sequencelar için bu de er dönen de er miktar ndan az olmal d r.

Sequence Kullanmak
SQL komutlar nda pseudo sutunlar kullanarak sequence de erlerine ula abilirsiniz.
CURRVAL: Sequencecin o anki de erini döndürür.
NEXT VAL: Sequence artt r r ve bir sonraki de eri döndürür.
Bu 2 de eri sequence ad yla beraber kullanmal s n z.
NEXTVAL e ilk eri im sequencein ba lang ç de erini döndürür. Daha sonraki eri imlerde
NEXTVAL sequence de eri bir artt r larak yeni de er döndürülür. CURRVALe her eri im
sequencein o anki de erini döndürür.
Veri Yönetimi

SQL Yoluyla Verileri De i tirme


Veritaban içinde verilerin de i tirilmesinin temel yolu DML(Data Manipulating Language)
ifadeleridir.
SQL> INSERT INTO employees VALUES
2 (9999,'Bob','Builder','bob@abc.net',NULL,SYSDATE,
3 'IT_PROG',NULL,NULL,100,90);

1 row created.

SQL> UPDATE employees SET SALARY=6000


2 WHERE EMPLOYEE_ID = 9999;

1 row updated.

SQL> DELETE from employees


2 WHERE EMPLOYEE_ID = 9999;

1 row deleted.

INSERT Komutu
Basit bir INSERT komutu veritaban nda ayn anda 1 sat r olu turur. INSERT komutu alt
sorgularla birlikte ça r ld nda veritaban nda 1den fazla sat r olu turur. Bu yönteme INSERT
SELECT yöntemi denir.

insert into dept_80 (select * from employees where department_id = 80);

Bu sorgudaki dept_80 tablosu ile employees tablosu yap sal olarak ayn d r. Ama tablonun
kolon isimleri farkl olabilir. Kolonlar n de erleri birbirleriyle uyu acakt r. Bütün gereksinim
veri tiplerinin uyu mas d r. Mesela :

insert into just_names (first, last) (select first_name, last_name from


employees);

Burada just_names tablosunun 2 alan vard r ve employees tablosundaki first_name ve


last_name alnlar yla ayn tiptedir. Bu yöntemle 1 tablodan ba ka tabloya veri aktar labilir.

UPDATE Komutu
Update komutu tablo içinde sat r düzenlemek için kullan l r. WHERE art na göre 1 sat r
veya 1den fazla sat r düzenlenebilir. WHERE art koyulmazsa bütün sat rlar de i tirilir.
WHERE art na hiçbir sat r uymaz ise hiçbir sat r güncellenmez.

DELETE Komutu
DELETE komutu tablodan sat rlar silmek için kullan l r. WHERE art na göre 1 sat r veya
1den fazla sat r silinir. WHERE art koyulmazsa bütün sat rlar silinir. WHERE art yla hiçbir
sat r uyu mazsa hiçbir sat r silinemez. Hiçbir sat r silinemedi inde hata dönmez. 0 sat r silindi
diye mesaj verir.

COMMIT ve ROLLBACK Komutlar


Varsay lan olarak DML komutlar COMMIT edilmez. Baz araçlar n her komutta veya bir
grup komuttan sonra COMMIT etme özellikleri ayarlanabilmektedir. COMMIT ve
ROLLBACK ten önce de i iklikler bekleme durumundad r. De i en verileri sadece
de i ikli i yapan kullan c n n görmesine izin verilir. Di er kullan c lar verinin de i memi
halini göreceklerdir. Bir kullan c veriyi de i tirirken di er kullan c lar veri üzerinde DML
kullanamazlar. Varsay lan olarak ba kalar n n de i tirdi i veriyi de i tirmek isteyen kullan c
ilk kullan c de i ikliklerini aktif edene kadar bekleyecek. Bu otomatik olarak Oracle n
kilitleme mekanizmas taraf ndan kontrol edilir.

Bütünlük K s tlamalar ve DML


DML ifadeleri çal t r l rken bütünlük k s tlamalar na bak l r.

FOREIGN KEY kolonlar:


INSERT ve UPDATE i lemlerinde birincil tabloda mutlaka bulunmal d r.
DELETE i leminde birincil tabloda en az ndan 1 sat r bulunmal d r.

NOT NULL kolonlar:


INSERT i leminde verisiz ekleme yap lamaz.
UPDATE i leminde bir de er null yap lamaz.

UNIQUE kolonlar:
INSERT ve UPDATE i lemlerinde NULL hariç ayn de eri alamazlar.

PRIMARY KEY kolonlar:


UNIQUE KEY ve NOT NULL kolonlar kurallar uygulan r.

CHECK kolonlar:
INSERT ve UPDATE i lemlerinde de erler k s tlama durumlar ile kar la t r lmal .

Data Pump Export


Oracle n Data Pump hizmeti bir veritaban ndan di erine yüksek h zla veri transferi için
kullan l r.
1-)Birinci sayfada export tipini ve host oturum bilgilerini girmeniz gerekmektedir.

Database = Bütün veritaban n export eder. Buna full export denir. SYS, ORDSYS,
ORDPLUGINS, CTXSYS, MDSYS, LBACSYS, and XDB emalar metadata içerdi i
için export edilmez. Tabi bunu yapabilmeniz için EXP_FULL_DATABASE rolüne
sahibolmal s n z.

Schema = Bu yöntem bir veya daha fazla eman n tüm nesnelerini export etmeye yarar. E er
sizin EXP_FULL_DATABASE rolünüz yoksa sadece kendi sahip oldu unuz emay export
edebilirsiniz.

Tables = Bu yöntemde sadece belirli tablo kümeleri export edilir. Sahibi olmad n z eman n
tablolar n export etmek için EXP_FULL_DATABASE rolüne sahip olman z gerekmektedir.
Bu modda tablo tan mlamalar export edilmez. Import zaman nda tablo tan mlamas n n var
oldu u varsay l r.

2-)E er schema veya tables seçmi seniz bir sonraki pencerede schemalar veya tablolar
seçtirir.

3-)Database seçtiyseniz direkt olarak Option page e dü ersiniz.


Burada max say da yapabilece iniz paralel export say s n , nekadar büyük export
yapabilece inizi, kalan zaman tahmin gibi bilgiler vard r.
Content = Metadatay , veriyi veya her ikisini birlikte export edebilece iniz seçenek
sunuluyor.
Flashback = Belirli bir zamanda tutarl export al r.
Query = Sadece veriler al n r.

4-) Bir sonraki sayfa files . Burada export alaca m z dizin ismi, dosya ismi ve export
dosyalar için maximum boyutu belirleyebilirsiniz. Dosyalar n s ras için %U de i keni
kullan labilir.
expa%u => expa01.dmp, expa02.dmp, expa03.dmp, expa04.dmp, diye gider.
Expb%u=> expb01dmp, expb02.dmp, expb03.dmp, expb04.dmp, diye de di er paralel
exportlar isimlendirilir.

5-) Bir sonraki sayfa schedule . Planlama sayfas i leri planlamak için kullan l r.

6-)Son sayfa Review , bütün bu ad mlarda yap lan i lemlerin PL/SQL kodunu görebilirsiniz.
Bunu kopyalayabilir ama de i tiremezsiniz.

Data Pump Import


Data Pump export ile olu turulan dosyay geri yüklemek için kullan l r.

Maintenance-> Import From Files

1-)Files=Yüklenecek dosyan n yolu ve ad belirlenir. 3 seçene iniz var:


Belirli dosyalar
Belirli emalar
Belirli tablolar

Log dosyalar n olu turur ve host U/P bilgilerini girebilirsiniz.

2-)Select Objects= Bu sayfa sadece Files sayfas nda belirli nesneleri import etme seçildi inde
gözükür.

3-)Re-Mapping = Bu sayfa bir önceki sayfadaki select objects de nesne seçmi iseniz
gözükür. Bu sayfada her bir kullan c n n verilerini yine kendisinin emas na m yoksa farkl
kullan c lar n emalar na m yüklenece ini belirleyebilirsiniz.

4-)Options = Bu sayfa veri dosyalar n n tekrar kullan m n ayarlamak, nesne olu turma
hatalar ve kullan s z indexler için kullan l r.

5-)Schedule = Planlamak için kullan l r.

6-)Review = Bütün bu yap lan i lerin PL/SQL kodlar n görmek için kullan l r.

DIRECTORY Objects
Data Pump program server tabanl veya temelli oldu undan dump files, log files ve SQL
files lara server temelli dizin yollar yla eri ilir. Data Pump için directory nesneleri gibi
directory yollar n da belirlemek gerekir. Dosya sistem üzerinde directory object ismini
directory yoluna haritalar.
Görsel arayüzden yapabilece iniz gibi CREATE_DIRECTORY komutuyla da directory
nesnesi olu turulabilir.
Directory olu turdu unuz zaman, otomatik olarak directory üzerinde okuma ve yazma nesne
yetkisi verilirsiniz . Ve bu yetkiyi di er kullan c lara ve rollere verebilirsiniz.
DIRECTORY nesnesi olu turabilmeniz için CREATE ANY DIRECTORY sistem yetkisine
sahip olman z gerekmektedir.
Not: Oracle sizin belirledi iniz directory gerçekten var m yok mu diye do rulamaz. Bu
nedenle .S. de geçerli bir directory belirledi inize dikkat edin. E er .S. niz büyük küçük
harfe duyarl ysa buna da dikkat edin ve do ru format kullan n. .S. i directory içindeki
dosyalar n güvenli ini kontrol edecektir.

SQL*Loader
SQL*Loader harici dosyalardan oracle veritaban na veri yükler. Çok güçlü bir çözümleme
motoruna sahiptir. Veri dosyas n n içindeki veri formatlar na baz k s tlamalar koyar.
SQL*Loader ile kullan lan baz dosyalar:
Input Data Files = SQL*Loader n içinden veri okudu u Control File içinde belirtilen 1 veya
1den fazla dosyad r. SQL*Loader perspektifinden bak ld nda dosya içinde veriler kay tlar
olarak organize olmu tur. Veri dosyalar fixed record format, variable record format olabilir.
Kay t format Control file içinde INFILE ile belirtilir. E er bir kay t format belirlenmemi se
varsay lan olarak stream record format olur.
Control File=SQL*Loader n anlayaca bir dilde yaz lm text dosyad r. Control File,
SQL*Loader a veriyi nerede bulaca n , nas l parse edip yorumlayaca n , verileri nereye
ekleyece ini anlat r. Genelde 3 bölümden olu ur.
1.Bölüm: Oturum bilgilerini tutar. Sat r say s , band boyutu, kaç kay t atlanaca , INFILE
ile verinin nerede bulundu unu söyler.
2.Bölüm: 1 veya 1den fazla INTO TABLE blo u içerir.
3.Bölüm: Seçeneklidir. Ama varsa da veri dosyas n içerir.

Log File= SQL*Loader çal maya ba lad nda log dosyas olu turur. E er dosyay (log)
olu turamaz ise çal ma sonland r l r. Log file yükleme detaylar n içerir.

Bad File = SQL*Loader veya oracle veritaban taraf ndan reddedilen kay tlar içerir. Giri
geçersiz oldu u zaman veri dosyas kay tlar SQL*Loader taraf ndan reddedilir. SQL*Loader
i leminden kabul edildikten sonra bir tabloya kay t olarak eklenmek üzere ORacle
veritaban na gönderilir. E er oracle veritaban bu sat r n geçerli oldu una karar verirse
tabloya ekler. E er sat r geçersiz kabul kabul edilirse reddedilir ve SQL*Loader onu BAD
FILE a koyar.

Discard File= Sadece ihtiyaç duyuldu unda olu turulan bir dosyad r. Ve e er bu dosyan n
olu turulmas n istiyorsan z aktif etmelisiniz. Bu dosya, Control file içindeki kriterlere
uymad için süzülerek yükleme d na al n r.

SQL*Loader Control File


SQL*Loader Control File DDL komutlar n içeren bir text dosyad r. SQL*Loadera
Yüklenecek veriyi nerede bulaca n
Verinin format n n nas l olaca n
Yap land rma (bellek yönetimi, reddedilen kay tlar, yükleme kesilme yönetimi, )
gibi bilgileri anlat r.

Örnek bir Control File=


1 -- This is a sample control file
2 LOAD DATA
3 INFILE SAMPLE.DAT
4 BADFILE sample.bad
5 DISCARDFILE sample.dsc
6 APPEND
7 INTO TABLE emp
8 WHEN (57) = .
9 TRAILING NULLCOLS
10 (hiredate SYSDATE,
deptno POSITION(1:2) INTEGER EXTERNAL(3)
NULLIF deptno=BLANKS,
job POSITION(7:14) CHAR TERMINATED BY WHITESPACE
NULLIF job=BLANKS "UPPER(:job)",
mgr POSITION(28:31) INTEGER EXTERNAL
TERMINATED BY WHITESPACE, NULLIF mgr=BLANKS,
ename POSITION(34:41) CHAR
TERMINATED BY WHITESPACE "UPPER(:ename)",
empno POSITION(45) INTEGER EXTERNAL
TERMINATED BY WHITESPACE,
sal POSITION(51) CHAR TERMINATED BY WHITESPACE
"TO_NUMBER(:sal, $99,999.99 )",
comm INTEGER EXTERNAL ENCLOSED BY ( AND %
":comm * 100"
)

1. - - ile ba layan sat r aç klamad r.


2. LOAD DATA ifadesi SQL*Loader a yeni bir yükleme i leminin ba lad n
söylüyor. Daha önce yar da kesilmi bir yükleme i lemi varsa CONTINUE
LOAD DATA ifadesi kullan lmal d r.
3. INFILE yüklenecek veri dosyas n belirtir.
4. BADFILE reddedilen kay tlar içerir.
5. DISCARDFILE elenen, saf d b rak lan kay tlar içerir.
6. APPEND veri eklenecek tablonun içi bo de ilse sonuna ekleyerek devam
etmesini sa lar. E er tablo bo ise INSERT kullan l r.
7. INTO TABLE tablo, alanlar ve veri tiplerini belirlemenizi sa lar.
8. WHEN ifadesi yükleme i lemine baz k s tlamalar koyar.
9. TRAILING NULLCOLS ifadesi SQL*Loader a kay t içinde yer almayan
kolonlara null kolon olarak dikkate almay sa lar.
10. CONTROL FILE hat rlat c s alanlar n listesini içerir.

Control File Syntax Consideration


Syntax free-formatt r. Büyük küçük harfe duyars zd r. Aç klamalar -- ile ba lar. CONSTANT
ifadesinin SQL*Loader için özel bir anlam oldu undan ayr lm t r. Potansiyel bir
karma kl ktan kaç nmak için CONSTANT ifadesini kullanmamak gerekir.

Input Data and Datafiles


Fixed Record Format
Fixed Record Formatl bir dosyada, bütün kay tlar ayn boyuttad r. Bu nedenle en az esnek
olan format budur. Bu di er variable stream formattan daha iyi sonuç verir.

INFILE <datafile_name> fix n

Her kayd n n byte uzunlu unda olaca söylenmektedir.

load data
infile example.dat "fix 10"
into table example
fields terminated by ,
(col1, col2)
example.dat:
0001,abcd
0002,fghi
0003,klmn

Örnekte fixed record formatl bir veri dosyas vard r. Her kay t 10 byte uzunlu undad r. Her
kay tta 9 byte karakter vard r. 10. byte ise return anlam na gelir. (Veya di er sat ra geçme
anlam na gelir.)
Variable-Record Format
Variable-Record Formatl bir dosyada her kay t ba nda o kayd n kaç bytedan olu aca
belirtilir. Bu fixed-record formata göre daha esneklik sa lar. Stream formata göre daha
performansl d r.

INFILE datafile_name var n

Bu gösterimde n kay t uzunlu u alan n gösterir. Belirtilmez ise varsay lan olarak 5 al n r.
Bu say 40 dan büyük olursa hata al n r.

load data
infile example.dat "var 3
into table example
fields terminated by , optionally enclosed by "
(col1 char(5),col2 char(7))
example.dat:
009hello,cd,
010world,im,
012my,name is,

Bu örnekte kay t uzunlu u alan 3 byte ile gösterilmi tir. Veri dosyas n n 3 fiziksel kayd var.
1.kay t = 9 bytel k, 2.kay t = 10 byte, 3.kay t = 12 byte
Stream-Record Format
Stream-Record Formatl dosyada kay t uzunluklar say ile belirlenmez. SQL*Loader kay tlar
sonundaki record terminator ile ay r r. En esnek formatt r. Ama bununda performanstan
kayb vard r.

INFILE <datafile_name> [ str_terminator_string ]

Terminator string ya char_string ile ya da X hex_string ile belirtilir.


Char_string= Tek veya çift t rnakla sonland r lan karakter stringine denir.
X hex_string= hexadecimal formatl byte stringdir.

Terminator_string baz özel (yazd r lamayan) karakterler içerirse X hex_string olarak


belirlenmeli. Ama baz karakterler ise char_string olarak dü ünülebilir :
\n newline
\t yatay tab
\v dikey tab
\r return
E er terminator_string belirtilmemi se \n al n r.
load data
infile example.dat "str |\n
into table example
fields terminated by , optionally enclosed by "
(col1 char(5),
col2 char(7))
example.dat:
hello,world,|
james,bond,|

Loading Methods
SQL*Loader 2 veri yükleme yöntemi sunar.

1-Conventional Path Load : Veri sat rlar n eklemek için dizi olu turur ve INSERT ifadesini
kullan r. Yükleme s ras nda, kay tlar alan baz nda parse edilir. Control file da belirtilen
tabloya eklemek için dizi olu turulur. Kriterlere uymayan sat rlar reddedilir.
Kümelenmi ve kümelenmemi tablolara veri eklenebilir.

2-Direct Path Load:Bellekte veri bloklar olu turulur ve bu bloklar extendler içine kaydedilir.
Veritaban ARCHIVELOG modunda olmad kça online redolog file giri leri olu maz. Direct
Path Load bütün oracle veri bloklar n olu turmak için alan özelliklerini kullan r ve bloklar
oracle veri dosyalar na direkt yazar. Direct Path Load, veritaban tampon önbelle ini bypass
geçer ve SGA ya sadece extent yönetimi için eri ir.

Direct ve Conventional Path Loads K yaslamala


Veri kaydetme metodu:Conventional Path Loads verileri kaydetmek için SQL ve COMMIT
kullan r. COMMIT i lemiyle kay t dizileri eklenir.
Herbir yükleme i lemi birkaç transaction içerebilir. Direct Path Loads Oracle veri dosyalar na
veri bloklar n yazmak için veri kaydetme kullan r.

Veri kaydetmenin COMMITten fark :


Veri kaydetme an nda, sadece bütün veritaban bloklar veritaban na yaz l r.
ç kaynaklar data save den sonra da t lmaz.
Data save transaction sonland rmaz.
Her bir data save de indexler güncellenmez.

Loglama farklar : Conventional Path Loading herhangi bir DML ifadesine benzer redo
giri leri üretir. Direct Path Load kullan rken redo giri i üretilmedi i durumlar :
Veritaban NOARCHIVELOG modundaysa
Veritaban ARCHIVELOG modundaysa ama loglama inaktif ise loglama
NOLOGGING özelli ini ayarlamakla veya control file içinde UNRECOVERABLE
ifadesini kullanarak inaktif edilebilir.

K s tlamalar n Gerçekle tirilmesi: Conventional Path Loads s ras nda, bütün aktif k s tlamalar
gerçekle tirilir.
Direct Path Loads s ras nda k s tlamalar öyle yönetilir:
Diziler olu turuldu unda NOT NULL k s tlamalar kontrol edilir.
FOREIGN KEY ve CHECK k s tlamalar in aktif edilir ve çal man n sonunda aktif
edilir. Çünkü di er sat rlara ve tablolara referans eder. CHECK k s tlamalar in aktif
edilir, çünkü onlar SQL fonksiyonlar n kullanabilir. Sadece küçük say da sat rlar
geni tabloya yaz l yorsa conventional loads kullan l r.
PRIMARY KEY ve UNIQUE k s tlamalar çal ma s ras nda ve sonras nda kontrol
edilir ve ihlal edilmi se in aktif edilebilir.

INSERT Tetikleyicileri: WHILE INSERT tetikleyicileri conventional load s ras nda


tetiklenirse, direct path load öncesinde in aktif edilir ve çal man n sonunda tekrar aktif edilir.
E er referans edilen nesne çal ma sonunda eri ilmezse inaktif kal r.

Kümelenmi tabloya yükleme:: Direct Loads kümelenmi tabloya veri ekleyemez


conventional laod ekleyebilir.
Kilitleme: Direct Path Load i lemi sürerken di er transactionlar tabloda de i iklik yapamaz.

Loading Data With SQL*Loader


Harici bir kaynaktan veritaban na veri ekleme sihirbaz ile de yap labilir.
Maintenance -> Utilities ->Load Data From

u ad mlarla yükleme yap labilir:


1. EM ye SYS olarak giri yap n z.
2. Maintenance > Utilities ->Load Data From
3. Control File n tam yolunu girniz ve host makinan n oturum bilgilerini giriniz.
4. Data file n tam yolunu girin.
5. Loading Method seçilir (Direct Path Laoding)
6. Generate Log File
7. ismi ve tan mlamas yap l r. Derhal çal mas için Immediately to run seçilir.
8. Ayarlamalar tekrar gözden geçirme
9. lem ba ar l bir ekilde tamamlanm sa status(durum) sayfas gözükür. View Job
ile yap lan i in özetini görebilirsiniz.
10. Yüklenen verileri onaylars n z.
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
Veritaban Güvenli i
Oracle Veritaban 10g endüstrinin en iyi güvenlik arabirimi sa lar. Ancak bu arabirimin etkili
olabilmesi için veritaban yöneticilerinin a a daki ad mlar takip etmesi gerekir ve veritaban
sürekli izlemelidirler.
Veri ve servislere eri imi k s tlama
Bütün kullan c lar bütün verilere ula amamal d r. Veritaban nda ne tuttu unuza ba l olarak
i letme bilgileriniz, mü teri beklentileriniz, kredi kart bilgileriniz, sa l k bilgileriniz, ki isel
bilgilerinize yetkisiz kullan c lar n eri imi k s tlanmal d r. Oracle veritaban na k s tl eri im
için çok iyi bir yetkilendirme mekanizmas sunar. Eri im k s tlama en az yetki prensibini
içerir.
Kullan c lar yetkilendirme
Eri im kontrolü yapmak için öncelikle sistem verilere kimin eri meye çal t n bilmelidir.
Kullan c y yetkilendirme için en çok kullan lan yöntem parolal eri imdir. Parola için basit
kurallar takip edilerek sistem güvenli i fazlaca art rmak mümkündür.
Daha güçlü yetkilendirme yöntemleri de vard r; örne in ki iye özel olan parmak izi, irisi,
kemik dokusu yap s gibi biometrik özelliklerine göre yetkilendirme

üpheli aktivitelerin izlenmesi


Bazen yetkili ve yetkilendirilmi kullan c lar bile sisteme zarar verebilir. Genel olmayan
veritaba aktiviteleri saptand nda; örne in bir çal an aniden çok büyük miktarda kredi kart
bilgisi, ara t rma sonuçlar veya di er gizli bilgileri sorguluyor ise bunu fark edip müdahale
etmek bilgi h rs zl n tespit etmenin ilk ad m olabilir.
Oracle kullan c aktivitelerini ve üpheli davran lar izlemek için çok fazla araç sunmaktad r.

En az yetki prensibini uygulama


Oracle 10g veritaban endüstrisinde güvenlik alan nda veritaban sunucular n n lideridir.
letme ortamlar nda bütün güvenlik özellikleri Oracle n tavsiye etti i ekilde yap l rsa
güvenli i en üst düzeye ç karabilirsiniz. Gömülü güvenlik özelliklerini ve temel güvenlik
prensiplerini do ru bir ekilde kullanmak veritaban n ataklara ve sald r lara kar daha
güvenli yapacakt r.

En az yetki prensibi
En az yetki demek; kullan c n n görevlerini yerine getirebilmesi için gerekli olan minimum
yetki demektir. Bu da kullan c n n bilinçsizce veya bilinçli bir ekilde kendisini ve i ini
ilgilendirmeyen verileri görmesini, de i tirmesini engelleyecektir.

Veri sözlü ünü koruma


Yönetici olmayan kullan c lar n veri sözlü üne eri mesine gerek yoktur. Ama siz kullan c ya
* ANY TABLE sistem yetkilerini (mesela SELECT ANY TABLE veya UPDATE ANY
TABLE) verirseniz bundan mutlaka bir fayda sa layacakt r. Kötü niyetli kullan c lar
veritaban n n içerdi i verilere de i tirebilecek veya sisteme zarar verebilecektir. Bu yüzden
veri sözlü ü tablolar n * ANY TABLE yetkisinden ç karmak için,
O7_DICTIONARY_ACCESSIBILITY ba lang ç parametresini FALSE yapman z
gerekmektedir. E er yönetici olmayan ve veri sözlü üne ihtiyaç duyan bir kullan c n z varsa
sadece o kullan c n n eri imine izin verebilirsiniz. GRANT komutunu kullanarak kullan c n n
görmesi gereken özel veri sözlü ü nesnelerini görmesine izin verebilirsiniz. SELECT ANY
DICTIONARY sistem yetkisini kullan c ya vermek onun bütün veri sözlü üne eri mesine izin
vermektir. Oracle 10g ve 9i de O7_DICTIONARY_ACCESSIBILITY parametresi
varsay lan olarak FALSE gelmektedir. Ama, Oracle 8i ve daha önceki versiyonlar nda
varsay lan olarak bu de er TRUE gelmekte ve siz istedi inize bu de eri veri sözlü ünü
korumak için el ile FALSE yapmak zorunda idiniz.
Uyar : E er bu parametre TRUE ise, bir kullan c kötü niyetle veya yanl l kla DROP ANY
TABLE sistem yetkisi ile veri sözlü ünün bir bölümünü silebilir.
PUBLIC ten gereksiz yetkileri geri alma
Çünkü herhangi bir veritaban kullan c s PUBLIC grubuna verilen yetkileri deneyecektir,
gereksiz yetkileri ve rolleri veritaban sunucusunun PUBLIC grubundan al nmal d r.
Baz yetkiler PL/SQL paketleri üzerinde minimum yetkili eri ime izin veren EXECUTE
içerir.

DBMS_* ve UTL_* paketlerinin ço u PUBLIC grubuna EXECUTE yetkisiyle verilm tir.


En az yetki ilkesine dayanarak bunun gibi önemli paketlerden bu yetkileri geri almak
gerekmektedir. Ve sadece buna kim ihtiyaç duyuyor ise o kullan c ya çal t rma yetkisi
vermek gerekmektedir. PUBLIC yetkisinin eri imlerini k s tlamak bu yetkiye sahip olan tüm
kullan c lar etkileyecektir. lgili sistem bile enlerini test etmelisiniz. E er eri im k s tlama
pratik bir çözüm olmuyorsa o zaman audit access eri im izlemeyi kontrol edebilirsiniz.
u paketlerin yanl kullan lma olas l daha yüksektir:
UTL_SMTP:Veritaban n bir SMTP mail sunucu gibi kullanarak keyfi mail göndermeye
müsaade eder. Bu paketi PUBLIC e verirseniz yetkisiz ve gereksiz bir mail trafi i olur.
UTL_TCP: Veritaban taraf ndan d ar ya giden ba lant lar n ba ar l bir ekilde kurulmas na
müsaade eder. Bu da veritabanlar aras nda veya veritaban ile ba ka bir a servisi aras nda
keyfi veri ileti imine sebep olur.

UTL_HTTP: Veritaban n n http yoluyla veri istemesine ve almas na müsaade eder. Bu paketi
PUBLIC e vermek kötü niyetli web siteleriden HTML yoluyla veri gönderilmesine izin
vermek demektir.
UTL_FILE: E er do ru yap land r lmaz ise, sunucu üzerinde duran i letim sistemi text
dosyalar na eri im izni verir. Do ru yap land rsan z dahi bu paket ça r lma uygulamas n
(nereden ça r ld n ) ay ramayabilir. Sonuç olarak herhangi bir uygulama UTL_FILE a
eri ip keyfi veriler yazabilir.
DBMS_OBFUSCATION_TOOLKIT: Verileri ifreler. Genelde, ço u kullan c ya verileri
ifreleme yetkisi verilmemelidir. Çünkü ifreleme anahtar güvenli olarak depolan p
yönetilemez ise ifrelenmi veri de ifrelenemez.
Bu paketler onlara ihtiyaç duyan uygulamalar için çok kullan l d r. Ama güvenlik için do ru
yap land r lmalar gerekmektedir. Bu nedenle gerekmedikçe, PUBLIC ten bu yetkileri geri
almal ve sadece bireysel kullan c lara gerekti inde izin vermelisiniz.
PUBLIC taraf ndan çal t r labilen nesneleri listeleme
SYS nin sahibi oldu u ve PUBLIC taraf ndan çal t rma yetkisi bulunan nesnelerin listesini
görmek için u sorguyu çal t r n:

SQL>SELECTtable_name
2 FROM dba_tab_privs
3 WHERE owner='SYS'
4 AND privilege = 'EXECUTE'
5 AND grantee='PUBLIC'
6 /

TABLE_NAME
--------------------
AGGXMLIMP
AGGXMLINPUTTYPE
...
XMLTYPEEXTRA
XMLTYPEPI

437 rows selected.

SQL>
Kullan c lar n letim sistemi dizinlerine eri imini k s tlama
UTL_FILE_DIR yap land rma parametresi i letim sisteminin hangi dosyalar n n PL/SQL
yoluyla okunup yaz labildi ini tan mlar. Varsay lan olarak hiçbir dizin eri ilemezdir.
Veritaban n ba latan kullan c için bile eri ilemez durumdad r.
Çoklu dizin belirlemek için, gerekli bütün dizinler ekilde görüldü ü gibi t rnak içinde ve
birbirinden virgül ile ayr larak listelenir. Bu parametre dinamik olmad için yap lan
de i ikliklerin aktif olmas için instance yeniden ba lat lmal d r. Dizin yolunda ortam
de i kenlerini kullanmay unutmay n. Instance bu dizin varm yokmu diye kontrol etmez,
dolay s yla daha sonra parametreyi de i tirebilir ve dizini olu turabilirsiniz.
Bütün PL/SQL kullan c lar bu parametre ile belirtilen dosyalar okuyabilir ve yazabilir, bütün
PL/SQL kullan c lar na bu dosylar için güveniliyor olmal d r.
Dizinler Oracle Instance için mutlaka eri ilebiliyor olmal d r.
Uyar : UTL_FILE_DIR = * parametresini asla böyle ayarlamay n çünkü bu bütün
dizinlere eri imi aktif eder(datafile, redo log dizinleri, ).

Yönetici yetkili kullan c lar k s tlama


Veritaban kullan c lar na gerekti inden fazla yetki vermeyin. En az yetkiyi verebilmek için
u tip yetkileri k s tlamal s n z:
Sistem ve nesne yetkileri verme
SYSDBA and SYSOPER gibiSYS hakk ile veritaban n a ba lant lar
DROP ANY TABLE gibi di er DBA yetkileri
Slayttaki komut bize DBA rolü verilen bütün kullan c lar gösterir. Yönetici olmayan
kullan c lara DBA rolü verilmemelidir. Onun yerine, kullan c ya sadece ihtiyaç duydu u
yetkiler belirlenerek verilmelidir.
Hangi kullan c lar n SYSDBA or SYSOPER yetkilerine sahip oldu unu görmek için:
SQL> SELECT * FROM V$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
------------------------------ ------ -------
SYS TRUE TRUE
letim sistemine uzaktan oturum açmay pasif yapma
Bu özellik varsay lan olarak pasif gelir. Bu özellik aktif yap ld nda harici yetkilendirilmi
kullan c lar uzak sisteme zarar verebilirler.
Bunun anlam instance, do ru bir ekilde yetkilendirilmi istemci PC ve kullan c lara güvenir
ve tekrar bir kullan c do rulamaya gerek duymaz.
Harici kimlik do rulamas kullanan veritaban kullan c s n n i letim sistemi kullan c ad ile
veritaban kullan c ad uyu tu u sürece veritaban na ba ka bir parola gerekmeden girebilir.
Uzak i letim sistemlerinin ço u, özellikle PC den ba lanan kullan c lar için harici kimlik
do rulama yöntemine güvenilmemelidir. Bu yöntem çok kötü bir güvenlik politikas d r.

Varsay lan kullan c hesaplar n yönetme


Oracle 10g varsay lan olarak belirli say da veritaban kullan c s ile kurulur. Bu hesaplar veri,
sahip olduklar PL/SQL veya Java kodlar n depolamak için tasarlanm t r, veritaban
ba lant s için de il. Bir veritban olu turmak için Database Configuration Assistant (DBCA)
kullan ld nda otomatik olarak a a daki kullan c lar haricindekileri kilitler ve parolalar n n
süresini doldurur:
SYS
SYSTEM
DBSNMP
SYSMAN
Oracle özel veritaban olu turma betiklerini destekler. Ço u uygulama kendi veritabanlar n n
belirli ve otomatik bir olu turma beti i ile olu mas n bekler. Veritaban bu yolla
olu turulursa varsay lan kullan c lar kilitlenmez.

Standart Parola Güvenlik özellikleri geli tirme


Oracle parola yönetimi kulan c profilleri ile geli tirilir. Profiller bir çok standart güvenlik
özellikleri içerir:
Hesap Kilitleme: Kullan c sisteme belirlenen say kadar yanl giri yaparsa hesab kilitlenir.
Parola Ya lanma: Parolan n bir ya am süresinin olmas n sa lar. Ya am süresi doldu unda
de i tirilmesi gerekmektedir.
Parola geçmi i: Yeni parolan n belirlenen say kadar önceki parolalar kullanamamay sa lar.
Parola karma kl do rulama: Kötü niyetli ele geçirme sald r lar na kar l k parola üzerinde
karma kl k kontrolü yapar ve baz kurallara göre karma kl n do rular veya reddeder. Bir
kullan c olu turuldu unda otomatik varsay lan olarak DEFAULT profili atan r.

Parola hesab n n kilitlenmesi


Oracle veritaban sunucusu FAILED_LOGIN_ATTEMPTS say s kadar yanl girildi i
takdirde hesab n otomatik olarak kilitler.
Hesap ya PASSWORD_LOCK_TIME parametresi ile belirlenen zaman kadar sonra otomatik
olarak aç l r veya veritaban yöneticisi ALTER USER komutuyla açmal d r.
Veritaban hesab ALTER USER komutuyla veya EM kullan larak kilitlenebilir. Bu durumda
hesap PASSWORD_LOCK_TIME zaman sonra otomatik olarak aç lmayacakt r. DBA manual
olarak açmal d r.
SQL> ALTER USER hr ACCOUNT LOCK;
User altered.
SQL> CONNECT hr/hr
ERROR: ORA-28000: the account is locked
Warning: You are no longer connected to ORACLE.
SQL> CONNECT / as sysdba
Connected.
SQL> ALTER USER hr ACCOUNT UNLOCK;
User altered.
Parola ya lanma ve süresi dolma
Veritaban yöneticisi PASSWORD_GRACE_TIME ile belirtilen, parolan n süresi dolduktan
sonraki ilk ba ar l oturum açmada ba layan ve parolan n de i tirilmesine kadar geçebilecek
maximum gün say s n temsil eden süreyi belirleyebilir. Kullan c oturum açmaya çal t
her defas nda uyar al r ve belirtilen zamana kadar parolas n de i tirmez ise
PASSWORD_GRACE_TIME zaman sonra hesab kilitlenir.
Not: E er hesap bir uygulama hesab ise (SQL*Plus ile eri emez ise), uygulama parola süresi
dolmadan de i tirme aktif edebilir. DBA lerin ço u uygulama kullan c hesab için ayr profil
atan r. Bir kullan c hesab n n manual olarak da süresi doldurulabilir.
SQL> ALTER USER hr PASSWORD EXPIRE;
User altered.
SQL> CONNECT hr/hr
ERROR: ORA-28001: the password has expired
Changing password for hr
New password: ********
Retype new password: ********
Password changed
Parola Geçmi i
Parola geçmi i, parolan n belirlenen süre kadar ayn parolan n tekrar kullan lmas n önler.
Bu kontrol u parametre ile yap labilir:
PASSWORD_REUSE_TIME: Bu parametre ile verilen gün kadar parola tekrar kullan lamaz.
PASSWORD_REUSE_MAX: Mevcut parolan n tekrar kullan labilmesi için parolan n kaç defa
de i tirilmesi gerekti idir.
Bu iki parametre kar l kl birbirine özeldir, dolay s yla bir parametreye de er atanm ise
di erine UNLIMITED atanmal d r.
Parola do rulama
Bir kullan c ya yeni bir parola atanmadan, PL/SQL fonksiyonlar parolan n geçerli olup
olmad n do rular. Oracle varsay lan olarak bir parola do rulama beti i sunar:
$ORACLE_HOME/rdbms/admin/utlpwdmg.sql veya veritaban yöneticisi kendi özel
ihtiyaçlar na cevap verebilecek bir PL/SQL fonksiyonu yazabilir.
Bunlara ek olarak, özel parola do rulama fonksiyonlar giri de i kenlerini u ekilde
belirterek kullan labilir:
function_name(userid_parameter IN VARCHAR2,
password_parameter IN VARCHAR2,
old_password_parameter IN VARCHAR2)
RETURN BOOLEAN
E er parola fonksiyonu bir hata ç kar r veya geçersiz olursa, bir hata mesaj al n r ve ALTER
USER veya CREATE USER komutlar sonland r l r.
Parola do rulama fonksiyonu: VERIFY_FUNCTION
Oracle VERIFY_FUNCTION ad nda bir karma kl k fonksiyonu sunar. Bu fonksiyon
$ORACLE_HOME/rdbms/admin/utlpwdmg.sql beti i ile olu turulabilir. Parola
do rulama fonksiyonu SYS emas n n içinde olu turulmu olmal d r. utlpwdmg beti i
VERIFY_FUNCTION olu turmas na ek olarak DEFAULT profili ALTER PROFILE
komutuyla de i tirmeye de yarar.
ALTER PROFILE default LIMIT
PASSWORD_LIFE_TIME 60
PASSWORD_GRACE_TIME 10
PASSWORD_REUSE_TIME 1800
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 1/1440
PASSWORD_VERIFY_FUNCTION verify_function;
Parola profili olu turma
Parola profili olu turmak için, Enterprise Manager Administration Profiles Create
butonuna t klan r.
Her bir ayar için listeden genel de erler seçilebilir veya özel de erler girilebilir. Bütün zaman
periyodlar gün olarak ifade edilmi tir. Ama kesirle de ifade edilebilir. Bir günde 1440 dakika
vard r.
Enterprise Manager varolan parola profillerini edit etmek için de kullan l r.
Parola profilini silme
E er siz bir profili silerseniz, bu profilin atanm oldu u bütün kullan c lara default profili
atan r.

Kullan c lar parola profiline atama


Bir kullan c y bir parola profiline atama:
1. Enterprise Manager Administration
2. Kullan c seçilir. Ve düzenle seçilir.
3. Profil seçilir ve uygulan r.
Unutmay n bir kullan c ayn anda sadece bir profile sahip olabilir. Profili de i tirdi inizde
kullan c oturum açm ise de i iklik bir sonraki oturum aç l na kadar aktif olmayacakt r.
Ayn zamanda kullan c lar n hesaplar n n aktif veya pasif yap lmas Edit User bölümünden
yap labilir.
üpheli aktiviteleri izleme
Oracle veritaban 10g 3 farkl izleme yöntemi sunar. Yönetici veritaban ndaki bütün
hareketleri izler. Veritaban nda yap lan bütün i leri izlemek ve bu bilgileri depolamak çok yer
ve sistemin i ini art racakt r.
Bu nedenle izleme sadece ilgilenen olaylar üzerine yo unla mal . Do ru olaya odaklanarak
izleme sistem performans nda minimum etkiye sahiptir. Yanl ve çok olaya konumlanmak
sistem performans n kötü yönde etkiler.
Standard database auditing , olay n ne zaman oldu unu, hangi kullan c n n olaya sepep
oldu unu ve hangi istemci makinen n olaya sebep oldu u bilgilerini de tutar.
Value-based auditing kullanarak (inserts, updates, deletes) verideki de i iklikleri
izleyebilirsiniz. Value-based izleme standart veritaban izlemeyi geni letir. Sadece olay
izlemez, gerçek verileri izler. Value-based izleme veritaban tetikleyicileri ile gerçekle tirilir.
SQL ifadelerini izlemek için ise Fine-Grained Auditing (FGA) kullan l r. FGA standart
veritaban izlemeyi geni letir. zlemeye sebep olan olay hangi SQL ifadesinin yapt n
ortaya ç kar r.

Standard Database Auditing


Veritaban n izlemeyi kullanacaksan z öncelikle dinamik olmayan AUDIT_TRAIL
parametresini izleme kay tlar n gösterecek ekilde ayarlamal s n z. Bu parametre için normal
ayar DB: izleme kay tlar n n DBA_AUDIT_TRAIL tablosunda tutulmas n sa lar.
Veritaban izleme oturum hakk nda bilgi yakalar, sistem yetkisiyle yap lan i leri, nesne
yetkisiyle yap lan i leri yakalar.
zleme bilgisi ancak odaklanma do ru oldu unda i e yarar. A a daki komut gereksizdir
çünkü iyi odaklanmam t r. Herhangi tabloda ne oluyorsa her eyi yakalar:
SQL> AUDIT TABLE;
Audit succeeded.
Biraz daha daralt lm u sorgu daha iyi bir örnektir:
SQL> AUDIT DELETE ON hr.employees WHENEVER SUCCESSFUL;
Audit succeeded.
zleme Özelliklerini belirleme
SQL ifadelerini izleme : Slayttaki 1. ifade CREATE TABLE, DROP TABLE, TRUNCATE
TABLE gibi herhangi bir DDL ifadesini izleyecektir. SQL ifadeleri izleme kullan c n n do ru
veya yanl giri lerinde olmak üzere daralt labilir.
SQL> AUDIT TABLE BY hr WHENEVER NOT SUCCESSFUL;

Sistem yetkisinin izlenmesi DROP ANY TABLE gibi herhangi bir sistem yetkisinin yapt
i leri izlemek için kullan l r. Yine kullan c ad veya ba ar l /ba ar s z oturum açmaya
odaklan labilir. Varsay lan olarak, izleme zaman her bir sistem yetkisinin yapt i izleme
kayd olarak eklenir. ki tür kay t ekleme yöntemi vard r.
- BY SESSION : Bir oturumda kullan c n n toplamda kaç kay t üzerinde i lem
yap ld kaydedilir. (Mesela kullan c kendisine ait olmayan bir tablo üzerinde
100,000 kay t güncellemi se sadece bu eklenir.)
- BY ACCESS : Varsay lan olarak bu özellik gelir. Bundan ziyade BY LIMIT i
kullanmak sistem yetkilerini izlemenin, sistem üzerindeki performans ve depolama
aln n azaltmas n en aza indirecektir.
Nesne yetkisi izleme, tablolar, görünümler, yordamlar, sequences, dizinler ve kullan c tan ml
veri tipleri üzerinde yap lan i leri izlemek için kullan l r. Bu tip izleme de yine
ba ar l /ba ar s z diye odaklanabilir ve SESSION veya ACCESS diye gruplanabilir.
Varsay lan olarak BY SESSION seçene i aktiftir. Bunun yerine izlenen nesne üzerinde
yap lan her i lemin kayd n tutmak istiyorum derseniz BY ACCESS seçene ini aktif
etmelisiniz.
AUDIT SESSION özelli i, kullan c oturumlar n n olu umunu izler. Bu izleme de yine
kullan c ad veya ba ar l /ba ar s z diye odaklanabilir. Bu özellik e sizdir. Çünkü her bir
oturum olu turuldu unda ve bir instance a ba land nda bir izleme kayd olu turur. zleme
kayd izleme tablosuna ba lanma zaman nda eklenir ve ba lant n n kesilmesi zaman
güncellenir. Oturum ile ilgili, ba lant zaman , ba lant s n kesme zaman , mant ksal ve
fiziksel G/Ç i lemleri, gibi toplu bilgiler tekbir kay t olarak eklenir. Ço u veritabanlar nda
genelde AUDIT SESSION komutu kullan l r. Hemen hemen bütün veritabanlar nda AUDIT
SESSION WHENEVER NOT SUCCESSFUL kullan lmal çünkü bu komut veritaban n za
olas sald r lar tespit etmenize yarar.
Not: Genelde izleme özelliklerini odaklanm de ildir. Çünkü ilk ba ta neyi izleyece inizi
bilemezsiniz. AUDIT ALL komutu çok geni bir aral izlemenize yarayan genel bir
ifadedir. E er nesne yetkisi izleme ile birlikte kullan ld nda:
E er AUDIT ALL özelli i kullan c ad ile kullan lm ise:
SQL> AUDIT ALL BY hr;
Bu kullan c n n bütün nesneler için kulland DDL ifadeleri izlenir.
zleme özelliklerini görme
Hangi izleme özelli ini seçti inizi görmek için slayttaki listeyi kullanmal s n z.
DBA_STMT_AUDIT_OPTS ve DBA_PRIV_AUDIT_OPTS sadece ifadelerin ve yetki izleme
kay tlar n tutar. DBA_OBJ_AUDIT_OPTS her bir izlenebilir nesne için bir kay t içerir.
Görünüm her bir izlenebilir nesne için kolonlar gösterir. Örne in, INSERT izleme özellikleri
INS kolonunda gösterilir. zleme özellikleri SUCCESSFUL/NOT SUCCESSFUL olarak 3
mümkün de er ile belirtilir:
- zlenmiyor
S Oturum ba na izleme kay tlar toplan r.
A Her eri im ba na izleme kay tlar toplan r.

SQL> SELECT object_name, object_type, ins, upd


FROM dba_obj_audit_opts WHERE object_name = 'EMPLOYEES
OBJECT_NAME OBJECT_TY INS UPD
------------ --------- --- ---
EMPLOYEES TABLE A/S -/-

Standard Database Auditing


Veritaban yöneticisi veritaban izlemeyi aktif ettikten sonra ve izleme özelliklerini
belirledikten sonra veritaban izleme bilgilerini toplamaya ba lar. E er AUDIT_TRAIL
parametresi OS olarak seçilirse, izleme kay tlar i letim sisteminin izleme dosyalar nda
tutulacakt r. Windows ortam nda ise, bu olay kay tlar Windows Event Log ta tutulur. UNIX
ve Linux sistemlerde, izleme kay tlar yolu AUDIT_FILE_DEST parametresi ile belirtilen
dosyada tutulur. AUDIT_TRAIL parametresinin DB seçildi ini varsayarsak izleme kay tlar
SYS emas nda bir tabloda tutulur.
zleme kay tlar ile ilgilenmek önemli bir yönetim i idir. zleme özelliklerine ba l olarak
kay tlar çok h zl ve geni ce büyüyebilir. E er do ru özellikler ve odaklanma seçilmez ise
izleme kay tlar çok fazla sistem depolama alan ve performans harcayacakt r.
zleme sonuçlar n görme
zleme kay tlar na eri im kontrol alt na al nmal çünkü önemli bilgiler içerebilir.
Access to audit records should be tightly controlled because they may contain sensitive
information. Genelde izleme kay tlar n yönetme i i veritaban yöneticisi taraf ndan yönetilir.
E er gerekirse gerekli kullan c ya DELETE_CATALOG_ROLE yetkisi vererek izleme
kay tlar üzerinde i lem yapmas na izin verebilir.

Value-Based Auditing
Database auditing kay tlar , izlenen nesne üzerinde ekleme, güncelleme, silme gibi i lemleri
içerir, ama üzerinde de i iklik yap lan gerçek veriyi içermez. Value-based izleme database
auditingi geni letir ve de i tirilen gerçek verileri içerir. Value-based auditing veritaban
tetikleyicileri ile tetiklenir.
Bir kullan c ne zaman ki bir tabloya ekleme, silme, güncelleme yapar, tetikleyici izlemeyi
tetikler kullan c bu i lemleri yaparken arka planda bütün yap lanlar izlenir ve gerekli yere
yaz l r.
Value-based auditing Standard database auditing e göre sistem kaynaklar n daha az tüketir ve
performansa daha az etki eder. Çünkü sadece ekleme, silme ve güncelleme de çal r. Bu
azalma tetikleyicinin kodunun ne kadar verimli oldu una ba l d r. Value-based auditing
sadece Standard database auditing ile elde edilen bilgiler yetersiz kald nda kullan lmal d r.
Value-based auditing te anahtar tetikleyicilerdir. Örnek bir izleme tetikleyicisi:
CREATE OR REPLACE TRIGGER system.hrsalary_audit
AFTER UPDATE OF salary
ON hr.employees
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF :old.salary != :new.salary THEN
INSERT INTO system.audit_employees
VALUES (sys_context('userenv','os_user'), sysdate,
sys_context('userenv','ip_address'),
:new.employee_id ||' salary changed from '||:old.salary||
' to '||:new.salary);
END IF;
END;
/
Bu tetikleyici hr.employees tablosunun de i tirilen salary alan n izlemeye
odaklanm t r. Bir sat r güncellendi inde tetikleyici salary kolonunu kontrol eder. E er eski
salary alan yeni salary alan na e it de ilse bir izleme kayd audit_employees tablosuna
eklenir. Bir izleme kayd , kullan c ad , de i kli in yap ld IP adresi, hangi sat r n
de i tirildi i, ve gerçek salary de erini içerir.

Fine-Grained Auditing (FGA)


Fine grained auditing (FGA) verilerin de i mesine sebep olan SQL ifadesini yakalar. FGA
Standard database ve value-based auditing e göre daha dar bir alana odaklanabilir. FGA audit
tablo veya görünüm içindeki kolonlara bile odaklanabilir. Yönetici taraf ndan tan mlanm
özel bir belirtimle kar la ld nda izleme yap l r. FGA veritaban tetikleyicisine gerek
duymaz ve di er yöntemlere göre daha az performans tüketir.
Yönetici tablo veya görünüm üzerinde izleme kural olu turmak için DBMS_FGA PL/SQL
paketini kullan rlar. E er sorgu sonucu izlenen kolonla kar la l rsa izleme ba lar ve ilgili
kay tlar izleme tablosuna yaz l r. Bir SELECT sorgusu binlerce sat r olu turmas na ra men
onunla ilgili sadece 1 sat r izleme kayd olu turulur.
FGA Kural
Slayttaki örnek DBMS_FGA.ADD_POLICY prosedürü ile olu turulan bir FGA kural n
göstermektedir. Prosedürü a a daki argümanlar içerir:
Policy Name
FGA kural n olu turdu unuzda ona bir isim vermek zorundas n z. Örnekteki kural n ismi
AUDIT_EMPS_SALARY, ve öyle kullan l r:
policy_name => 'audit_emps_salary'
Audit Condition
Bir SQL ifadesidir, ve izlemenin ne zaman ba layaca n belirtir. Örnekte sales
bölümündeki a a daki artla izleme yap l r:
audit_condition => 'department_id = 10'
Statement Type
Ne tür ifadeler izlenecek? SELECT, INSERT,UPDATE,DELETE.

FGA Policy (continued)


Audit Column
zlenecek veriyi tutan kolon ismidir. Bu kolon e er bir SELECT ifadesi içinde kullan l rsa
izleme ba lat l r. Örnekteki izleme SALARY kolonu üzerindedir ve u ekilde tan malan r:
audit_column => 'salary'
Bu argüman seçeneklidir. E er belirtilmemi se, izlemenin olup olmayaca n sadece
AUDIT_CONDITION argüman belirtir.
Object
zlenen nesne tablo veya görünüm olabilir. ki argüman ile birlikte kullan l r:
Nesneyi içeren ema
Nesnenin ismi
Örnekte hr emas n n employees tablosu izlenmektedir:
object_schema => 'hr'
object_name => 'employees'
Handler
Örne in bir PL/SQL prosedürü olabilir, izleme s ras nda yap lacak i leri tan mlar. Mesela,
olay yöneticisi izleme s ras nda yöneticiye uyar gönderebilir. E er tan mlanmam sa kay tlar
sadece ilgili yere yaz l r. E er tan mlanm sa, izleme kay tlar ilgili yere yaz l rken olay
yöneticisi çal t r l r.
zleme kayd FGA kural n , çal t r lan SQL ifadesini içerir.
Olay yöneticisi iki argüman ile belirtilir:
PL/SQL kodlar n içeren ema
PL/SQL kodlar n n ad
Slayttaki örnek SECURE.LOG_EMPS_SALARY prosedürü u iki parametre ile çal t r r:
handler_schema => 'secure'
handler_module => 'log_emps_salary'
Status
FGA kural n n durumunu gösterir(enabled/disabled). u parametre ile durumu de i tirilebilir.
enable => TRUE

DBMS_FGA Package
DBMS_FGA paketi fine-grained izleme fonksiyonlar için yönetim arac d r. DBMS_FGA
üzerine çal t rma yetkisi gerekmektedir. Ve sadece yöneticiye verilmelidir. Çünkü önemli ve
gizli bilgiler içerebilir.

FGA kural n aktif/pasif etme


FGA kural n pasif etme demek kural n izleme kayd üretmemesi demektir. Yani izlememesi
demektir. Tekrar aktif ederek izlemeyi ba latabilirsiniz. Varsay lan olarak olu turuldu unda
aktif gelir. Örnek kural n nas l aktif/pasif edilece ini anlatmaktad r. Her iki prosedür için de
bütün argümanlar gerekmektedir.

FGA kural n silme


Bir FGA kural na daha fazla ihtiya duymuyorsan z DBMS_FGA.DROP_POLICY ile
silebilirsiniz. Bütün argümanlar gereklidir.
Triggering Audit Events ( zlemeyi tetikleme)
Genelde, fine-grained izleme kullan c lar n yazd klar SQL ifadelerindeki kolonlar
izlemektedir. SQL ifadesi parse edilirken FGA kural nda tan ml bir ifade ile kar la ld nda
SQL izlenmeye ba lar. Ve varsa olay yöneticisi tetiklenir.
zleme fonksiyonu bir otomatik transaction gibi çal t r l r. zlenen nesne üzerinden nekadar
veri sorgularsa sorgulas n veya nekadar veri de i tirirse de i tirsin her bir sorgu için bir kay t
üretilir.
Örnek
Slayttaki iki örnek izlemeye sebep ol r. Çünkü department_id = 10 bölümündeki
salary alan sorgulanm t r.
kinci sorguda salary alan na eri ti inden izlenir.
Üçüncü örnek salary alan içermedi i için izlenmeye sebep olmaz.
Data Dictionary Views
FGA girdileri ve yetki izleme kay tlar farkl tablolara yaz lm lard r. Girdiler
DBA_FGA_AUDIT_TRAIL görünümünde saklan r. Di er 3 görünüm kural tan mlamalar n
içerir.

DBA_FGA_AUDIT_TRAIL
Ad Tan mlamas
TIMESTAMP Çal ma tarihi ve zaman
DB_USER Kullan c n n çal t rd kullan c ad
OS_USER Kullan c n n çal t i letim sistemi ismi
OBJECT_SCHEMA zlenen nesnenin sahibi
OBJECT_NAME zlenen nesnenin ismi
POLICY_NAME zlemeye sebep olan kural n ismi
SCN The SCN of the transaction
SQL_TEXT zlemeye sebep olan SQL ifadesi
SQL_BIND The bind variable of the audit event, formatted as: #n(s):v:
where n is the number of the bind variable in the statement
s is the bind variable length, v is the bind variable value
COMMENT$TEXT Yorum

Not: Bu liste dba_fga_audit_trail tablosunun bir parças .


DBA_FGA_AUDIT_TRAIL (continued)
FGA zleme tablosundan seçme
A a daki örnek iki izleme kayd n n gösterir.
Örnek
SQL> COL timestamp FORMAT A10
SQL> COL db_user FORMAT A7
SQL> COL policy_name FORMAT A20
SQL> COL sql_bind FORMAT A20
SQL> COL sql_text FORMAT A60
SQL>
SQL> SELECT to_char(timestamp, 'YYMMDDHH24MI')
2 AS timestamp,
3 db_user,
4 policy_name,
5 sql_bind,
6 sql_text
7 FROM dba_fga_audit_trail;

TIMESTAMP DB_USER POLICY_NAME SQL_BIND


---------- ------- -------------------- ------------------
SQL_TEXT
----------------------------------------------------------
0201221740 SYSTEM AUDIT_EMPS_SALARY #1(4):1000
SELECT count(*)
FROM hr.employees
WHERE department_id = 10
AND salary > :b1
0201221741 SYSTEM AUDIT_EMPS_SALARY
SELECT salary
FROM hr.employees

SQL>
FGA Rehberi
Audit Condition
FGA kural olu turulurken bu özellik null yap l rsa bunun anlam bütün ifadelerin
izlenece idir.
Policy Name Error
Veritaban nda kural ismi e siz olmal d r. Sahibi yoktur. E er varolan bir isim veriseniz u
hatay al rs n z:
ORA-28101: policy already exists
Audited Object Errors
Kural olu turdu unuzda tablo veya görünüm var olmal d r. E er yoksa u hatay al rs n z:
ORA-00942: table or view does not exist

Audit Condition Errors


E er izleme özelikleri geçersiz bir sözdizime sahipse, kural bir hata almadan olu turulur ama
nesneye eri ildi inde u hata al n r:
ORA-28112: failed to execute policy function
E er izleme özellikleri geçerli bir sözdizime sahipse ama yanl ise, yanl sat rlar izlenir.
Audit Column Errors
E er izlenecek kolon tablo içnde yoksa, hiçbir sat r izlenmez, çünkü izlenen kolon asla
eri ilmeyecektir.
E er izlenecek kolon ismi do ru sözdizimi ile verilmi fakat yanl ise yanl kolon izlenir.
Event Handler Error
E er kural olmayan veya geçersiz olay yöneticisine referans ediyor ise, kural olu turulur ama
izleme s ras nda hiçbir sat r getirilmez.
SYSDBA ve SYSOPER kullan c lar n izleme
SYSDBA ve SYSOPER kullan c lar n n veritaban ba latma ve durdurma yetkileri vard r.
Çünkü onlar veritaban kapal iken bile i lem yapabilmelidirler. Dolay s yla bu kullan c lar ile
ilgili izleme kay tlar veritaban d nda tutulmal d r. Oracle otomatik olarak bu kullan c lar n
oturum açma i lemlerini izler ama özellikle belirtilmedikçe daha fazlas n yapmaz.
SYSDBA ve SYSOPER kullan c lar n n izlenmesini aktif eden ba lang ç parametresi:
audit_sys_operations=TRUE (varsay lan olarak FALSE)
E er SYS i lemleri izlenirse, audit_file_dest ba lang ç parametresi bununla ilgili
izleme kay tlar n n nerede tutulaca n belirtir. Windows ortam nda, izleme kay tlar
varsay lan olarak Windows Event Log, UNIX veya Linux platformunda ise
$ORACLE_HOME/rdbms/audit de saklan r.

Güvenlik Güncellemeleri
Oracle güvenlik ile ilgili duyurular , düzeltmeleri, ipuçlar n ve bilgileri sitesinde
duyurmaktad r. Oracle Technology Network Web ve OracleMetaLink (MetaLink).
Ama ç kan yama ve güncellemeleri sadece mü terileri indirebilir.
E er sizde bir güvenlik aç görür bulursan z direkt mail atabilirsiniz :
secalert_us@oracle.com.

Practice 11-1 Overview: Database Security (Part 1)


Background
While conducting user training you discover that some users are using very simple passwords,
and suspect that someone may be trying to guess the passwords of privileged users so they
can gain access to sensitive data. Configure your database to prevent the use of simple
passwords and to detect attempts to guess passwords
Tasks
Prevent the use of simple passwords
Force accounts to lock for 10 minutes after four failed login attempts
Exempt the application server login from forced password changes
Audit unsuccessful attempts to connect to the database
1. Prevent the use of simple passwords
a) What profiles exist within the database?
b) Use Enterprise Manager to see what password restrictions are enforced by the default
profile?
c) Using SQL*Plus, connect to the database as sysdba and run the utlpwdmg.sql script
located in $ORACLE_HOME/rdbms/admin
SQL> connect / as sysdba
SQL> @?/rdbms/admin/utlpwdmg.sql
Function created.
Profile altered.
d) Using Enterprise Manager, view the changes made to the default profile by the
utlpwdmg.sql script. Note that:
- Passwords now expire every 60 days.
- If a user doesn t change his or her password within 10 days of expiration, the account will
be locked.
- Passwords may not be reused within 1800 days.
- After a user fails to provide the correct password within three consecutive login attempts
the account will automatically lock for one minute.
2. Edit the default profile so that users who fail to log in correctly four times in a row will
have their accounts locked for 10 minutes.
Practice 11-1 Overview: Database Security (Part 1) (continued)
3. Exempt the HR user from forced password changes.
a) Create a new profile called HRPROFILE using the default profile as a template.
b) Edit the new profile to make password expiration unlimited.
c) Assign user HR to the new profile.
d) If you were to drop the HRPROFILE what would happen to the HR user?
1. Nothing would happen to the HR user. The drop statement would fail
because the HRPROFILE cannot be dropped while a user is assigned to it.
2. The HR user would also be dropped.
3. The HRPROFILE would be dropped and the HR user would be unable to
log in until the administrator assigned a different profile.
4. The HR user would be automatically assigned the DEFAULT profile.
4. Audit unsuccessful attempts to connect to the database
a) Enable collection of audit information. Store the audit information in the database.
b) Begin collecting audit records for users who unsuccessfully attempt to log in.
c) Verify that unsuccessful attempts to connect to the database are captured.
d) Why did you have to restart the instance after changing the AUDIT_TRAIL initialization
parameter?
e) What would have happened if you had left AUDIT_TRAIL at its default setting of NONE?
Practice 11-2: Database Security (Part 2)
Background
You suspect that someone has been viewing and possibly changing employee salary data
without proper permission. Configure your database to detect unauthorized access to salary
data and capture any changes to salary information.
Tasks
Audit select on the SALARY column of the EMPLOYEES table
Audit changes to the SALARY column of the EMPLOYEES table. Capture
old value - new value
which user made the change - what location the change was made from.

1. Audit select on the salary column of the employees table. Because we only want to
capture audit information if someone selects the salary column we must use fine grained
auditing rather than standard database auditing.
Note: - is used to continue a statement on a new line in PL/SQL
a) Use the DBMS_FGA package to add a fine grained audit policy to HR s employees
table. Only capture audit information if someone reads the salary column.
b) Verify that only SELECT statements that include the salary column generate an audit
trail.
2. Audit changes to the salary column of the employees table. Because you want to
capture the old and new values rather than just the fact that a change happened, you must use
value-based auditing rather than standard database auditing. Remember that value-based
auditing is implemented through the use of database triggers.
a) Create a table called AUDIT_EMPLOYEES in the SYSTEM schema to hold information
captured through database auditing. Make the table a standard, heap-organized table with four
columns:
who varchar2(10)
event_date date
ipaddress varchar2(16)
what varchar2(2000)
b) Create a trigger to capture changes to the salary column.
Connect as user system
Run the script $HOME/LABS/hrsalarytrig.sql
SQL> connect system/manager@dba10g
Connected.
SQL> @$HOME/LABS/hrsalarytrig.sql
Trigger Created.
c) Verify that audit information about changes to the salary column are now captured.
Oracle A Servisleri
Oracle a servisleri istemcinin veya orta katman uygulamalar n n Oracle Veritaban sunucusuna
ba lanmas n sa lar. A oturumu kurulduktan sonra, Oracle Net istemci uygulamas yla veritaban
sunucusu aras nda verileri ta yan kurye görevi görür. Oracle Net, istemci uygulams yla veritaban
sunucusu aras nda ba lant y sa lamak ve sürdürmekle görevlidir ayn zamanda ikisi aras ndaki mesajlar
da ta r. Oracle Net veya Oracle Netin görevini taklit eden Java Database Connectivity(JDBC),
veritaban yla konu an her bilgisayarda olmal d r.
stemci makinede, Oracle Net veritaban na eri mek isteyen herhangi bir uygulama taraf ndan eri ilen
arkaplan bile enidir. Kullan c lar asla Oracle Neti görmezler, sadece yugulama kullan r.
Veritaban sunucusunda, Oracle Net listener ad verilen aktif bir process içerir. Oracle Net Listener
veritaban ve d uygulamalar aras ndaki ba lant y ayarlamakla görevlidir. Listener olmadan veritaban na
d ardan ba lanmak mümkün de ildir.

Oracle Net Listener


Oracle Net Listener, tüm yerel olmayan kullan c ba lant lar için Oracle instance na bir yoldur. Tek bir
listener pekçok veritaban instance na ve binlerce istemci ba lant s na hizmet verebilir.
Oracle Net Listener, Database Control veya komut sat r ndan lsnrctl komutu ile kontrol edilir.
Listenerlar, Database Control kullan larak konfigüre edilirler. Sunucu için, Database Control parola
koruma ve log dosyalar n n konumlar gibi genel parametrele aktif listiner n konfigürasyonundan
sorumludur.
Daha ileri seviyedeki yöneticiler Oracle Net servislerini Vi, gedit veya Notepad gibi text editörleri
kullanarak da yönetebilirler.

Listener Görüntülemek
Enterprise Manager ana sayfas ndan Listener linki t klanaral lsitener status page e geçilir.
Bu sayfada:
- Listener versiyonu ve ORACLE_HOME bilgisi
- Listener için ilk dinleyece i adres
- Listener ba latmakda kullan lan konfigürasyon dosyalar n n yeri
- Listener n durumu ve ne zaman ba lat ld
- Listener n cevap zaman (response time): TNS Ping (ms)
- Bir dakikada kabul edilen/rededilen ortalama ba lant say s

Listener Olu turmak


Her listener n en az 1 dinledi i konum bulunmal d r. Detail k sm nda listener n dinleyece i bir konum
yaratmak için Add Address butonuna bas l r. A protokolü seçili, TCP/IP en çok kullan lanve default
oland r. Di er seçenekler veritaban sunucusunda bulunan yerel uygulamalar n ba lant lar için kullan lan
Internal Process Communication(IPC), d kod kütüphaneli için EXTPROC, Named Pipes(NMP) ve SSL
ile TCP/IP dir. Bir isim ve çal aca sunucunya ait IP adresi girilir. Ayr ca listener n dinleyece i port da
belirtilir. Oracle Netin default portu 1521dir. E er 1521 den ba ka bir port seçerseniz listener veya
instance n z için baz ayarlar yapman z gerekir.
Listener için di er tüm konfigürasyon ad mlar seçimliktir. Gerekli olan ayar sadece listener konumunun
ayarlanmas d r. File seçilir ve Network Configuration kaydedilir.
Oracle Net Listener olu turmak için Related Links k sm ndan Net Services Administration seçilir.
Listener özellikleri sayfas gelir:
1 Administer menüsünden listener seçilir ve go butonuna bas l r.

1
2 Create e bas l r.
3 Listener ad girilir. Bu isim sunucu için unique olmal d r.
4 Dinleyece i adres eklenir.

Dinlenen Adresler
Her listener n en az 1 tane dinledi i adres bulunmal d r.
5 A protokolü seçilir. TCP/IP en çok kullan lan ve default olan d r.
6 Listener n çal aca sunucnun ad veya IP adresi girilir, port belirtilir. Deafult port 1521 dir. E er 1521
den ba ka bir port seçerseniz listener veya instance n z için baz ayarlar yapman z gerekir.
7 Listener n çal aca sunucunun ismi veya IP adresi girilir.
8 Listener için di er tüm seçenekler seçimliktir. Adresi kaydetmek için OKe bas n.
9 Yeni listener ba latmak için Actions menüsunden Start/Stop seçilir.

Seçimlik Paramatrelerin Ayarlanmas


Listener için sadece adres gerekse de, seçimlik parametreleri de konfigüre edebiliriz:
- Loglama: Oracle Net ba lant s n n logunu tutmak isteyip istemedi imizi ve nerde tutmak istedi imizi
belirtiriz.
- Tracing: Oracle Net ba lant s hakk nda detayl bilgi tutulmas n isteyip istemedi imizi belirtiyoruz.
E er detayl bilgi tutacaksak ne kadar bilgi toplanmal (Trace Level) ve bu dosyalar nerde saklanmal ?

Static Veritaban Kay tlanma


Bir listener için istemci ba lant s n bir instancea iletmek için listener instance n ad n ve instance n
ORACLE_HOME konumunu bilmelidirler. Listener bu bilgiye 2 yolla ulasabilir:
- Dynamic service registration: Oracle8i, Oracle9i ve Oracle 10g instancelar veritaban ba lad zaman
default listeneri otomatik olarak kaydeder. Default listener için ek bir listener konfigürasyonuna gerek
yoktur.
- Static service registration: Oracle n eski versiyonlar listener ile otomatik olark kay t olmaz ve bu
yüzden listener n servis verece i tüm veritaban servislerinin listeleri listener configuration dosyas nda
bulunmal yd . Hala baz durumlarda static service registration seçilebiliyor.
-Listener default port olan 1521de de ilse ve instance n default olmayan bir portla kay t
olmas n istemiyorsan z.
-Uygulama static service regisration gerektiriyorsa.
Edit Listener sayfas ndan Static Database Registration seçilir ve Add Database butonuna bas l r. Servis
ad (veritaban ismiyle ayn ) ve SID girilir. Oke bas l r. Listener tekrar ba lat larak de i iklikler geçerlilik
kazan r.

Listener Kontrol
Listner control utility ile listener kontrol edersiniz. lsnrctl ile:
- Listener ba lat l r.
- Listener durdurulur.
- Listener n durumu kontrol edilir.
- Listener servislerinin durumu kontrol edilir.
- Konfigürasyon dosyas parametreleri sayesinde listener tekrar ilklenir.
- Pek çok listener dinamik olarak konfigüre edilir.
- Listener parolas de i tirilir

2
Temel komut sözdizimi:
LSNRCTL> komut [listener ad ]
Lsnrctl komutu i lendi inde listener ad belirtilmezse default listener kabul edilir.

Listener Kontrol Sözdizimi


Komut sat r kullan larak lsnrctl komutu çal t r l r. A a daki iki komut ayn etkiyi gösterir. lk olarak
komut sat r sözdizimi:
# lsnrctl start
Prompt sözdizimi ise:
#lsnrctl
LSNRCTL> start
Genellikle komut sözdizimi tekbir komutu çal t rmak için uygundur. Pekçok ard k lsnrctl komutunu
kullanmak için promt sözdizimi daha uygundur. Listener_name in gözard edildi ine dikkat edelim,
komut LITENER ad ndaki listener etkileyecektir. Promt sözdizimi e er listener n z parola ile
korunuyorsa kullan lmal d r.
E er listener n z n ad LISTENERdan farkl ysa listener ad n komutla beraber kullanmal s n z yada SET
CURRENT_LISTENER komutu kullan lmal d r.
Listener nn z n ad n n BACKUL oldu unu varsayal m:
LSNRCTL> stop backup
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully
A a daki uygulamalar ayn yukar daki sonucu verir:
LSNRCTL> set cur backup
Current Listener is backup
LSNRCTL> stop
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully
Not: Üstteki sözdiziminde current_listener cur eklinde k salt lm t r.
Komut sat r sözdizimi ile de bu i lemleri yapabilirsiniz:
/home/oracle> lsnrctl stop backup
LSNRCTL for Linux:Version 10.1.0.1.0 on 05-NOV-2003 15:19:33
Copyright (c) 1991, 2003, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))
The command completed successfully

Listener Kontrol ile Görüntülemek


Lsnrctl servis komutu statik veya dinamik olmas na bakmaks z n her Oracle Net Service in durumunu
yönetebilir. Ç kt lar:
- Servisin ad n
- Servisin durumunu(statik servislerin durumu UNKNOWN olarak gözükürler)
- Sa lanan ba lant say s n veya dediceted ve shared için kabul edilmeyen ba lant lar.
Listener kontrol durum komut listener hakk nda detayl bilgi döndürür ve listener n bulundurdu u tüm
servisler hakk nda bilgi getirir.

LSNRCTL> SET PASSWORD


Password:
The command completed successfully

3
LSNRCTL> STATUS
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.1.0.1.0 - Beta
Start Date 05-NOV-2003 15:48:08
Uptime 0 days 16 hr. 40 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/product/ora10g/network/admin/listener.ora
Listener Log File /oracle/product/ora10g/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel)(PORT=1521)))
Services Summary...
Service "dba10g" has 2 instance(s).
Instance "dba10g", status READY, has 1 handler(s) for this service...
Instance "dba10g", status UNKNOWN, has 1 handler(s) for this service...
Service "rhel" has 1 instance(s).
Instance "dba10g", status READY, has 1 handler(s) for this service...
The command completed successfully

The command completed successfully


LSNRCTL> STATUS
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.1.0.1.0 - Beta
Start Date 05-NOV-2003 15:48:08
Uptime 0 days 16 hr. 40 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/product/ora10g/network/admin/listener.ora
Listener Log File /oracle/product/ora10g/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel)(PORT=1521)))
Services Summary...
Service "dba10g" has 2 instance(s).
Instance "dba10g", status READY, has 1 handler(s) for this service...
Instance "dba10g", status UNKNOWN, has 1 handler(s) for this service...
Service "rhel" has 1 instance(s).
Instance "dba10g", status READY, has 1 handler(s) for this service...
The command completed successfully
Durum bilgisinin içerdikleri:
- Listener ad ve versiyonu
- Listener n ne zaman ba alt ld ve ne kadard r çal t
- Konfigürasyon ve log dosyalar m n yerleri
- Trace seviyesi ve güvenlik durumu
- Host, prot ve protokol serivslerini içeren listener adres bilgisi

4
- Listenerda bulunan her servis için özet bilgi. Statically registered serviceler iBa lant zaman çin
durum bilgisi UNKNOWNdur.

Oracle Net Ba lant lar


Bir uygulaman n Oracle Net listener üzerinden bir servise ba lanabilmesi için uygulama servise
hakk ndaki bilgiye sahip olmal d r. Bu bilginin içinde listener n bulundu u adres, listener n kabul etti i
protkol ve listener n dinledi i port bulunmal d r. Listener yerle tikten sonra, uygulaman n bilmesi gereken
hangi service ba lanaca n n ismidir.
Bu ba lant bilgilerinin tan mlanmas i lemi Names Resolution olarak adland r l r.

sim Çözümleme (Names Resolution)


Easy Connect, local naming ve directory naming daha sonra anlat lacakt r.
External naming, Network Information Services (NIS), Distributed Computing Environment (DCE) veya
Cell Directory Services (CDS) gibi üçüncü k s m isimlendirme servislerini kullanmakt r. Externel naming
dizin isimlendirmeye benzer.

Kolay Ba lanma(Easy Connect)


Easy connect ile kullan c Oracle Net ba lant s na gereken bilgiler bir ba lant stringi olarak sa lar.
<username>/<password>@<hostname>:<listener port>/<service name>
Listener portu ve servis ad seçimliktir. E er listener portu sa lanmazsa Oracle net default olarak 1521in
kullanaca n varsayar. E er servis ad sa lanmazsa Oracle Net ba lant stringinde bulunan veritaban
servisi ve host ad n n ayn oldu unu varsayar.
Listner n TCP/IP protokolü kulland n , 1521 portunu dinledi ini ve instance parametrelerinin
SERVICE_NAMES=db, DB_DOMAIN=us.oracle.com oldu unu varsayarsak ba lant stringimiz:
SQL> connect hr/hr@db.us.oracle.com
Not: SERVICE_NAMES ilkleme parametresi virgülle ayr larak pekçok de er içerebilir.

Yerel simlendirme(Local Naming)


Yerel isimlendirme ile kullan c Oracle Net servisi için bir alias(takma isim) sa lan r. Oracle Net bilinen
servislerin yerel listesini aliasa kar l k kontrol eder, e er uyan bir de er bulursa alias host,protokol,port
ve servis ad na dönü türür.
Yerel isimlendirmenin bir avantaj kullan c lar n kolay ba lant da hat rlamalar geren uzun stringler
yerine k sa aliaslar kullan lmas d r.
Bilinen servislerin listesi text bir dosyada saklan r.
$ORACLE_HOME/network/admin/tnsnames.ora
Yerel isimlendirme Oracle Net servis ba lant lar n n çok s k de i medi i kurumlar için uygundur.

Dizin simlendirme(Directory Naming)


Dizin isimlendirme ile kullan c lar Oracle Net servisi için alias sa larlar. Oracle Net bilinen servislerin
d (harici) listesini aliasa kar l k kontrol eder, e er uyan bir de er bulursa alias host,protokol,port ve
servis ad na dönü türür.
Yerel isimlendirme gibi kullan c lar kolay ba lant da hat rlamalar geren uzun stringler yerine k sa aliaslar
kullan rlar.
Dizin isimlendirmenin ba ka bir avantaj da yeni bir servis ad LDAP dizinine eklendi inde servis ad
hemen kullan c lar n eri imine aç l r. Yerel isimlendirme ile DBA öncelikle kullan c lar yeni ve de i mi
servislere ba lanmak için bu de i iklikleri içeren tnsnames.ora dosyas da t lmal d r.
Dizin isimlendirme, Oracle Net servislerinin konfigürasyonu çok s k de i en kurumlar için uygundur.

5
Servis Aliaslar n n Ayarlanmas
Yerel Oracle Net servis aliaslar n n olu turulmas için Administor aç l r listesinden Local Naming seçilir,
Go ve arkas ndan da Create e bas l r.
Directory Naming içinse ayn listeden Directory Naming seçene i seçilir.
Not: E er dizin isimlendirme önceden yap lm sa, Directory Naming seçene ini seçemezsiniz.
Create Net Service Name sayfas nda Net Service Name sahas na unique bir isim girin. Veritab n z n servis
ad ve SIDsini girin ve servis ad n eklemek için Add butonuna bas n.
Adresler için protokol,port ve listener taraf ndan ba lan lmak istenen servisin hostu girilir.

leri Ba lant Seçenekleri


leri ba lant seçeneklrei ile listener n bozulmas ve yük dengesi konular nda Oracle Net avantaj sa lar.
connect-time failover sa land nda, alias iki veya daha fazla listener adresine sahip olur. E er ilk adres
eri ilmezse ikincisi denenir. Oracle Net s ras yla adresleri denemeye devam eder ta ki çal an bir listener
bulana veya tüm adresler denenip ba ar s z olana kadar.
Load balancing ile Oracle Net adres listesinden rastgele adres seçilir. Real Application Clusterlarda ayn
veritaban ndaki farkl instancelar aras nda i yükünün dengelenmesini sa lar.
Source routing, Oracle Connection Manager ile kullan l r. Oracle Connection Manager, Oracle Net trafi i
için proxy sunucu olarak hizmet verir ve Oracle Net trafi inin firewalldan güvenli bir biçimde
yönlendirilmesini sa lar.
Ba lant zaman hatas ve yük dengeleme için 5 seçenek oldu una dikkat ediniz:

Seçenekler leri levsellik


Her adresi s rayla biriyle ba lanana kadar dene Failover
Her adresi rasgele biriyle ba lanana kadar dene Failover
Yük Dengeleme
Rasgele seçilmi bir adresi dene Yük Dengeleme
Kaynak Yönlendirme
Sadece ilk adresi kullan -

Oracle Net Manager


Enterprise Manager Database Control, Oracle Net in sunucu taraf n konfgüre eder. stemci veya orta
katman konfigürasyonlar na yard m etmez. Oracle Net Manager, Oracle Net ba lant lar n n istemci
taraf n konfigüre etmekte kullan lan grafiksel bir araçt r.
- Oracle Net servis isimleri
- Oracle Net profilleri
o Güvenlik
o Troubleshooting
o sim çözümleme metodlar içerir.
Oracle Net Manager, Oracle Net listenerlar n olu turulmas ve ayarlanmas için de kullan labilir. Ayr ca
Lightweight Directory Access Protocol(LDAP) servi ismi çözümlemesini de ayarlar.
Oracle Net Manager ba latmak için komut sat r ndan netmgr yaz l r. Oracle Net Manager aç ld nda
sol tarafta izleme a ac görülür, sa tarafta ise ayr nt penceresi bulunur.

6
simlendirme Metotlar n n Seçimi
Default isim çözümleme metotlar yerel isimlendirme(TNSNAMES), easy connect(EZCONNECT) ve
host namingdir.
Oracle Net önce yerel isim çözümleme dosyas na bakar, Easy Connect kullanmaya çal r, directory
sunucusunu kontrol eder ve en son olarak host naming dener. E er directory namingin Easy Connectten
önce olmas n istiyorsak LDAPyi seçmeli ve Promote butonuna basmal y z.

Servis Aliaslar n Net Manager ile Ayarlamak


Local naming veya directory naming komunlar na Oracle Net servis aliaslar n eklemek için Oracle Net
Manager kullanabiliriz. Yerel isimlendirme(Local naming) için Local dü ümü geni letilir ve a aç
yap s ndan Services Names seçilir. Edit menusunden Create seçilir. Bu seçimler sonucunda bir
konfigürasyon sihirbaz ç kar. Buradan alias ad n , protokolü, adresi ve portu seçebiliriz ve en son
listener n dinleyece i servis ad n veririz.
Directory naming için servis aliaslar n konfigüre edeceksek Directory dü ümünü geni letip ayn i lemleri
yapmal y z.

Oracle Net Manager Kullanarat leri Ba lant Seçenekleri


Veritaban kontrol gibi Oracle Net Manager da ileri ba lant seçeneklerini seçebilmenizi sa lar.

Seçenekler leri levsellik


Her adresi s rayla biriyle ba lanana kadar dene Failover
Her adresi rasgele biriyle ba lanana kadar dene Failover
Yük Dengeleme
Rasgele seçilmi bir adresi dene Yük Dengeleme
Kaynak Yönlendirme
Sadece ilk adresi kullan -

Oracle Net Ba lant s n Test Etmek


Tnsping TCP/IP ping i leminin Oracledaki kar l olarak dü ünülebilir. H zl bir test sa lar
# tnsping db.us.oracle.com:1521/dba10g
TNS Ping Utility for Linux: Version 10.1.0.1.0 - Production on 06-NOV-20
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
/oracle/prodouct/ora10g/network/admin/sqlnet.ora
Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=dba10g))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.61)(PORT=1521)))
OK (380 msec)

Bu i lemle host ad , port ve protokol de erlendirilir.

7
Oracle Shared Servers
Ba lant Kurmak
Oracle Net isim çözümleme bittikten sonra, ba lant iste i kullan c da veya middle-tier
uygulamadan(kullan c processi) Oracle Net Listener a ula r. Listener CONNECT paketini al r
ve CONNECT paketinin geçerli bir Oracle Net Service ismini isteyip istemedi ini kontrol eder.
E er servis ismi istenmedi inde (TNSPING iste i gibi) Listener ba lant n n do rulu unu
onaylar ve ba ka bir ey yapmaz. E er geçersiz bir sevis ismi istenirse listener kullanc processine
hata mesaj döndürür.

Dedicated Server Process


E er Connect paketi gçerli bir servis ismi içeriyorsa, listener ba lant sa lamak için yeni bir
process üretir. Bu process server process olarak bilinir ve bazen shadow process olarak da
adland r l r. Process olu tuktan sonra, listener process e ba lan r ve kullan c process için adres
bilgisini de içeren baz bilgileri iletir. Bu noktadan sonra listener ba lant da bulunmaz ve tüm
i lemler server process e geçer
Server process, kullan c processine RESEND paketi gönderir.

Kullan c Oturumu
Kullan c RESEND paketini ald ktan sonra, CONNECT paketini tekrar gönderir. Server process
kullan c authentication kontrol eder ve geçerliyse user session yarat l r.
Dedicated Server process: Oturum kurulmas yla, server process sunucu üzerinde kullan c n n
ajan olarak çal maya ba lar. Server processin görevleri:
-Uygulamada bulunan SQL statementlar n parse ve çal t rma
-SQL statementlar n n çal t r lmas için gerekli database buffer cache data bloklar yaratmak
-Disk üzerindeki data filelardan gerekli data bloklar n SGA n n database buffer cache k sm na
okumak
-Tüm sort i lemlerinin yürütülmesi. Server processin PGA(Program Global Area) olarak
adland r lan k sm sort i lemlerinde kullan lmak üzere sort area denen bellek alan bulundurur.
-Uygulaman n i ledi i bilginin sonuçlar n kullan c ya döndürür.
Server processler bitmap ve hash joins gibi i lemler için ayr lm belle e sahiptir. Dedicated
server process taraf ndan kullan lan bellek miktar pekçok initialization parameter ayar na
ba l d r. Otomatik olarak PGA_AGGREGATE_TARGET ve WORKAREA_SIZE_POLICY ile
kontrol edilir.

Kullan c Oturumu: Dedicated Server


Dedicated Server Processi ile server processleri ve kullan c processleri aras nda bire-bir oran
olur. Her server process CPU cycle ve belle i de içeren sistem kaynaklar n tüketir. Bellek ve
CPU kaynaklar n n dedicated server processleri taraf ndan kullan lmas engelleyici ve sistem
ölçeklenirli ini negatif etkileyebilir. E er sisteminiz dedicated server mimarisinin kaynak
isteklerinden negatif etkileniyorsa 2 seçene imiz vard r.
-Sistem kaynaklar n daha fazla bellek ve CPU ekleyerek artt rmak
-Oracle Shared Server mimarisini kullanmak
Kullan c Oturumu:Shared Servers
Shared mimarisindeki her server en az bir(genellikler dah fazla) dispatcher processe sahiptir.
Ba lant iste i geldi inde, listener dedicated server processi yaratmaz. Bunun yerine listener her
servis ismi için çal an dispatcherlar n listesini bulundurur, her dispatcher için ba lant yükü
(üzerinde mevcut ba lant lar) de tutulur.
Ba lant iste i yükü en az olan dispatcher a ba l olarak servis ismine yönlendirilir. Oturumun
devam nda kullan c lar ayn dispatcher a ba lan r.
Dedicated server processden fark , tek bir dispatcher yüzlerce kullan c oturumunu yönetebilir.
Dispatcher kullan c isteklerini ele almazlar Bunun yerine kullan c isteklerinin SGA n n shared
pool k sm ndaki ortak bir kuyru a atarlar.
Shared server processleri dedicated server processlerinin ço u i ini yaparlari iste i kuyruktan
çekerler ve tamamlanana kadar i lerler.
Tek bir kullan c oturumu çoklu shared server processleri taraf ndan i lenen isteklere sahip
olabildi i için, ço unlukla PGA da tutulan bellek yap lar n n ço u shared memory locationda
olmal d r. Sahred server mimarisinde ço u bellek alanlar SGAn n large pool k sm nda tutulur.

Bir ste i lemek


Kullan c shared server mimarisine ba lanmak için veritaban iste i gönderir:
1- User process iste i dispatchera yönlendirir.
2- Dispatcher iste i SGAdaki ortak istek kuyru una koyar.
3- Bir sonraki geçerli(bo ) shared server istek kuyru undan iste i al r ve iste i i ler.
4- Shared server cevab (sonucu) ça r lan dispatcher n response kuyru una koyar. Her
dispatcher n kendine ait response queue vard r.
5- Dispatcher sonucu response queue den al r
6- Dispatcher cevab kullan c ya döndürür.
Kullan c n n ça r s bittikten sonra, shared server process b rak l r ve ba ka bir
kullan c n n iste i yerine getirmek üzere kuyruktan istek al n r.

stek Kuyru u
- Bir request queue tüm dispatcherlar taraf ndan payla l r
- Shared serverlar yeni requestler için request queue ye bakarlar.
- Requestler first-in first-out mant yla çal rlar. Priority yoktur.

SGA ve PGA
System Global Area ve Progran Global Area içerikleri dedicated server veya shared sevre
kullan m na ba l olarak de i ir:
- Text ve parse edilmi tüm SQL sorgular SGAda tutulur.
- Cursor durumu, SQL statement için run-time memory de erlerini içerir. Getirilen
sat rlar gibi
- User-session datalar güvenlik ve kaynak kullan m bilgilerini içerir.
- Stack spacede process için lokal de i kenleri içerir.

Teknik Not
SGA ve PGA daki de i imler kullan c ya effaft r. E er çoklu kullan c destekliyorsa
LARGE_POOL_SIZE in artt r lmas gerekir. Her shared server processi tüm oturumlar n
data spaceine eri melidir, böylece herhangi bir server herhangi bir oturumdan iste i
gerçekle tirebilir. SGA da bulunan space her session n data space i içindir. Bir session n
alabilece i spacei limitlendirebiliriz(PRIVATE_SGA ile)

Oracle Shared Server Konfigürasyonu


Oracle Shared Server konfigure etmek içini instance n initialization parametrelerini
editlemeliyiz. Ço u optional parametreler default olarak seçilir. Ço u sistemde
DISPATCHER parametresi konfigüre edilmelidir.
Databasei yarat rken seçti imize ba l olarak DISPATCHERS parametresi XML
database servis vermek üzere 1 dispatcher ba lat lacak ekilde konfigüre edilebilir.

Dispatcher
DISPATCHERS parametresi her dispatcher için de i ik özellikleri sa lar(enable).
Oracle Database 10g name value syntax destekler.
DISPATCHERS= (PROTOCOL = TCP)(DISPATCHERS=3)
Parametre Tipi String
Parametre S n f Dinamik
Dafault De er Null (hiçbir Dispatcher ba lat lmayacak

Dispatcher n tutabilece i ba lant say s i yo unlu una göre de i sede, en iyi ölçü 1
dispatcher n mevcut veritaban ba lant lar n n %50sini kullanmas d r.
Sadece gerekli dispatcher özelli i PROTOCOL dür. Di erleri seçimliktir.
Attribute Description
PROTOCOL Dispatcher n kullanaca a protakolünü
(PRO or PROT) belirler(genellikle TCP)
DISPATCHERS Ba lat lacak dispatcher say s d r (Default 1)
(DIS or DISP)
SERVICE Distapcher n Listenerla birlikte kay t oldu u Oracle Net
(SER or SERV) Service ad d r. E er verilmezse dispatcher n kay t de eri
SERVICE_NAMESdir.
LISTENER Specifies an alias name for the listeners with which the
(LIS or LIST) PMON process registers dispatcher information. Set the
alias to a name which is resolved through a naming
method.
This attribute need only be specified if the listener is a
local listener that uses a nondefault port (not 1521) and
is not specified with the LOCAL_LISTENER parameter
or the listener is on another node.
SESSIONS The maximum number of network sessions for each
(SES or SESS) dispatcher. The default is operating system specific.
Most operating systems have a default of 16 K.
CONNECTIONS Specifies the maximum number of network connections
(CON or CONN) to allow for each dispatcher. The default is operating
system specific. For example, 1024 is the default for
Sun Solaris and Windows.
Shared-Servers
SHARED_SERVERS elde bulunan minimum server process say s n belirtir. Bu
parametrenin belirlenmesi kritiktir çünkü instance Ortak stek kuyru unu gör ntüler ve
kuyru u kullanacak ba ka shared serverlar ba lat r gerekmedi inde de bunlar bitirir.

Parametre Tipi Integer


Parametre S n f Dinamik
Dafault De er DISPATCHERS Null ise 0, DISPATCHERS a de er atanm sa 1
De er Aral letim sistemine ba l

Max_Shared_Servers
MAX_SHARED_SERVERS e zamanl çal abilecek maksimum server process say s n
gösterir. Bu parametre önemlidir çünkü instance gerekti i zaman shared server process
yarat labilir.
Parametre Tipi Integer
Parametre S n f Dinamik
Dafault De er Yok (Limitsiz)
De er Aral letim sistemine ba l

Circuits
Virtual circuitler veritaban ndan dispatcher ve servera do ru kullan c ba lant lar d r. CIRCUITS
parametresi gelen ve giden network oturumunda bulunan virtual circuits say s n gösterir.
Bu parametreyi shared-server mimarisinde kullan c lar n kurabilece i ba lant say s n
s n rland rmak için set etmeliyiz. Bu parametre bir instance n toplam SGA gereksinimini
etkileyen parametrelerden biridir.
Parametre Tipi Integer
Parametre S n f Dinamik
Dafault De er E er Oracle Shared Server konfigüre edilmi se
CIRCUITS de eri SESSIONS de erine uyar. Aksi halde de er
0d r.

Shared Server Sessions


Bu parametre belirli bir zamanda toplam aç k shared server oturumlar n n say s n kontrol eder.
Bu parametrenin kullan m dedicated kullan c oturumlar için kaynaklar n ayr lmas n sa lar.
Parametre Tipi Integer
Parametre S n f Dinamik
Dafault De er Yok (Limitsiz)

li kili Parametereler
- LARGE_POOL_SIZE large poolun büyüklü ü byte cinsinden belirtilir. Oracle Shared Server
dedicated server durumunda PGA da tutulan oturum bilgilerinin large pollda tutar
- SESSIONS system taraf ndan yarat labilecek maksimum session say s n gösterir.
- PROCESS server side processleri kontrol eder.
- LOCAL_LISTENER listener taraf ndan kullan lan port ve protokol belirtilir. E er listener
TCP/IP 1521. porttan dinlemiyorsa veya birden fazla listener varsa LOCAL_L STENER
konfigüre etmek gerekir.
E er LARGE_POOL_SIZE de erini set etmezseniz, Oracle, Oracle Shared Server kullan c
oturum belle i için shared pollu kullan r. Bu yüzden PL/SQL, SQL ve sahared poolu kullanan
di er servislerin performans etkilersiniz.
Oracle her oturum için shared poolun belirli bir k sm n ay r r.

Shared Server Kurulum nu Do rulamak


Oracle Shared Server kullan rken önce listener ba latmal y z, sonra database ba lamal , böylece
dispatcher listener ile register olabilir. E er listenera restart atarsan z, servislerin kay t olmas
için beklemek gerekir. Kay tlanmay do rulamak için:
$ lsnrctl services
Service "TEST" has 1 instance(s).
Instance "TEST", status READY, has 3 handler(s) for this service.
Handler(s):
"DISPATCHER" established:1 refused:0 curr:0 max:1022 state:ready
D001 <machine: db.us.oracle.com, pid: 8705>
(ADDRESS=(PROTOCOL=tcp)(HOST=db.us.oracle.com)(PORT=35230))
"DISPATCHER" established:1 refused:0 curr:0 max:1022 state:ready
D000 <machine: db.us.oracle.com, pid: 8703>
(ADDRESS=(PROTOCOL=tcp)(HOST=db.us.oracle.com)(PORT=35229))
"DEDICATED" established:0 refused:0

V$CIRCUIT view sorgulanarak her shared server ba lant s için kay t görülür. Ayr ca gelen
ba lant lar için listener n yük dengelemesi yapt da görülebilir.
SQL>select dispatcher, circuit, server, status from v$circuit;

DISPATCH CIRCUIT SERVER STATUS


-------- -------- -------- ----------------
82890064 8257BA64 8288F6A4 NORMAL
8288F9E4 8257BBB0 00 NORMAL
8288FD24 8257BCFC 00 NORMAL

Data Dictionary View


V$CIRCUIT virtual circuitlerin bilgilerini tutar. Her shared server ba lant s V$CIRCUITe giri
yapar.
V$SHARED_SERVER Shared server processler hakk nda bilgi içerir
V$DISPATCHER Dispatcher processler hakk ndaki bilgileri tutar
V$SHARED_SERVER_MON TOR Shared server processlerinin ayarlar n n tutuldu u view
V$QUEUE request ve response queue bilgileri bulunur.
V$SESSION mevcut session için session bilgilerini tutar

Ba lant Tipini Seçmek


Oracle Netin default connection tipi shared serverd r

Ne Zaman Shared Server Kullanmamal y z


Oracle shared server mimarisi process ve bellek kullan m için verimli bir modeldir,fakat her
ba lant için uygun olmayabilir. Ortak request queue ve dispatcher response queue payla m
yüzünden, büyük miktarda verilerle u ra rken shared Serverlar çok verimli çal maya bilirler.
Ço u administration görevleri shared server ba lat s ile yap lamaz.
Bunlar instance n ba lams ve durdurulmas i tablespace veya datafile yarat lmas , index ve tablo
bak m i istatistikerin analizi gibi. Tüm DBA oturumlar nda dedicated server seçilmelidir.

You might also like