Merhaba arkadaşlar bu yazımda data subsetting ile ilgili bir örnek yapacagım ama subsetting yapmadan önce subsetting nedir kısaca bundan bahsedelim.

Bildigimiz gibi bir yazılım projesi yapılırken,yapılan proje hemen  canlı sisteme uygulanmaz önce test ortamında denenmesi lazım test ortamından başarılı çıktıktan sonra  ancak çalışan sisteme uygulanabilir.Peki test ortamında uygulanması için de bize veritabanı lazım çalışan veritabanımızı veremiyecegimize göre ne yaparız veritabanımızın aynısını bir başka tarafa kurmamız lazım fakat veritabanımızın boyutu çok yüksek ise bu bizim işimizi çok uzatır ve istenmeyen bir durum söz konusu olur işte subsetting tam olarak burada ortaya çıkıyor.Subsetting ile  test veritabanımıza canlı veritabanımızdaki her şey gitmesin de bizim belirledigimiz şartlara göre bir miktar veri gitsin(Örnegin benim x tablomun %10 verisi karşı veritabanına gitsin gibi vs.).Yani kısaca özetleyecek olursak veri bütünlügünü ve yapısını bozmadan test veritabanı oluşturacagımız zaman subsetting çok işimize yarar.

Şimdi Oracle 12c Enterprise Manager Dan yararlanaraktan Subsetting ile ilgili bir örnek yapalım,yapacagımız adımları kısaca yazarsak ;

1.Subset yapacagmız veritabanını Oracle 12c Enterprise Manager’e tanıtmalıyız,

2.Subset işlemini yapacak job oluşturmalıyız,

3.Baglı oldugumuz veritabanında data model oluşturmalıyız(Subsetting işleminde data model’leri kullanarak işlemler yapacagız),

4.Son adım olarak subsetting adımını başlatırız.

1.Subset yapacagmız veritabanını Oracle 12c Enterprise Manager’e tanıtmalıyız

Veritabanı tanımlaması yapmak için Targets –> Databases seçenegi seçilir.

Oracle 12c Enterprise Manager Database1

Şu anda 12c üzerinde hiçbir veritabanı tanımlanmadıgı için bize herhangi bir bilgi getirmiyor.

Yeni tanımlama yapmak için ise Search Listseçilir.

Oracle 12c Enterprise Manager Database2

Yeni veritabanı tanıtmak için Add seçenegini seçmeliyiz. Oracle 12c Enterprise Manager Database3

Buradan veritabanımızın kurulu oldugu Host’u seçmek için Search yapmalıyız. Oracle 12c Enterprise Manager Database4

Veritabanımızın kurulu oldugu host’umuzu seçer Select seçenegini seçeriz. Oracle 12c Enterprise Manager Database5

Continue ile devam ederiz. Oracle 12c Enterprise Manager Database6

Göstermiş oldugumuz host üzerinde ki veritabanını ve listener’ların listesini verdi.Veritabanızı kullanacagımız için veritabanımızın kullanıcı adı  ve şifresini girmeliyiz.Bunun için de veritabanımızın listelendigi yerde ki Configure seçenegini seçmeliyiz. Oracle 12c Enterprise Manager Database7

dbsnmp kullanıcısının şifresini girmeliyiz.Oracle 12c Enterprise Manager Database8

Next ile devam etmeliyiz.
Oracle 12c Enterprise Manager Database9

Bize bilgilerimizi veriyor OK ile devam etmeliyiz.
Oracle 12c Enterprise Manager Database10

Next ile devam ederiz.
Oracle 12c Enterprise Manager Database11

Save seçenegini seçerek kaydetmeliyiz.

Oracle 12c Enterprise Manager Database12

Bize bilgilerimizi veriyor OK ile devam etmeliyiz.

Oracle 12c Enterprise Manager Database13

Şu anda veritabanımızı 12c’ye gösterdik ama statusda’da görüldügü gibi hala çalışıyor.

Oracle 12c Enterprise Manager Database14

Status aşagıda da gördügümüz gibi Up oldugu zaman veritabanımızı sıkıntısız tanıtmış oluyoruz. Oracle 12c Enterprise Manager Database15

2.Subset işlemini yapacak job oluşturmalıyız

Subset işlemini yapacak job oluşturmak için Enterprise –> Job –> Activity seçenegini seçmeliyiz.

Oracle 12c Enterprise Manager Job16

Buradan Deploy Test Data Management Packages seçerek Go seçenegini seçmeliyiz.Oracle 12c Enterprise Manager Job17

Job’umuza isim veririz ve target eklemek için Add seçenegini seçeriz.Oracle 12c Enterprise Manager Job18

Target’imizi seçip Select ile devam ederiz.Oracle 12c Enterprise Manager Job19

Parameters seçenegi ile devam etmeliyiz.Oracle 12c Enterprise Manager Job20

Custom Application‘u seçdikten sonra,Credentials seçenegi ile devam ederiz.Oracle 12c Enterprise Manager Job21

sys kullanıcı adı ve şifremizi yazarız.Daha sonra Submit ile işlemimizi bitiririz.Oracle 12c Enterprise Manager Job22

Görüldügü gibi Job oluştu ama bize başarılı oluşturulup oluşturulmadıgı ile ilgili bilgi vermiyor.Oracle 12c Enterprise Manager Job23

Biraz bekledikten sonra aşagıda da gördügümüz gibi Succeeded olmuşsa Job’umuz başarılı demektir.Oracle 12c Enterprise Manager Job24

3.Baglı oldugumuz veritabanında data model oluşturmalıyız(Subsetting işleminde data model’leri kullanarak işlemler yapacagız)

Subsetting yapacagımız verilere göre Data Model oluşturmalıyız.Bunun için Enterprise –> Quality Management –> Data Discovery and Modeling seçenegini seçmeliyiz.

Oracle 12c Enterprise Manager Data Model25

Data Model oluşturmak için Crete seçenegini seçeriz.Oracle 12c Enterprise Manager Data Model26

Data Model’imize isim veririz ve data model oluşturacagmız veritabanını seçmek için ise search işaretine tıklarız.Oracle 12c Enterprise Manager Data Model27

Veritabanımızı seçer ve Select ile devam ederiz.Oracle 12c Enterprise Manager Data Model28

Continue ile devam ederiz.Oracle 12c Enterprise Manager Data Model29

Named’i seçerekten daha önce giriş yaptıgımız kullanıcı adını ve şifresini kullanmasını isteriz.Oracle 12c Enterprise Manager Data Model30

Kullanıcıları listelenmsi için Login seçenegini seçerek devam etmeliyiz.
Oracle 12c Enterprise Manager Data Model31

İstedigimiz kullanıcıları seçeriz.Oracle 12c Enterprise Manager Data Model32

Continue ile devam ederiz.Oracle 12c Enterprise Manager Data Model33

Submit’i seçerek işlemlerimizi bitiririz.Oracle 12c Enterprise Manager Data Model34

Gördügümüz gibi data model’imiz oluşmuştur başarılı olup olmadıgı bilmek için bir süre beklemeliyiz.
Oracle 12c Enterprise Manager Data Model35

Status Succeeded oldugu zaman başarılı oldugunu bize bildirir.Oracle 12c Enterprise Manager Data Model36

Şimdi oluşturdugumuz data model’i seçer edit seçenegini seçerek düzenleriz.Oracle 12c Enterprise Manager Data Model37

Daha önceden girmiş oldugumuz kullanıcı adı ve şifre ile giriş yaparız.Oracle 12c Enterprise Manager Data Model38

View — > Expand All ile devam ederiz.Oracle 12c Enterprise Manager Data Model39

Referential Relationships’e baktıgımız zaman tablolarımız arasında ki ilşkiyi görürüz.Oracle 12c Enterprise Manager Data Model40

Save and Return ile işlemlerimizi bitiririz.

Oracle 12c Enterprise Manager Data Model41

Görüldügü gibi de data model’imizde bir sorun yoktur.Oracle 12c Enterprise Manager Data Model42

4.Son adım olarak subsetting adımını başlatırız.

Artık Subsetting işlemine başlayabiliriz bunun için Enterprise –> Quallity Management –> Data Subset Definitions seçenegini seçer devam ederiz.

Oracle 12c Enterprise Manager Data Subsetting43

Create Diyerek yeni bir subset oluşturmaya başlayabiliriz.Oracle 12c Enterprise Manager Data Subsetting44

Subset’imize isim veririz ve data model’imizi ve data source’ümüzü seçmek için search işaretcine tıklarız.

Oracle 12c Enterprise Manager Data Subsetting45

Data Model’imizi seçeriz.Oracle 12c Enterprise Manager Data Subsetting46

Data Source’ümüzü seçeriz.Oracle 12c Enterprise Manager Data Subsetting47

Continue ile devam ederiz.Oracle 12c Enterprise Manager Data Subsetting48

Eskiden kullandıgımız kullanıcı adı ve şifre bilgilerini gireriz,istersek schedule zamanlayabiliriz.Daha sonra submit ile devam ederiz.Oracle 12c Enterprise Manager Data Subsetting49

Başarılı olup olmadıgını bilmek için bir süre bekleriz.
Oracle 12c Enterprise Manager Data Subsetting50

görüldügü gibi Succeeded  yazdıgı zaman başarılı demek.Oracle 12c Enterprise Manager Data Subsetting51

Schedule’umuzu seçer edit ile düzenleme yaparız.Oracle 12c Enterprise Manager Data Subsetting52

Giriş yaparız.Oracle 12c Enterprise Manager Data Subsetting53

Table Rules Seçeriz.Oracle 12c Enterprise Manager Data Subsetting54

Subsetting işlemini yapılandıracagımız için create seçenegini seçeriz.Oracle 12c Enterprise Manager Data Subsetting55

Burada 1.adımda Data Modelimizde ki hangi kullanıcıyla işlem yapacagımızı seçeriz.

2.adımda seçtigimiz kullanıcada ki hangi objeler üzerinde subset yapacagımızı seçeriz.Bütün tabloları seçebilecegimiz gibi belirli tabloları da seçebiliriz ya da sadece belirli tipteki sütunları da seçebiliriz.

3.adımda subset’i neye göre yapacagını seçeriz.All rows dersek bütün sütunları seçer,Some Rows dersek bütün verinin girdigimiz deger kadar yüzdesini alır.Rows Where dersek girdimiz şarta uygun olan verileri getirir.

4.adımda Ancestor and Descendant Tables seçersek subset yapacagımız tabloya foreign key ile baglı olan bütün tablolar üzerinde subset yapar.Ancestor Tables Only seçersek sadece seçtigimiz tablo üzerinde subset yapar.
Oracle 12c Enterprise Manager Data Subsetting56

Space Estimates’i seçersek  subset ile ilgili ayrıntıları görebiliriz.Oracle 12c Enterprise Manager Data Subsetting57

Burada önceden table’ın boyutu ve rows sayısını verir yanın da ise subset’den sonra oluşacak tablonun ortalama boyutunu ve rows sayısını veriyor.Return ile devam ederiz.Oracle 12c Enterprise Manager Data Subsetting58

Subset’imizi seçip Actions –> Genererate Subset… seçenegini seçmemiz gerekir.Oracle 12c Enterprise Manager Data Subsetting59

Burada 1.adımda bize subseti nerde yapacagını sorur Writing Subset Data to Export Files seçenegini seçersek tablonun subset’lenmiş halini bir dump file’e çıkartacak.Deleting Data From a Target Database ‘i seçtigimiz zaman ise Data model oluşturmak için kullandıgımız veritabında ki ilgili tabloyu subsetlenmiş hale getirir(yani bir nevi eski tabloyu siler yerine o tablonun bizim belirledigimiz kurallara göre subsetlenmiş halini getirir).

2.adımda veritabanı bilgilerini gireriz.

3.adımda veritabanının bulundugu işletim sistemi kullanıcı adı ve şifresini gireriz.(dump dosyasını işletim sistemi üzerine yazacagımız için ihtiyaç duyarız)Oracle 12c Enterprise Manager Data Subsetting60

dump dosyasının çıkacagı dizini işaret eden directory’ü seçeriz.Continue ile devam ederiz.Oracle 12c Enterprise Manager Data Subsetting61

İsim verir,Submit ile devam ederiz.
Oracle 12c Enterprise Manager Data Subsetting62

Biraz beklememiz gerekir bu adımda.Oracle 12c Enterprise Manager Data Subsetting63

Status kısmında Running yazarsa Subsetting işlemimizin başladıgını anlarız.
Oracle 12c Enterprise Manager Data Subsetting64

Status kısmında Succeeded yazarsa işlemin başarı ile bittigini anlarız.Oracle 12c Enterprise Manager Data Subsetting65

Burada bu işlemleri nasıl yaptıgını tek tek anlatıyor.Log Report dersek de daha ayrıntılı görebiliriz arka planda ne yaptıgını.Oracle 12c Enterprise Manager Data Subsetting66

Yararlı olması Dilegiyle …
Yazar : Mustafa Bektaş Tepe
Oracle World

Loading