Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bilgisayar Mühendisliği Bölümü

Benzer bir sunumlar


... konulu sunumlar: "Bilgisayar Mühendisliği Bölümü"— Sunum transkripti:

1 Bilgisayar Mühendisliği Bölümü
Veri Tabanı Yönetim Sistemleri 2 Ders 3 Oracle'da Kullanıcı ve Rol İşlemleri Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

2 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

3

4 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.

5

6 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.

7 Net Configuration Assistant
Listener, Naming Method, Net Service Name ve Directory Usage yapılandırması için kullanılır.

8 NetCA ile Listener Yapılandırması

9 NetCA ile Listener Yapılandırması

10 NetCA ile Listener Yapılandırması

11 NetCA ile Listener Yapılandırması

12 NetCA ile Listener Yapılandırması

13 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.

14 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 Kullanıcı yaratma kodundaki ilk iki satırın yazılması yeterlidir. Diğer 3 satır yazılmasa bile varsayılan tablo alanı, geçici tablo alanı ve profil değerleri için zaten verilen değerler (USERS, TEMP, DEFAULT) varsayılan değerler olarak atanacaktır. Eğer kullanıcının ilk login olduğu anda şifresini belirlemesi isteniyorsa: PASSWORD EXPIRE Eğer kullanıcının hesabının kilitlenmesi isteniyorsa: ACCOUNT LOCK ifadeleri eklenebilir. Eğer IDENTIFIED EXTERNALLY yazılırsa kullanıcı şifre denetimi işletim sistemi üzerinden yapılacak demektir (SQL Server'daki Windows Authentication gibi). Eğer veritabanı bir "Container Database" olarak yaratıldıysa kullanıcı adı C## ile başlamalıdır (C##AHMET).

15 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; ALTER USER yetkisinin kullanıcılara verilmesine gerek yoktur. Sisteme login olabilen (CREATE SESSION yetkisi olan) kullanıcıların şifrelerini değiştirme hakkı vardır.

16 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.

17 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; Unlimited Tablespace yetkisi verilmezse kullanıcı tablo yaratamaz. Eğer tablespace üzerinde sınırsız değil de sınırlı bir kullanım alanı (kota) verilmek istenirse aşağıdaki ifade kullanılabilir (2MB kota verir): ALTER USER AHMET QUOTA 2M ON "USERS";

18 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.

19 Verilen Yetkilerin Geri Alınması
Kullanıcılara verilen yetkilerin geri alınması REVOKE komutu ile gerçekleştirilir: REVOKE CREATE TABLE FROM AHMET;

20 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)] ON nesneler TO kullanıcılar [roller] [PUBLIC]; Tüm kullanıcılar

21 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;

22 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. Oracle kendi ürettiği standart rollerin kullanılması yerine, her DBA’in kendisi için ihtiyaç duyduğu rolleri tanımlamasını tavsiye eder.

23 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;

24 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. ALTER DATABASE: open, mount, back up

25 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.

26 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. DİKKAT: Bu gibi rollerin kullanıcılara verilmesi risk oluşturur.

27 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: Oracle 11g için: 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.

28 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.


"Bilgisayar Mühendisliği Bölümü" indir ppt

Benzer bir sunumlar


Google Reklamları