Kullan*c*, Rol ve Yetki **lemleri - Trakya Üniversitesi

advertisement
Veri Tabanı Yönetim Sistemleri 2
Ders 3
Oracle'da İlk Ayarlar
Kullanıcı ve Rol İşlemleri
Yrd. Doç. Dr. Altan MESUT
Trakya Üniversitesi
Bilgisayar Mühendisliği Bölümü
SQL Plus
• SQL Plus, Oracle üzerinde kullanıcı yaratma, nesne yaratma,
veritabanını açma/kapama gibi işlemler yapmak amacıyla
kullanılan komut istemi arayüzünde (CLI: Command Line
Interface) çalışan bir veritabanı yönetim aracıdır.
• Komut İstemi üzerinden sqlplus yazılarak veya Windows
üzerinden ilgili kısayolun tıklanması ile çalıştırılan SQL Plus
ilk açıldığında kullanıcı adı ve şifre girilerek mevcut
bilgisayardaki varsayılan veritabanına bağlanılabilir (veya
sqlplus username/password gibi bir kullanım ile direkt
olarak bağlanılabilir).
• Farklı bir bilgisayardaki veritabanına bağlanmak için
aşağıdaki gibi bir yazım kullanılabilir:
– sqlplus altan/[email protected]/ORCL:1521
Detaylı bilgi için: "Oracle Database 11g: SQL Fundamentals I" altında "app_d.ppt"
SQL Developer
• SQL Developer, grafik kullanıcı arayüzünde (GUI:
Graphical User Interface) çalışan java tabanlı bir
veritabanı yönetim aracıdır.
• SQL Developer ile açık konumdaki bir
veritabanına Listener üzerinden bağlanılabilir.
– SQL Plus ile veritabanı ve listener kapalı konumda iken
de bağlanılabilir ve startup ile veritabanı açılıp
shutdown ile kapatılabilir.
• SQL Developer ile bir Access dosyasına da
bağlanılabilir.
Detaylı bilgi için: "Oracle Database 11g: SQL Fundamentals I" altında "app_e.ppt"
Listener Oluşturma
• Oracle kurulumu sırasında sadece yazılım
kurulumu yapılıp, sonrasında Database
Configuration Assistant ile veritabanı yaratıldı
ise, bu veritabanına dışarıdan bağlanılabilmesi
için gerekli olan "Listener" yaratılmasının da
Net Configuration Assistant ile yapılması
gerekir.
– Eğer yazılım ile birlikte veritabanı kuruldu ise
gerekli olan Listener da otomatik olarak yaratılır.
Net Configuration Assistant
• Listener, Naming Method, Net Service Name
ve Directory Usage yapılandırması için
kullanılır.
NetCA ile Listener Yapılandırması
NetCA ile Listener Yapılandırması
NetCA ile Listener Yapılandırması
NetCA ile Listener Yapılandırması
NetCA ile Listener Yapılandırması
Net Manager
NetCA ile yapılabilen işlemlerin çoğu Net Manager ile de
yapılabilir. NetCA ile yaratılan Listener için otomatik
olarak Windows altında bir hizmet oluşturulurken, Net
Manager ile yaratılan Listener için bu işlem yapılmaz.
Kullanıcı Yaratma
• Kullanıcı yaratma CREATE USER komutu ile
yapılır. Bu komutu çalıştırma yetkisi genellikle
DBA yada güvenlik yöneticisi olan kişilerde
vardır.
CREATE USER AHMET
IDENTIFIED BY A853B
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT;
Kullanıcının Adı
Şifresi
Detaylı bilgi için: "Oracle Database 11g: SQL Fundamentals II" altında "Les01.ppt"
Kullanıcının Tanımlarını Değiştirme
• Tüm nesne tanımlarının değiştirilmesinde
olduğu gibi kullanıcıların da (kullanıcılar da bir
nesnedir) tanımlarını ALTER komutu ile
değiştirebiliriz.
• Aşağıdaki komut AHMET kullanıcısının şifresini
değiştirir:
ALTER USER AHMET IDENTIFIED BY
XY358;
Kullanıcıyı Silme
• Diğer nesnelerde olduğu gibi kullanıcı silmede
de DROP komutu kullanılır:
DROP USER AHMET;
• Eğer kullanıcının şeması altında nesneler varsa
bu nesnelerin de silinmesi için CASCADE
ifadesi kullanılmalıdır:
DROP USER AHMET CASCADE;
• Eğer kullanıcı sistemde bağlı durumda ise
bağlantısını kesene kadar silinemez.
Sistem Yetkileri
• Kullanıcıların sistemde neler yapabileceklerini
sınırlayan tanımlamalara sistem yetkileri denir.
• Bir kullanıcı ilk yaratıldığı anda hiçbir yetkisi
yoktur.
• Sisteme bağlanabilmesi için CREATE SESSION
yetkisinin kullanıcıya verilmesi gerekir:
GRANT CREATE SESSION TO AHMET;
• GRANT komutu ile aynı anda birden çok yetki
birden çok kullanıcıya verilebilir:
GRANT CREATE TABLE, UNLIMITED
TABLESPACE TO AHMET, MEHMET;
Sistem Yetkileri (devam)
• Sistem Yetkileri çok fazladır, hepsinin ezbere
bilinmesinin gereği yoktur. İsminden yetkinin ne
olduğu konusunda çıkarım yapılabilir. Eğer yetki
isminde “ANY” sözcüğü geçiyorsa farklı şemalar
üzerinde işlem yapabilme yetkisi olduğunu
gösterir.
• CREATE TABLE: Kullanıcının sadece kendi şeması
üzerinde tablo oluşturma yetkisi.
• CREATE ANY TABLE: Kullanıcının tüm şemalar
üzerinde tablo oluşturma yetkisi.
Verilen Yetkilerin Geri Alınması
• Kullanıcılara verilen yetkilerin geri alınması
REVOKE komutu ile gerçekleştirilir:
REVOKE CREATE TABLE FROM AHMET;
Nesne Yetkileri
• Bir kullanıcının veri tabanındaki nesneler üzerinde
ne tür yetkileri olduğunu tanımlamak için
kullanılan yapıya nesne yetkisi denir.
• Bir kullanıcı kendi yarattığı tablolar üzerinde
SELECT yetkisine sahiptir, fakat başka şemalardaki
tablolar üzerinde SELECT sorgusu yapabilmesi için
gerekli yetkinin verilmesi gerekir.
GRANT yetkiler [(sütunlar)]
Tüm kullanıcılar
ON nesneler
TO kullanıcılar [roller] [PUBLIC];
Nesne Yetkisi Verme
• MEHMET kendisine ait olan PERSONEL tablosu
üzerinde SELECT sorgusu yapma yetkisini
AHMET’e vermek isterse:
GRANT SELECT ON PERSONEL TO AHMET;
• AHMET kendisine ait olan OGRENCILER
tablosunun sadece ADI ve SOYADI alanları
üzerinde UPDATE yapma yetkisini MEHMET’e
vermek isterse:
GRANT UPDATE (ADI, SOYADI) ON
OGRENCILER TO MEHMET;
Rol
• Rol, birçok yetkinin bir araya getirilmesi ile
oluşan yetki gruplarına verilen isimdir.
• Bir rol kendi içinde başka rolleri de içerebilir.
• Örneğin Oracle 11g’de DBA Rolünün;
– 16 Rolü
– 202 Sistem Yetkisi
– 284 Nesne Yetkisi
vardır.
* Oracle Enterprise Manager üzerinden görülebilir.
Rol Yaratma
• Rol de bir nesne olduğu için CREATE komutu
ile yaratılır. Fakat diğer nesnelerden farklı
olarak, yaratan kullanıcının şeması altında bu
roller görünmez (rol bir kişiye ait değildir).
CREATE ROLE DENEME;
GRANT CREATE TABLE, CREATE VIEW,
UNLIMITED TABLESPACE TO DENEME;
GRANT DENEME TO AHMET;
GRANT DENEME TO ALTAN WITH ADMIN
OPTION;
SYSDBA ve SYSOPER Sistem Yetkileri
• SYSDBA: Bu yetki ile veritabanına bağlanan kullanıcı tüm işlemleri
yapabilme iznine sahip olur. Bunlardan bazıları:
–
–
–
–
–
STARTUP ve SHUTDOWN işlemlerini gerçekleştirir.
CREATE DATABASE (Veritabanı yaratma)
ALTER DATABASE: open, mount, back up, karakter seti değiştirme
CREATE SPFILE (Sistem Parametre Dosyası yaratma)
ARCHIVELOG ve RECOVERY
• SYSOPER: Bu yetki ile veritabanına bağlanan kullanıcı temel işletim
görevlerini yapma iznine sahip olur, fakat kullanıcı verilerini
göremez.
–
–
–
–
STARTUP ve SHUTDOWN işlemlerini gerçekleştirir.
ALTER DATABASE: open, mount, back up
CREATE SPFILE (Sistem Parametre Dosyası yaratma)
ARCHIVELOG ve RECOVERY
SYS ve SYSTEM Kullanıcıları
• SYS kullanıcısı tüm veri tabanının ve veri
sözlüğünün sahibidir. Sisteme giriş yaparken
AS SYSDBA eki ile bağlanır. Sahip olduğu SYS
şeması üzerinde değişiklik yapılmamalıdır.
• SYSTEM kullanıcısı veri sözlüğü dışında başka
idari işler ile ilgili tabloları ve görünümleri
sağlayan SYSTEM şemasının sahibidir. Sisteme
Normal kullanıcı olarak giriş yapar.
SYS şemasının nesnelerine erişme
yetkisi olan roller
• SELECT_CATALOG_ROLE: Kullanıcılara veri
sözlüğü görünümleri üzerinde sorgu yapma
yetkisi verir.
• EXECUTE_CATALOG_ROLE: Kullanıcıların veri
sözlüğü üzerinde paket (package) ve prosedür
yürütme yetkisi olmasını sağlar.
• DELETE_CATALOG_ROLE: Sistem izleme
(audit) tabloları olan SYS.AUD$ ve
SYS.FGA_LOG$ tablolarında silme yetkisi verir.
Enterprise Manager Database Express
• Oracle 12c Enterprise Manager (EM) Database Express,
Oracle veritabanının durumunun izlenmesi ve bazı
yönetimsel işlerin yapılabilmesi için kullanılan web tabanlı
bir yazılımdır.
• 10g ve 11g'deki EM Database Control'den farklı olarak EM
Database Express ile tablo ve prosedür gibi veritabanı
nesneleri yaratılamaz. Kullanıcı ve Rol yaratma ile bunlar
üzerinde yetki değişiklikleri gibi işlemler ise Security
menüsünden yapılabilir.
• Database Configuration Assistant ile veritabanı yaratıldıktan
sonra çıkan bilgi penceresinde (bak: geçen hafta) EM
Database Express'e erişmek için gerekli URL bilgisi verilir:
– Oracle 12c için: https://localhost:5500/em
– Oracle 11g için: https://localhost:1158/em
NOT: Kurulum sırasında güvenlik duvarı izinlerinden birini EM için 5500 portu
(11g'de 1158) diğerini ise Listener için 1521 portunun açılması için vermiştik.
EM Database Express ile RESOURCE Rolü:
RESOURCE Rolü 8 farklı sistem yetkisi içerir. CREATE
SESSION yetkisi bunlardan biri olmadığı için bu yetkiyi
(veya bu yetkiyi içeren CONNECT rolünü) de kullanıcıya
vermemiz gerekir. UNLIMITED TABLESPACE veya kota
vermeyi de unutmamak gerekir.
Download