Veri sözlüğü görünümleri
Oracle'da nesneler hakkındaki bilgi veri sözlüğü görünümlerindedir. Önek, kapsamı söyler:
| Önek | Kapsam | Örnek |
|---|---|---|
USER_ | Senin sahip olduğun nesneler | USER_TABLES, USER_TAB_COLUMNS, USER_CONSTRAINTS |
ALL_ | Erişim yetkin olan nesneler | ALL_TABLES |
DBA_ | Veritabanındaki tüm nesneler (yönetici) | DBA_USERS |
V$ | Dinamik performans görünümleri | V$SESSION |
SELECT table_name FROM user_tables ORDER BY table_name;
Çok tablolu INSERT ve MERGE
-- Koşula göre farklı tablolara ekle
INSERT ALL
WHEN price >= 5000 THEN INTO urun_pahali (product_id, name) VALUES (product_id, name)
WHEN price < 5000 THEN INTO urun_uygun (product_id, name) VALUES (product_id, name)
SELECT product_id, name, price FROM products;
-- INSERT FIRST: ilk tutan koşulda durur
INSERT FIRST
WHEN price >= 10000 THEN INTO segment_a VALUES (product_id)
WHEN price >= 1000 THEN INTO segment_b VALUES (product_id)
ELSE INTO segment_c VALUES (product_id)
SELECT product_id, price FROM products;
Şema nesnelerini yönetmek
- Görünmez sütun:
ALTER TABLE t MODIFY (kolon INVISIBLE);—SELECT *'da görünmez, adıyla seçilince gelir. - Görünmez indeks:
ALTER INDEX ix INVISIBLE;— optimizer kullanmaz ama bakımı sürer; silmeden önce etkisini denemek için. - SET UNUSED:
ALTER TABLE t SET UNUSED (kolon);— sütunu anında kullanılmaz yapar, fiziksel silme sonraDROP UNUSED COLUMNS. - Flashback:
SELECT ... AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE),FLASHBACK TABLE t TO BEFORE DROP;(geri dönüşüm kutusundan). - Harici tablo: Dosyayı tabloymuş gibi sorgulamak (
ORGANIZATION EXTERNAL).
Ayrıcalıklar
- Sistem ayrıcalığı: Bir işlem türüne izin (
CREATE TABLE,CREATE SESSION). - Nesne ayrıcalığı: Belirli bir nesne üzerinde izin (
SELECT ON hr.employees). WITH ADMIN OPTION(sistem) veWITH GRANT OPTION(nesne) ayrıcalığı başkalarına verme hakkı tanır.- Rol, ayrıcalıkları gruplar:
CREATE ROLE raporcu; GRANT SELECT ON orders TO raporcu; GRANT raporcu TO ali;
Sınavda sık tuzaklar
- Oracle'da boş metin
''NULL'dır. NVL,NVL2,NULLIF,COALESCEfarkları;DECODEile CASE eşdeğerliği.- Tarih aritmetiği:
tarih + 1bir gün ekler;MONTHS_BETWEEN,ADD_MONTHS,NEXT_DAY,LAST_DAY. - DDL komutları örtük COMMIT yapar; öncesindeki DML geri alınamaz.
- Tek satır döndürmesi beklenen alt sorgu birden çok satır dönerse hata (ORA-01427).
ORDER BY'da takma ad ve sütun sırası kullanılabilir; Oracle 23ai öncesinde GROUP BY'da takma ad kullanılamaz; 23ai yenilik belgesi buna izin verildiğini yazıyor (Kasım 2026'da okundu). Sınav hangi sürüme göreyse onu esas al.