Oracle 12c ile Gelen Yenilikler

Öncelikle bu kaynağı hazırlayan sayın Emre Albayrak’a çok teşekkür ederim. Şimdi ondan hazırlamasını istediğim Oracle 12c ile birlikte gelen yeniliklerden bahsedelim:

Oracle Database 12c, veritabanı bulutlarının kurulup yönetilmesini kolaylaştıran yeni bir birden çok kiracılı mimari sunar. Birden çok veritabanını hızlı şekilde konsolide etmek için Oracle Multitenant gibi yenilikler ve yüksek yoğunlukta verileri sıkıştırma ve katmanlama için Isı Eşlemi ile Otomatik Veri Optimizasyonu, kaynak verimliliğini ve esnekliğini en üst düzeye çıkarır. Bu benzersiz gelişmeler, kullanılabilirlik, güvenlik ve büyük veri desteğindeki önemli geliştirmelerle birlikte, Oracle Database 12c’yi özel ve genel bulut kurulumları için ideal platform haline getirir. Oracle Multitenant, bulutlarda veritabanlarını konsolide etmeye yönelik yeni bir mimari sunarak uygulama yazılımı değişiklikleri olmadan birçok veritabanını bir veritabanı olarak yönetmenize olanak sağlar ve böylece hızlı, ölçeklenebilir ve güvenli bir veritabanı platformu elde edilir.

Oracle Corporation, multitenant özelliğiyle veritabanı mimarisinde önemli bir değişikliğe gitmiş ve 10g ile 11g sürümlerindeki ‘grid’ kavramı yerini ‘cloud’ kavramına bırakmıştır. Oracle 12c’deki diğer yeniliklerde bu mimari etrafında şekillenmiş ve bu mimariyi destekleyecek şekilde düzenlenmiştir.

Oracle 12c sürümünde yer alan yeni özellikler aşağıdaki başlıklar altında toplanabilir:

■    Application Development

■    Business Intelligence and Data Warehousing

■    Compression and Archiving

■    Database Overall

■    High Availability

■    Manageability

■    Performance

■    Oracle RAC and Grid Infrastructure

■    Security

■    Spatial and Graph

Application Development

*Identity Column

Oracle bugüne kadar diğer veritabanlarında olan otomatik sayı üretme mekanizmasına sahip değildi. Oracle 12c ile beraber gelen Identity Column özelliği ile bu ihtiyacıda karşılamış oldu. Artık id tipi kolonların otomatik nümerik olarak değeri Oracle tarafından verilmesini sağlabileceğiz.

GRANT CREATE SQUENCE GENERATED [ ALWAYS | BY DEFAULT [ ON NULL ] ] AS IDENTITY [ ( identity_options ) ]

*    ROW limiting for Top-N result queries

Oracle 12c ye kadar veri setlerinde limitleme işlemleri rownum gibi ifadeler ile yapılıyordu. SQL Server daki TOP fonksiyonu yetkinliği bu versiyonla farklı kullanım şekilleriyle kullanıcılara sunuldu.

[ FETCH FIRST [ WITH TIES ] | NEXT | PERCENT ]

Select * from test_db order by id fetch next 6 rows only;

*VARCHAR2, NVARCHAR2 32K limit

Oracle veritabanı geçmiş sürümlerinde bu veri türleri için maksimum boyut 4.000 byte idi. Oracle 12c, bu veri tipleri 32.767 byte’a artırdı.

MAX_STRING_SIZE = EXTENDED

Business Intelligence and Data Warehousing

> Oracle Advanced Analytics

*    Native SQL Support for Row Pattern Matching

MATCH_RECOGNIZE ifadesi sql sorgularının istenilen kalıpların satırlarda eşleşmesine yardımcı olur. Örnek:

SELECT *

FROM Ticker MATCH_RECOGNIZE (

PARTITION BY symbol ORDER BY tstamp

MEASURES STRT.tstamp AS start_tstamp,

FINAL LAST(DOWN.tstamp) AS bottom_tstamp,

FINAL LAST(UP.tstamp) AS end_tstamp,

MATCH_NUMBER() AS match_num,

CLASSIFIER() AS var_match

ALL ROWS PER MATCH AFTER MATCH SKIP TO LAST UP PATTERN (STRT DOWN+ UP+)

DEFINE

DOWN AS DOWN.price < PREV(DOWN.price),

UP AS UP.price > PREV(UP.price)

) MR

ORDER BY MR.symbol, MR.match_num, MR.tstamp;

SYMBOL TSTAMP START_TST BOTTOM_TS END_TSTAM MATCH_NUM VAR_ PRICE

ACME 05-APR-11 05-APR-11 06-APR-11 10-APR-11 1 STRT 25
ACME 06-APR-11 05-APR-11 06-APR-11 10-APR-11 1 DOWN

12

ACME 07-APR-11 05-APR-11 06-APR-11 10-APR-11 1 UP 15
ACME 08-APR-11 05-APR-11 06-APR-11 10-APR-11 1 UP 20
ACME 09-APR-11 05-APR-11 06-APR-11 10-APR-11 1 UP 24
ACME 10-APR-11 05-APR-11 06-APR-11 10-APR-11 1 UP 25
ACME 10-APR-11 10-APR-11 12-APR-11 13-APR-11 2 STRT 25
ACME 11-APR-11 10-APR-11 12-APR-11 13-APR-11 2 DOWN

19

ACME 12-APR-11 10-APR-11 12-APR-11 13-APR-11 2 DOWN

15

ACME 13-APR-11 10-APR-11 12-APR-11 13-APR-11 2 UP 25
ACME 14-APR-11 14-APR-11 16-APR-11 18-APR-11 3 STRT 25
ACME 15-APR-11 14-APR-11 16-APR-11 18-APR-11 3 DOWN

14

ACME 16-APR-11 14-APR-11 16-APR-11 18-APR-11 3 DOWN

12

ACME 17-APR-11 14-APR-11 16-APR-11 18-APR-11 3 UP 14
ACME 18-APR-11 14-APR-11 16-APR-11 18-APR-11 3 UP 24
15 rows selected.

>    Oracle OLAP *Cube Statistics Support

Bu özellik Oracle Cube istatistiklerini ve Automatic Workload Repository (AWR), Active Session History (ASH), and Automatic Database Diagnostic Monitor (ADDM) istatistiklerinin sonuçlarını yansıtır. Bu özellik oracle cube ve olap dahil oracle instance öğelerinin yönetimini kolaylaştırır.

>    Partitioning Enhancements *ONLINE Move Partition

Oracle 12c ye kadar Partition lar online olarak taşınamıyordu yeni gelen Oracle 12c ile beraber çok kolayca DDL (Create,Truncate…) ve DML (insert, update…) operasyonları önlenmeden Partitionlar online olarak aşağıdaki gibi taşınabiliyor.

ALTER TABLE <table name>

MOVE PARTITION <partition name> ONLINE

Pek çok kez, sadece bir partition da yapılacak sorguları hızlandırmak adına o partition için index oluşturmaya ihtiyaç duymuşuzdur. 12c, partition ile ilgili birçok geliştirmeyle geliyor bunlardan biri de sadece istenilen/seçilen partitionlar üzerinde index oluşturulabilmesi. Bunun için, index oluşturulmamasını istediğiniz partitionların “indexing” parametresini “off’ olarak belirleyip, oluşturacağınız indexin “partition” olduğunu belirtmeniz yeterli:

ALTER TABLE ornek MODIFY PARTITION ornek_p1 INDEXING OFF;

CREATE INDEX ornek_ndx ON ornek(tarih) LOCAL INDEXING PARTIAL;

Compression and Archiving

>    Archiving

*Enable Flashback Data Archive (FDA) for Security-Related Application Tables

Bu özellik güvenlik önceliği olan tablolar ve uygulamalar üzerinde „full history’ verilerini elde etmemizi sağlayan FDA imkanını sunar. FDA özelliği, tek bir sql komutu kullanarak güvenlik hassasiyeti üst düzey olan tablo ve uygulamalarda enable hale getirilebilir. Ayrıca bu özellik veritabanı yöneticisine yine tek bir komutla bir uygulamadaki tüm güvenlik tablolarını read-only hale getirme imkanı sağlar.

>    Information Lifecycle Management

*Automatic Data Optimization

Veritabanı Uzmanından beklenen görevlerden biri, verilerin farklı performans karakteristiklerine sahip storagelara doğru dağıtılmasını sağlayarak kaynakların verimli kullanımını sağlamaktır. Heat-map özelliği aktif edildiğinde, Oracle verilerin erişimini “veri bloğu” seviyesinde takip etmeye başlıyor. Automatic Data Optimization, heat map tarafından toplanan verilere ve sizin belirlediğiniz politikalara göre bu veri bloklarının, farklı storage yapılarına taşınmasını ve taşınırken istenirse sıkıştırılmasını sağlanabiliyor.

*Heat Map
3

Türkçeleştirirsek ısı haritası diye adlandırabileceğimiz özellikte satır ve segmentinde kullanım bilgileri izlenip kullanım sıklığına göre satırların bir haritasını çıkartır.Şekilde de görürdüğü üzere sıklıkla kullanılan yerler kırmızı daha az yerler sarı daha da azı mavi renkte olacak şekilde veri tabanında kullanılan alanların haritasını çıkartmış. burdan aldığı bilgilere göre sıkıştırma ve yedekleme işlemleri belli periyotlarda ADO tarafından yaptırılacak.

*In-Database Archiving

Bu özellik kullanıcılara ve uygulamalara satır düzeyinde arşiv durumunu düzenleme imkanı verir. Archived olarak işaretlenmiş satırlar mevcut session arşivlenmiş satırları görebilecek şekilde düzenlenene kadar görülemeyecektir.

>    SecureFiles Enhancements

Oracle 12c’de impdmp komutuna yeni bir parametre getirildi.( 1.3.4 SecureFiles Enhancements) Bu parametre sayesinde Oracle Dump ile oluşturulan tüm lob dosyaları securelob şeklinde oluşturuluyor. Bu özellik 12c’den başlayarak default hale getirilmiş durumda.

Database Overall

>    Database Consolidation

Oracle 12c’de getirilen multitenant ve konteynır veritabanı kavramları , 12’c veya önceki sürümlerden bir veritabanını konteynır bir veritabanına „full transport’ edebilme olanağı sağlıyor.

*Oracle Multitenant

Oracle 12c ile birlikte 1 tane ana veritabanı dediğimiz Container Database (CDB) üzerinde birden fazla Pluggable Database (PDB) dediğimiz alt veritabanları bulunacak. Oracle Corporation, Software in çalışması sırasında kaynakları daha effektif kullanmak için 12c de Container database ile Pluggable database i arasında Background process, Shared memory, Oracle Metadata sı gibi bir çok özellikleri ortak kullanmakta ayrıca Control file, Redolog file ve Undo tablespace gibi alanlarda her iki database arasında ortak olarak kullanılmaktadır.

1

2
TDBs Backup and Recovery

Bir cdb bir veya birden çok pdb’den oluşabilir. Recovery Manager (RMAN) cdb’nin tamamının veya içerisindeki pdb’lerden bir veya birkaçının yedeğini alabilir. Bununla birlikte istenen tablespace veya data dosyalarının da yedeği alınabilir.

*PDBs Point-in-Time Recovery

Herhangi bir pdb istenen spesifik bir zamana recover edilebilir.

> Utilities

* Oracle Data Pump Audit Commands

Oracle 12c ile birlikte Data Pump komutları da izlenebilir.

*Oracle Data Pump Change Table Compression at Import Time

Oracle 12c’de impdmp komutuna getirilen yeni bir parametre ile import alınırken tabloların sıkıştırma seçenekleri değiştirilebilir.

*SQLLoader and External Tables: Use dNFS for Accessing Files on NFS Servers

Hem harici tablolar hem de sql*loader ile Network File Storage (NFS) server üzerindeki dosyalar yüklenebilir.

High Availability

*Global Data Services (GDS)

Oracle Database 12c’nin yeni özelliklerinden bir diğeri olan Global Data Services, Active Data Guard ve GoldenGate ile replike edilmiş veritabanları arasında bölgeler arası ve bölge içi yük dengelemesi yapıyor. Bu özellik, Active Data Guard ve GoldenGate ile dağıtılmış veritabanlarına Real Application Cluster tabanlı yük aktarma ve dengeleme becerilerini etkin bir şekilde kazandırıyor. Kullanıcıların yakından tanıdığı Veritabanı Servisleri (Database Services) özelliğini, gerek yakındaki gerek uzaktaki lokasyonlarda yer alan çok sayıda veritabanı oturumunu kapsayacak şekilde genişleten Global Data Services, yedekteki veritabanlarından oluşan bir ‘okuyucu’ çiftliğindeki iş yüklerini dağıtmak için kullanılabiliyor.

>    Improved Resilliency *ASM Disk Scrubbing

Oracle ASM Disk Scrubbing mantıksal veri hatalarını kontrol etmeye ve düzeltmeye yarayan bir özelliktir. ASM Disk Scrubbing ürün veritabanının olağan I/O akışını etkilemeyecek şekilde düzenlenmiştir.

>    Online Operations

* Editioned and Noneditioned Objects

Oracle 12c’de editioned durumu editionable olan bir objenin bu parametresi kolaylıkla kontrol edilebilir. Böylelikle objeler arasındaki bağlılık hususunda çok önemli bir yer tutan edition kısmı kontol edilebilmiş olur.

*Enhanced Online DDL Capabilities

Geliştirilmiş DDL olanakları

■ DROP INDEX ONLINE

■ DROP CONSTRAINT ONLINE

■    ALTER INDEX UNUSABLE ONLINE

■    ALTER INDEX [VISIBLE | INVISIBLE]

*Invisible Columns

Bu özelliğe göre tablo oluşturulurken invisible olarak belirtilen kolonu select yada desc yaparak göremiyoruz sadece ilgili kolonu eğer yetkiniz var ise insert, update, delete yapabiliyoruz. Bu özellik en çok personel maaşı ve kişinin anne kızlık soyadı gibi mahrem bilgilerin saklandığı tablolarda çok işe yarayacaktır. Bu özellik aşağıdaki gibi basit bir şekilde kullanılabilir.

SQL> CREATE TABLE Personel (Sicil number, Ad varchar2(50), Maas number INVISIBLE);

SQL> ALTER TABLE Personel MODIFY (Maas visible);

*Metadata-Only DEFAULT Column Values for NULL Columns

Oracle 12c’de mevcut bir tabloya default ifadesi içeren sütun ekleme işlemi default değerin null olup olmamasına bakılmaksızın Metadata-Only değişikliği olarak algılanıp yerine getirilecek.

*Move a Data File Online

Daha önce tablespace’i offline’a çekip, işletim sistemi komutlarıyla kopyalama yaptığımız dosya taşıma işlemleri artık online olarak yapılabiliyor:

ALTER DATABASE MOVE DATAFILE 7u01/oradata/users01.dbf TO 7u02/oradata/yeni01.dbf;

Bu özellikle veritabanın kesintisiz hizmet vermesi açısından önemli bir özellik. İşlem normal dosya sisteminden ASM’e dosya transferini destekliyor.

*Multiple Indexes on Same Set of Columns

Oracle 12c ile birlikte tek bir kolon için bundan sonra birden fazla index kullanılabilecektir. Yani bir kolon için aynı anda B Tree index ve Bitmap index kullanılabilecek buda ihtiyaca göre kullanıcılar için çok güzel bir özellik olacaktır.

*Online Redefinition

ONLINE REDEFINITION özelliği, çevrimiçi üretim sistemini desteklemeye devam ederken tablo yapısında değişiklikler yapılmasına izin vererek bakım kesintilerini azaltabiliyor. Veritabanı yöneticileri, son kullanıcıların yapısal değişiklik yapılmakta olan tablolar üzerinde ekleme, güncelleme ve silme işlemleri yürütmelerini sağlayabiliyor. Oracle Database 12c ayrıca kullanıcılar arkadaki verilere erişmeye devam ederken veri dosyalarının taşınabilmesi (disk geçişlerinde işe yarar) ve bölmelerin taşınabilmesi (sıkıştırma işleminde işe yarar) özellikleriyle de geliyor.

>    Oracle Data Guard Enhancements *Fast Sync

Data Guard Far Sync, “sıfır veri kaybı” ile yedekli koruma özelliğini mesafeden bağımsız, gecikme süresinden etkilenmeyecek hale getiriyor.

*Single Command Role Transitions

Bu özellikle DataGuard rolleri konusunda değişiklik yapmak için önceki sürümlerdeki gibi birden fazla komut yerine tek bir ddl komutu sayesinde bu işlem gerçekleştirilebilir.

*Active Data Guard Far Sync

Disaster Recovery çözümünde çok aşama kaydeden Oracle, 12c ile birlikte Zero Data Loss (Sıfır veri kaybı) özelliği getirerek Primary veritabanı ile arasında çok uzun mesafeler olan Disaster ortamı arasına çok düşük kaynağa sahip ara bir sunucu kullanarak Veri kaybını sıfıra indirecek bir çözüm sundu. Buna göre Primary sunucu ile far sync sunucusu arasında senkron bir iletişim olacak ve primary deki bir transaction aynı anda ara sunucuya sync bir şekilde gidecek Far sunucuda bulunan Redo dosyaları asenkron bir şekilde compress edilerek Standby yada Disaster sunucusuna gönderilecektir.

>    RMAN Enhancements *Cross-Platform Backup and Restore

Oracle 12c den önceki sürümlerde Bir platformda bulunan database den alınan backup farklı bir platformda oluşturulan database e restore edilemiyordu. Yani IBM AIX platformunda bulunan bir Oracle veritabanından alınan bir full backup, Linux Redhat , HP-UX yada Sun Solaris ortamındaki bir database e Restore edilemiyordu. Buda kaynak planlama için sıkıntı teşkil ediyordu işte bu sürümde bu özellik nihayet geldi. Oracle 12c ile beraber alınan bir backup hangi platformdan alınırsa alınsın farklı bir platforma Restore edilebilecek.

BACKUP TO PLATFORM …

Alınan bu platform uyumlu backup ı restore etmek de aynı şekilde aşağıdaki gibi çok kolay olacaktır.

RESTORE FROM PLATFORM …

*DUPLICATE Enhancements

Bu özellik kurtarılmış bir klon veritabanının otomatik olarak açılmasını engeller ve böylece veritabanında istenilen ayarlar ve değişiklikler NOOPEN opsiyonunu kullanmadan önce yapılmış olur.

*Network-Enabled RESTORE

Oracle 12c’de restore işlemi network üzerinden yapılabilir.

*RMAN Command-Line Interface Enhancements

Oracle 12c’de RMAN üzerinden sql komutları çalıştırırken artık ‘SQL’ komutunun yazılmasına gerek yok.

SELECT, DESCRIBE fonksiyonları artık RMAN üzerinden de çalıştırılabilir.

*Storage Snapshot Optimization

Recover komutuna ait yeni bir keyword olan SNAPSHOT TIME ile istenilen bir zamana recover yapılabilir.

*Table-Level Recovery From Backups

Oracle 11g ye kadar 1 tablo yu tamamen yada veri bazlı kaybettiğiniz zaman ve bu kaybolan datayı Flashback ve Recycle bin den geri getiremiyorsanız tek bir şansınız kalıyor o da en son alınan full backup dan bu datayı dönmekti. Sadece kaybedilen ilgili tabloyu geri getirmek için ise Backup ünitesinden Full backup ın tamamını restore etmek gerekiyordu. Artık 12c ile kaybedilen bir tabloyu en son alınan full backup dan restore edebileceğiz.

Manageability

> Database Performance Tuning

* Enterprise Manager Database Express

Enterprise Manager Database Express 12c Oracle veritabanlarını yönetmek için web-arayüzlü bir araçtır. Enterprise Manager Database Express veritabanı tanılarını basitleştirip, performansa dair diğer verilerle birlikte ‘Performance Hub’ denen ekrana aktarır. Böylece DBA birçok veriyi tek bir ekran üzerinden gözlemleyebilir.

*PGA Size Limit

Bu özellik her oracle instance’ın ayırabileceği PGA(Program Global Area) miktarını PGA_AGGREGATE_LIMIT parametresini kullanarak sınırlamaya yarar. Bu limitin aşılması halinde ise herhangi bir instance devre dışı kalabilir.

*Real-Time Database Operations Monitoring

Gerçek zamanlı veritabanı işlemlerinin görüntülenmesi veritabanı yöneticilerinin uzun süreli işlemler esnasında sorunları tespit etmesi ve çözmesine olanak tanır.

*Spot ADDM

Spot ADDM veritabanı performans sorunlarıyla karşılaştığında ve bu sorunun nedenini bulmaya çalıştığında devreye giren yeni bir araçtır. Spot ADDM’yi devreye sokan sorunlardan bazıları aşırı işlemci yüklenmesi ve I/O problemleridir. Spot ADDM sonuçları AWR’de yer almaktadır.

>    Database Testing

*Mask At Source or Mask During Subset

Önemli bilgilerin üretim veritabanı dışında kullanımı amacıyla maskelenmesi için öncelikle üretim veritabanının kopyasının alınması ardından maskeleme yaparak test veya geliştirme ortamına sunulması gerekmekteydi. Kaynakta maskeleme ve subset oluşturulma esnasında maskeleme özelliği ise hem güvenlik önlemlerini artırırken bir yandan da oluşturulacak kopyanın boyutunu azaltmaktadır.Örneğin bu özellik sayesinde daha önce uygulama katmanında hallettiğimiz veri maskeleme işlemini Oracle 12c ile birlikte database katmanında hallediyoruz. Belirttiğimiz poliçelere göre mesela Anne kızlık soyadının 1 ve 3.harfini göster diğerlerini gösterme diyebiliyoruz bu işlemi Oracle 12c bizim yerimize yapıp direk uygulamaya cevap dönebiliyor.

>    General *Queryable Patch Inventory

DBMS_QOPATCH özelliğiyle Oracle Database 12c pl/sql veya sql bir arayüz sağlayarak hangi patch’lerin yüklenip yüklenmediğinin kontrolüne imkan sunmaktadır.

Bu özellik sayesinde kullanıcılar:

#    SQL*Plus üzerinden hangi patch’lerin kurulduğu görüntülenebilir.

#    Oracle RAC üzerindeki node’ların hepsinde tek tek log-on olmadan patch kontrolü yapılabilir.

Oracle RAC and Grid Infrastructure

#    Oracle Flex ASM

Oracle 11g ile hayatımıza giriş yapan ASM kavramı 12c ile birlikte yeni bir boyut kazandı. FLEX ASM ile birlikte Cluster durumundaki Bir çok sunucuda ASM instance ları ortak olarak cluster konfigürasyonunda çalışabilecek. Böylece herhangi bir sunucu down olduğu zaman ASM Instance sı failover olup diğer bir sunucuda ayağa kalkacaktır. Bu durumun en büyük faydalarından birisi de çoklu sunucunun bulunduğu bir Cluster sistemimizde az sayıda ASM instance sının kullanılacak olmasıdır. Ör: 5 Node luk bir Cluster da 3 tane ASM instance sı çalışıp önceki sürümlerden daha performanslı bir hizmet verebilecektir. Önceki sürümde 5 node luk bir Cluster da 5 tane de ASM instance sı bulunmak zorundaydı bu şekilde ASM instance sayısından da tasarruf edilebiliyor.

*Oracle ASM chown, chgrp, chmod and Open Files Support

Bu özellik ASMCMD’ye chown, chgrp, chmod gibi komutları etkilenecek dosyalar açıkken bile çalıştırma imkanı sunuyor.

*Oracle ASM Support ALTER DISKGROUP REPLACE USER

Bu özellik yeni bir sql ifadesi sunarak, ALTER DISKGROUP REPLACE USER, herhangi bir ORACLE ASM kullanıcısına ait kimlik bilgilerinin farklı işletim sistemlerine göre değiştirilebilmesini sağlıyor.

>    Oracle RAC Enhancements

*Support for IPv6 Based IP Addresses for Oracle RAC Client Connectivity Oracle 12c ile birlikte Oracle Rac için IPv6 desteği sağlandı.

Performance

>    Database Performance Enhancements *Advanced Network Compression

Oracle 12c’de getirilen yeni parametreler ile, SQLNET_COMPRESSION ve SQLNET.COMPRESSION_SCHEME_LIST , Oracle Net Services üzerinden istemci ve sunucu arasındaki taşıma sırasında sıkıştırma mümkün olabilmektedir. Sıkıştırma aşağıdaki kısımlarda yapılabilir:

#Bağlantı düzeyinde(url)

#Servis düzeyinde(tnsnames.ora,ldap.ora)

#Veritabanı düzeyinde(sqlnet.ora)

*Very Large Network Buffers

Oracle 12c ile birlikte daha büyük boyuttaki SDU(Session Data Unit) paketleri destekleniyor. SDU network içerisindeki buffer boyutunu belirleyen bir parametredir.

Security

*Auditing Enabled By Default

Oracle 12c ile birlikte ‘Auditing’ özelliği default hale getirildi.

*Data Guard Support for Separation of Duty (SoD)

Görevler ayrılığı mekanizması için Data Guard desteği getirildi. SYSDBA kullanıcısının yetkilerine ihtiyaç duymadan Data Guard Konfigürasyonu yapmak mümkün hale getirildi.

*Enhanced Security of Audit Data

Oracle 12c ile birlikte audit kayıtları önceki sürümlerden farklı olarak ‘insert-only’ bir tablespace içerisinde tutuluyor ve yönetimi sadece yeni getirilen AUDIT_ADMIN rolüne sahip kullanıcı tarafından yapılabiliyor.

*Increased Security When Using SELECT ANY DICTIONARY

Oracle 12c sürümünde SELECT ANY DICTIONARY ayrıcalığı güvenlik hassasiyeti bulunan DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$, XS$VERIFIERS tablolara erişime izin vermiyor.

*Last Login Time Information

Oracle 12c’de kullanıcıların son bağlantı zamanları USER$ adlı bir tabloda tutuluyor ve SQL*Plus ile bağlanıldığı vakit görüntülenebiliyor.

*SYSBACKUP Administration Privilege

Oracle 12c sürümünde yeni getirilen SYSBACKUP kullanıcısı ile SYSDBA yetkilerine ihtiyaç duyulmadan RMAN üzerinde çalışmalar yürütülebiliyor.

*SYSBACKUP Administration Privilege

SYSKM kullanıcısı ise Transparent Data Encryption operasyonlarında KEY management tipi işlemleri gerçekleştirmek için kullanılır.

Spatial and Graph

* Oracle Spatial and Graph Enhancements

In-Database Graph, işletmelere çeşitli veri noktaları ve veri setleri arasında grafikler ve bağlantılar oluşturma becerisi kazandırıyor. İşletmeler semantik analiz yöntemini kullanarak, örneğin müşterilerinin arkadaş çevresini dikkate alan bir ilişkiler ağını kolayca belirleyebiliyor. Bu ilişkilerin grafiklerle gösterilmesi satın alma trendlerinin ve müşteri kaybı nedenlerinin daha iyi anlaşılmasına yardımcı olabiliyor.

Oracle Database 12c işletmelere büyük hacimlerde veriyi depolayabilen ve yönetebilen bir veri ambarı platformu sunduğu gibi,kullanıcıların aşina oldukları SQL arayüzlerini veya R gibi istatistik platformlarını kullanarak basit sorgulardan karmaşık analizlere kadar her şeyi yürütebilmelerini sağlıyor. Kururluşlar, verileri sürekli veri ambarlarından veri marketlerine ve özel işlem sunucularına (örn. OLAP ve İstatistiki Analiz amaçlı olarak) taşımak yerine, gerek kurumsal verileri gerek büyük verileri kullanıcıların tüm Kurumsal Zeka ve Analiz ihtiyaçlarını destekleyen bir veri ambarında konsolide edebiliyorlar. Oracle Database 12c’nin veritabanı içi analiz becerileri ayrı işlem siloları bulundurma ihtiyacını ortadan kaldırıyor ve işletmelerin büyük verilerin sunduğu fırsatları daha iyi değerlendirmelerine yardımcı oluyor.

In-Database Spatial Integration, kullanıcıların coğrafi ilişki ve trendleri daha iyi anlamasını sağlıyor. Örneğin, konumsal veriler, bir müşterinin satın alma tarihçesi boyunca coğrafi konumunun nasıl değiştiğini anlamaya yardımcı oluyor; böylece geleneksel analize daha bilinçli kararlar alınmasına yardımcı olacak yeni bir açı kazandırıyor.

HAZIRLAYAN: EMRE ALBAYRAK

Oracle 10G ve 11G üzerinde DBCONSOLE(Enterprise Manager) Kurulumu

Bu yazımı support.oracle.com üzerinde bulunan aşağıdaki dosyadan oluşturarak yazdım. Aşağıdaki adımları izleyerek Enterprise Manager kurarsanız veritabanını Quiesce Mode ‘ a sokmazsınız.

How To Drop, Create And Recreate the Database Control (DB Control) Release 10g and 11g
(Doc ID 278100.1)

 

Öncelikle ORACLE_HOME klasörünün altında olan <hostname_sid> isimli klasörü silin.

rm -rf <ORACLE_HOME>/<hostname_sid>

Daha sonra aşağıdaki klasörü silin.

rm -rf <ORACLE_HOME>/oc4j/j2ee/OC4J_DBConsole_<hostname>_<sid>

Sqlplus üzerinden sırasıyla aşağıdaki komurları çalıştırın:

DECLARE
CURSOR c1 IS
SELECT owner, synonym_name name
FROM dba_synonyms
WHERE table_owner = 'SYSMAN';
BEGIN
FOR r1 IN c1 LOOP
IF r1.owner = 'PUBLIC' THEN
EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM '||r1.name;
ELSE
EXECUTE IMMEDIATE 'DROP SYNONYM '||r1.owner||'.'||r1.name;
END IF;
END LOOP;
END;
/
DROP USER mgmt_view CASCADE;
DROP ROLE mgmt_user;
DROP USER sysman CASCADE;

Yukarıdaki komutları başarıyla çalıştırdıktan sonra, sistemimizde var olan çalışmayan dbconsole u tamamen kaldırmış olduk. Dbconsolu u yeniden kurmak için aşağıdaki komutu çalıştırın.

$ORACLE_HOME/bin/emca -config dbcontrol db -repos create

Veritabanı çökme senaryoları ve Rman yedeklerden dönme

Yedekten Kurtarma Yöntemleri

Veri tabanında filesystem’de veri tabanı dosyası kaybedilir veya fiziksel olarak disk storage’da bir problem olursa yedekten kaybedilen datafile’lar RMAN ile restore edilir.

a. Filesystem’de Sorun Yok, Datafile Kaybedildi.

Örneğin  alert.log’da  datafile 8 bulunamıyor bilgisi çıkıyor. Datafile 8 restore edilip recover edilmeli.

Veritabanı açık yada mount modda olmalıdır.

rman  target /

rman> restore datafile 8;

datafile restored.

man> exit.

sqlplus / as sysdba

recover datafile 8;

recovery completed.

 

b. Filesystem’de Sorun var, Datafile Kaybedildi.

Filesystem sorunu çözülemezse Datafile’ı başka yere restore etmeliyiz.

Örnekte datafile larımızı filesystem olarak /data1 klasörü içerisinde tutuyoruz. Bozuk olan datafile ları /data2 klasörüne kopyalıyoruz ve onun üzerinden restore ediyoruz.

Öncelikle datafile ların olduğu tablespace i offline duruma çekiyoruz.

sql 'alter tablespace ts_deneme offline';

rman target /

rman>

run

{

set newname for datafıle '/data1/orcl/datafile/datafile8.dbf' to   '/data2/orcl/datafile/datafile8.dbf';

set newname for datafıle '/data1/orcl/datafile/datafile9.dbf' to   '/data2/orcl/datafile/datafile9.dbf';

restore datafile  '/data2/orcl/datafile/datafile8.dbf', '/data2/orcl/datafile/datafile9.dbf';

swıtch datafıle all;   # control file'i yeni filenameler ile update

recover datafile '/data2/orcl/datafile/datafile8.dbf', '/data2/orcl/datafile/datafile9.dbf';

}

sql 'alter tablespace ts_deneme onlıne';

exit;

 

c. Controlfile’larda Sorun oldu.

Controlfile’ın değişik kopyaları sqlplus üzerinden listeliyoruz.

$ Sqlplus / as sysdba

Sql> show parameter control

/data1/orcl/controlfile/o1_mf_9bp3cy5x_.ctl,

/data2/orcl/controlfile/o1_mf_9bp3cy7s_.ctl

 

Veritabanı kapalı iken var olan controlfile var olmayan’ın üstüne kopyalanır.

İki dosya da varsa ve farklı dosyalar ise önce dosyalar farklı isimle yedeği alınır.

Birinden diğerine kopyalama yapılıp veri tabanı açılır.

Controlfile’dan dolayı hata devam ediyorsa, bu sefer diğer dosyayı yedeğimizden controlfile dosylarına kopyalarız.

Controlfile hiç yoksa, veritabanı nomount modunda açılır.

$ rman target /

Rman> Recover controlfile;

 

d.  (online log) Redo log dosyalarında Sorun oldu.

 

Redo log dosyası kaybı veri kaybı anlamına gelir. Ancak kaybedilen sadece bir kopya ise

/redo1/orcl/onlinelog/o1_mf_1_9bp3cyc2_.log

/redo2/orcl/onlinelog/o1_mf_1_9bp3d1jo_.log

Veritabanı açık  değilken (nomount ve mount modu olabilir) bulunmayan dosyanın üstüne var olan dosya kopyalanabilir. Veritabanı açılır.

Redolog kaybedilmişse.

Incomplete Recovery yapılmalıdır.

Incomplete recovery  işlemi için sırasıyla aşağıdaki işlemler yapılmalıdır:

1.shutdown abort

2.startup mount

3.nls_date_format set edilmeli

4.set until time (recover yapılacak zamana kadar olan zaman)

5.restore

6.recover

7.open resetlogs

8.backup

$ set NLS_DATE_FORMAT=YYYY-MM-dd HH24:MI:SS

rman target /

rman> run {

set until time ’2014-01-03  16:29:00’

restore database;

recover database;

alter database open resetlogs;

exit;

Full Rman Yedek Alma Scripti

Bu yazımda linux işletim sistemleri üzerinden rman scripti yazarak belirlediğimiz zaman dilimleri içerisinde oracle veritabanımızın full yedeğini almak üzere bir şeyler paylaşacağım.

Oracle kullanıcısının profile dosyasına ORACLE_SID ve ORACLE_HOME değerlerini yazıyoruz.

.bash_profile

export ORACLE_SID=orcl

export ORACLE_HOME=/oracle/app/oracle/product/11.2.0.4/db_home1

 

Oracle kullanıcısının altına dbscripts klasörü olusturup onun altına rman.sh dosyasını oluşturuyoruz.

#!/bin/bash

. /home/oracle/.bash_profile

rman target / nocatalog << EOF > /home/oracle/dbscripts/rman.log

run {

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

backup as compressed backupset archivelog all not backed up tag='ARCH';

backup as compressed backupset database tag='DATA';

backup current controlfile tag='CCF';

backup spfile tag='SPF';

release channel c1;

release channel c2;

release channel c3;

release channel c4;

}

exit

EOF