GRANT RESOURCE TO ayse; GRANT CONNECT TO ayse;

Slides:



Advertisements
Benzer bir sunumlar
Iletisim Icin : Blog : E - Mail :
Advertisements

T sql-diğer komutlar Metin Akbulut.
4 SQL- Yapısal Sorgulama Dili
VB.net ile SQL SERVER’a bağlanmak
III.Oturum: SQL ile Verileri İşlemek
SQL (Structured Query Language)
VERİ TABANI YÖNETİMİ Ders 10: Oracle Nesneleri
SQL Komutlar 5 Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Transaction.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
SQL ve JavaScript Akademik Bilişim 2003 Adana, Şubat 2003 Fırat Tiryaki.
Bilgisayar Mühendisliği Bölümü
Veritabanı Temel Kavramlar ve
VIEW (BAKIŞ) OLUŞTURMA
Bilgisayar Mühendisliği Bölümü
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
Iletisim Icin : Blog : E - Mail :
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
RAISE RECORD/CURSOR TRIGGER
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
Bilgisayar Mühendisliği Bölümü
Create Directory:  Server’daki bir directory’e alias atamak ve bu alias üzerinden bu directory’e db’deki bir dosyayı yazmak veya dosyayı buradan db’ye.
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
Update UPDATE tablo_ismi SET sutun1=‘deger1’ WHERE sutun=deger.
GÜVENL İ K. Sunucu Seviyesinde Güvenlik Master Veritabanı (Kullanıcının gerekli yetkileri var mı?) Authentication Mod ◦ Windows Authentication Mod  Varsayılan.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
Yeni Veritabanı Oluşturma
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
PRODECURE, TRIGGER, INDEX, BACKUP
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
Veri Tabanı Yönetim Sistemleri 2 Ders 7 Paket ve Tetikleyiciler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Bilgisayar Mühendisliği Bölümü
Örnekler, Rasgele Değer, Login işlemleri ve Yedekleme
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetim Sistemleri 2 Ders 4 Oracle'da VT Nesneleri Yaratma
14.DERS Örnekler, Sorular BUKET DOĞAN.
Veri Kontrol Dili (DCL) DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini değiştirmek için kullanılır. Diğer bir deyişle verilere.
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
SQL (STRUCTURED QUERY LANGUAGE)
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Triggers.
SQL Server - Stored Procedures
Transaction.
Sunum transkripti:

* Bir user’ın kendi şemasında her türlü işlemi yapabilmesi için aşağıdaki haklar yeterlidir: GRANT RESOURCE TO ayse; GRANT CONNECT TO ayse; ALTER USER ayse DEFAULT ROLE ALL; * Create any table ve select hr.countries hakları olan bir role tanımlayıp user’a atayınız ve test ediniz.

User Profile: Güvenlik açısından önemli bir tanımdır. Kullanıcı yaratılırken belirtilmezse default profile’a atar oracle. En çok kullanılan kaynakları; CONNECT_TIME : Dakika bazında, sessionlar için kabul edilen bağlantı zamanını düzenler. alter profile limit connect_time 300;

IDLE_TIME : Bir session'ın hiçbir DML/DDL komutu kullanmadan beklediği süreye denir. Eğer kullanıcı bu süreyi aşarsa, session'ı Oracle tarafından öldürülür. Yine dakika bazında değer verilebilmektedir. alter profile limit idle_time 10; SESSIONS_PER_USER : Bir kullanıcı için kabul edilebilen toplam session sayısıdır. Eğer bu değeri 2 olarak belirlersek kullanıcı en fazla 2 session yaratabilir. Yani 1 schema'da 1 kullanıcıya ait toplam 2 session açılabilir. alter profile limit sessions_per_user 2; --> Default olarak unlimited seçilir.

FAILED_LOGIN_ATTEMPTS : Güvenlik açısından kritik bir kaynaktır FAILED_LOGIN_ATTEMPTS : Güvenlik açısından kritik bir kaynaktır. alter profile limit failed_login_attempts 4; 4 denemeden sonra kullanıcının hesabı kilitlenecektir.

Password parametreleri set edilirken rakamlar gün sayısını ifade eder fakat dakika olarak set edilmek istenirse (n/1440) kullanılabilir, ya da saniye için(n/86400) kullanılabilir. PASSWORD_LIFE_TIME: Aynı password ile kaç gün login olunabileceğini ifade eder. PASSWORD_REUSE_TIME: Bir password’ün tekrar kullanılabilmesi için geçmesi gereken gün sayısını ifade eder.

PASSWORD_REUSE_MAX: Şu anki password’ün tekrar kullanılabilmesi için kaç defa password değişikliği yapılması gerektiğini gösterir. PASSWORD_LOCK_TIME: Bir kullanıcı failed login attempts sınırını aştığında hesabının kaç gün lock’lı kalacağını belirler. PASSWORD_GRACE_TIME : Password_life_time sınırı aşıldıktan sonra verilen extra süre.

PASSWORD_VERIFY_FUNCTION: Password’ün nasıl olabileceğini ya da olamayacağını belirleyen fonksiyondur. Oracle default bir script sağlar, bununla beraber kendi fonsiyonumuzu da oluşturabiliriz. ALTER PROFILE my_profile LIMIT PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION; alter user ayse profile my_profile; ÖRNEK: En fazla 10 session açabilecek şekilde,hatalı login olma sınırı 3, aynı password ile 200 dk login olunacak şekilde bir profile create ediniz. Ve bu profile’i x kullanıcısına set ediniz.

CREATE PROFILE my_profile LIMIT SESSIONS_PER_USER 10 FAILED_LOGIN_ATTEMPTS 3 PASSWORD LIFE TIME 200/1440; Alter user ayse profile my_profile;

Transaction Isolation Level: Yapılan bir transaction’ın diğer transactionlara karşı ne kadar izole edilmesi istendiğini belirtmektir. Tipleri; Read Committed Serializable Read Only

Dirty Read: Commit edilmemiş data demektir Dirty Read: Commit edilmemiş data demektir. Oracle dirty datanın okunmasına izin vermez. Başka bir kullanıcı tarafından read yapıldığında en son commit edilmiş hali okunur. Non-repeatable Read: t1 anında bir satırı okuduğumuzda aldığımız veri ile t2 anında okuduğumuz veri aynı olmayabilir. Update görmüş, silinmiş vb olabilir. Phantom Reads: Transaction A where sözcüğüyle bir select çalıştırdıktan sonra, B Transaction’ı where şartını sağlayan bir insert yaparsa, A aynı sorguyu tekrar çalıştırdığında farklı sonuç alacaktır.

Read Committed Transaction Isolation Level : Oracle’ın default transaction isolation levelidir. Bir sorgu çalıştırıldığında o ana kadar commit edilmiş data bilgileri okunur. Dirty read yapılmaz. SET TRANSACTION ISOLATION LEVEL READ COMMITTED; ALTER SESSION SET ISOLATION_LEVEL READ COMMITTED;

Read Uncommited Transaction Isolation Level : Dirty read yapılmasını sağlar. Oracle buna izin vermez.

Serializable Transaction Isolation Level : Read Committed’a ek olarak, kendi içinde yaptığı INSERT,UPDATE ve DELETE statementlarına da izin verir. SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; ALTER SESSION SET ISOLATION_LEVEL SERIALIZABLE;

Read-Only Transaction Isolation Level: Read Committed gibidir ama INSERT, UPDATE ve DELETE işlemlerinin yapılmasına izin vermeyen transaction’lardır. SET TRANSACTION ISOLATION LEVEL READONLY; ALTER SESSION SET ISOLATION_LEVEL READONLY;

Aşağıdaki query ile transaction’un isolation level’inin ne olduğu görülebilir: select decode (bitand (t.flag, power (2, 28)), power (2, 28), 'SERIALIZABLE', 'READ COMMITTED') from v$transaction t, v$session s where s.taddr = t.addr and s.audsid = userenv ('sessionid');

ORACLE LOCK YÖNETİMİ: Bir DML işlemi çalışırken, başka bir dml işleminin aynı data üzerinde etki etmesini önleme mekanizmasına Oracle Lock Mekanizması denir. Transactionlar dataları row seviyesinde ya da tüm bir tablo seviyesinde lock’layabilirler. Lock’lama işlemi manuel sağlanabileceği gibi otomatik olarak da sağlanabilir.

Lock Çeşitleri: DML Lock (Update, Insert vb..): İşlem yapılacak olan satırı ya da satırları kilitler. DDL Lock (Create , Alter, Drop vb..): Nesnelerin yeniden tanımlanmasını engeller. Dictionary locks olarak da bilinir.Objelerin yapılarını korumaktan sorumludur. Latches and Internal locks Datafile’lar gibi Oracle’ın kendi sistemi ile ilgili objelerin yapılarının korunmasından sorumludur, bunlar otomatiktir

DML locks :Kendi içinde Row locks(TX)ve table locks(TM) olarak 2ye ayrilir. Row-level lock(TX) DML işlemi yapılırken ilgili row 'un sağlıklı bir şekilde işlem sonuna kadar yeni bir dml işlemi için izin verilmemesi işidir. Enqueue ise bu gibi durumlarda başlatılan yeni dml işlemlerinin sıraya konması ve lock gerçekleştirilen dml işlemi commit yada rollback ile bittiğinde işleme alınması olayıdır. Normal Select işlemlerinde TX kullanılmaz. Table-level lock(TM)Oracle default lock model row-level lock mekanizmasıdır.Ancak Manuel olarak daha yüksek seviyede locklama yapılabilir.Aşağıdaki script tablo yu locklamaktadır. LOCK TABLE HR.EMPLOYEES IN EXCLUSIVE MODE;

Aşağıdaki row lock’ı gerçekleyiniz.

Lock’lı session’ları nasıl buluruz Lock’lı session’ları nasıl buluruz? gv$session & gv$sql  join kolonu sql_id Bir tabloyu hangi session’lar tutuyor? gv$access & gv$session  join kolonu sid

DeadLock: Eğer bir veri bir session tarafından locklanmışsa ve birden çok session tarafından bekleniyorsa, bu tip lock olayına dead lock denir.Oracle veritabanı dead lock ları tespit ederek statementlerın hata ile sonlandırılmasını sağlar.Bu durumda bekleyen sessionlar dml işlemlerini tamamlayabilirler.