PL/SQL Enhancements in Oracle Database 11g

Transkript

PL/SQL Enhancements in Oracle Database 11g
Unutulmuş Özellikler: Oracle
Veritabanına Yaptığınız Yatırımı
Sonuna Kadar Kullanın
TROUG Oracle Day 2011 etkinliği
Swiss Hotel
01/11/2010
H.Tonguç Yılmaz [email protected]
http://friendfeed.com/TongucY
http://tonguc.wordpress.com/about/
Özet amaç
• Oracle çözümleri ve destek için şirketler milyon $ bütçeler ile
yatırım yapıyor, ekonomik fırtınaların eksik olmadığı dünyada
Türk şirketleri Oracle’a yaptıkları yatırımın yeterince
karşılığını alabiliyor mu?
• Çalışanlarınızı işe alırken forums.oracle.com,
docs.oracle.com ve metalink.oracle.com kullanıyor
olduklarını, farkındalık düzeylerini test ediyor musunuz..
• Karar vericilerinizi işe alırken PostgreSQL, Hadoop gibi
güçlü açık kaynak alternatif platformlar başta olmak üzere
Oracle ve güçlü yanlarına hakimiyetlerini test ediyor
musunuz..
Konunun iki boyutu var
• Yeni sürümler ile birlikte gelen özelliklerin takip edilmesi,
uygun ihtiyaç oluştuğunda denenerek öğrenilmesi
• Oracle Day 2010 TROUG sunumlarının teması
• Bazı yeni özellikler siz farkında olmasınız da
güncellemeler yapıldığı anda hayatınıza girer 
• Var olan kabiliyetlerin farkındalığının arttırılması
• TROUG-Türk Oracle Kullanıcı Grubu ve OracleTURK gibi
forumlarının temel varoluş nedeni diyebiliriz
• Oracle Day 2011 TROUG sunum temam
11g ile artık onlar standard bir kurulumun parçası
 11g Express Edition ile disk sınırı
4GB ‘dan 11GB ‘a çıktı
 Jdeveloper ve VM Virtual Box
OTN’den en fazla indirilen ücretsiz
diğer Oracle çözümleri
Goldengate veya Streams tabanlı Asynchronous
Change Data Capture örneği
• Oracle seneler içinde birçok çözüm için geliştirme yaptı, bu
çözümleri adresleyen yeni şirket satın almaları
gerçekleştiğinde konumlandırma değişikliği yaparak eski
seçeneği geliştirmeye devam etmiyorlar ama bu seçenekler
müşteriler tarafından kullanıldığı sürece var olmaya devam
edecek.
• Benzer bir örnek de OWB ile ODI arasında devam ediyor.
• İhtiyacınız ve bütçeniz paralelinde hangisi ile yola çıkmalısınız
araştırarak karar verebilirsiniz.
Hissettirmeyen iyileştirme örneği
ALTER TABLE .. ADD COLUMN iyileştirmeleri
-- 10.2
create table tst_source nologging as select rownum id, text from dba_source;
set timing on
ALTER TABLE tst_source ADD (name VARCHAR2(16) DEFAULT 'N' NOT NULL);
Elapsed: 00:00:30.43
-- 11.1
create table tst_source nologging as select rownum id, text from dba_source;
set timing on
ALTER TABLE tst_source ADD (name VARCHAR2(16) DEFAULT 'N' NOT NULL);
Elapsed: 00:00:00.10
Yeni Özellik Örneği - Sanal Kolonlar
CREATE TABLE employees (
id
NUMBER, first_name VARCHAR2(10),
last_name VARCHAR2(10), salary
NUMBER(9,2),
comm1
NUMBER(3), comm2
NUMBER(3),
salary1 AS (ROUND(salary*(1+comm1/100),2)),
salary2 NUMBER GENERATED ALWAYS AS (ROUND(salary*(1+comm2/100),2)) VIRTUAL,
CONSTRAINT employees_pk PRIMARY KEY (id) );
INSERT INTO employees (id, first_name, last_name, salary, comm1, comm2) VALUES (1, 'JOHN', 'DOE', 100, 5, 10);
INSERT INTO employees (id, first_name, last_name, salary, comm1, comm2) VALUES (2, 'JAYNE', 'DOE', 200, 10, 20);
COMMIT;
SELECT * FROM employees;
ID FIRST_NAME LAST_NAME
SALARY
COMM1
COMM2
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------1 JOHN
DOE
100
5
10
105
110
2 JAYNE
DOE
200
10
20
220
240
SELECT column_name, data_default
FROM user_tab_columns
WHERE table_name = 'EMPLOYEES';
COLUMN_NAME
DATA_DEFAULT
------------------------------ -------------------------------------------------...
SALARY1
ROUND("SALARY"*(1+"COMM1"/100),2)
SALARY2
ROUND("SALARY"*(1+"COMM2"/100),2)
SALARY1
SALARY2
Unutulmuş Özellikler
Yüzlerce hazır PL/SQL paketi
 DBMS_SCHEDULER, DBMS_DATAPUMP, DBMS_METADATA, DBMS_MONITOR ...
Tablo ve kolonlara yorum ekleme
 COMMENT ON TABLE tbl IS 'Speed xxx Responsible yyy Description zzz ...';
 COMMENT ON COLUMN tbl.ncol IS 'n Digit Customer Code, Genereted From m Sequence ...
Resumable Operations
DBMS_STATS ile istatistik kopyalama, istatistik kilitleme, sistem
istatistikleri toplama
Autonomous Transactions
PL/SQL Bulk Operations, Pipelined Table Functions
10053 ve 10046 Event
Flashback Query, Table, Database
RMAN ile Database Duplicate etme, Block Recover, Automatic
Recovery
Unutulmuş Özellikler (devam)
Application Services, Code Instrumentation
 DBMS_SERVICE, DBMS_APPLICATION_INFO, DBMS_SESSION ..
Anaytic & In-Database Statistical Functions
Embedded Software License For Oracle Products
System Triggers
External Tables and Data Pump API
Data Segment Compression, Index Leaf Compression
Alternative Data Structures; GTT, IOT, Hash Cluster, Bitmap Index, MV
V$ görüntüleri
• V$SESSION, V$%_OPTIMIZER_ENV, V$OSSTAT, V$SESSION_WAIT_HISTORY ..
Cost Based Optimizer
 Column order, Constraints, V$SQL_PLAN%, DBMS_XPLAN ..
Kaynakça
 Forgotten Features Presentation (Web Version)
Julian Dyke, http://juliandyke.com
 http://tonguc.wordpress.com
Oracle Türkiye’ye destekleri için teşekkürler
?
?
?
H.Tonguç Yılmaz [email protected]
http://friendfeed.com/TongucY

Benzer belgeler