Hurriyet

30 Mayıs 2014 Cuma

Oracle Veritabanı: Pivot ve Unpivot Tablolar

Pivot 

Normal tablolarda bilgiler sütun-değer çiftleri şeklinde tutulmaktadır.

Örnek olarak Scott örnek şemasındaki emp tablosunu kullanabiliriz. Gerçi pivot işlemlerini bütün tablolarda uygulayabiliriz.


Bu tabloda her çalışanın işi, adı soyadı, departman numarası gibi bilgiler tutulmaktadır.

Burada her departman da kaç tane kullanıcının bulunuduğunu görmek için aşağıdaki gibi bir sorgu yazabiliriz.



Departman başına düşen toplam kullanıcıyı bulsak da hangi kullanıcıların hangi departmanda olduğunu temiz bir şekilde göremiyoruz. Bize isim bazında hangi departmana ait olduklarını gösteren bir rapor görmek istersek aşağıdaki gibi bir pivot tablo sorgusu uygulayabiliriz.


for deptno in (...) ifadesi değerlerimizin bunlara kısıtlanmasını sağlar. Dikkat edilmesi gereken başka bir konuda 4 sütunu burada bulunmasıdır. Bu da demek oluyorki tablonun tamamının transposesi alınmamaktadır. Sadece bir kısmının değerleri yukarıya çıkartılırken buna göre veriler gösterilmektedir.

Özet Olarak:

Yukarıda crosstab raporu hazırlamış olduk. 2.resimdeki verileri açıp  isim bazında hangi gruplara ait olduklarını göstermiş olduk. Eskiden departman no'ları satır verileri olarak gösterilirken şimdi başlık olarak kolonlarda gözükmektedir. Bir tablonun transpose edilmesi de denilebilinir.


Unpivot:

Unpivot ile pivot olarak yaratılmış tabloları eski haline getiririz.

Örnek olarak tablomuzu 3.resimdeki gibi pivot olarak yarattığımızı düşünelim.

create table deneme as select * from (select ename,deptno from scott.emp) pivot (count(deptno) for deptno is (10,20,30));

Bu şekilde yarattıktan sonra 2. resimdeki sonuçları elde etmek için unpivot işlemi yapmamız gerekir. Bu durumda da aşağıdaki gibi bir sorgu örneği kullanabiliriz.

select * from deneme
unpivot
(
departments
for deptno in (10,20,30)
);




Oracle Veritabanı: SQL Trace

Session Trace'inin Açılması:

Şu anki session'ımız için SQL Trace açmak istiyorsak:

ALTER SESSION SET sql_trace = true; 

Trace'ini yazdığımız session'ın trace dosyasının daha belirgin olarak gözükmesi için ismine bir ayarda ekleyebiliriz.

ALTER SESSION SET sql_trace = true;  
 ALTER SESSION SET tracefile_identifier = mysqltrace; 

Session Trace'inin Kapatılması:

ALTER SESSION SET sql_trace = false;

Başka Session'lar İçin Trace Açılması:

Bunun için ilk olarak problemli session'ın SID ve SERIAL# 'ının belirlenmesi gerekir. Bunu da v$session tablosundan görebiliriz.

Örnek SID=11,Serial#=14907

ALTER SYSTEM SET timed_statistics = true;  
Execute dbms_system.set_sql_trace_in_session(11, 14907, true);

Kullanıcı kendi session'ınında SQL'ini çalıştırdıktan sonra da kapatılır.

 execute dbms_system.set_sql_trace_in_session(11, 14907 , false);

Başkasının trace dosyasının bulunması için o kullanıcının sid ve serial$'Inın bilinmesi gerekir.

select tracefile from v$session join v$process on (addr=paddr) and audsid=(select audsid from v$session where sid=&a and serial#=&b);

Bu örneğimiz için SID=11,Serial#=14907 kullanmaktayız, ancak başka database'lerde farklı değerler kullanabiliriz.


Trace Dosyalarının Büyüklükleri:

Standart büyüklük işletim sistemin block size'ıdır. Yani 4mb'dır. Bununla birlikte MAX_DUMP_FILE_SIZE  parametresini değiştirirsek trace dosyalarının büyüklüklerini değiştirebiliriz. Trace sırasında dosyanın bölünmemesi için dosyanın yeterince büyük olması gerekmektedir.

http://berkeoz1.blogspot.com.tr/2014/01/oracle-veritaban-oracle-error-ora-48913.html

Trace Dosyalarını Formatlanması

Bunun için TK*Prof  aracını kullanabiliriz.

TK*Prof Kullanımı:
http://berkeoz1.blogspot.com.tr/2013/11/oracle-veritaban-tkprof-tkprof-nedir.html



Referans:
http://berkeoz1.blogspot.com.tr/2014/01/oracle-veritaban-oracle-error-ora-48913.html
http://berkeoz1.blogspot.com.tr/2013/11/oracle-veritaban-tkprof-tkprof-nedir.html

29 Mayıs 2014 Perşembe

PowerShell: Ders 5 - Tutorial - PowerShell Variables - Değişkenler

PowerShell'de :

-Değişkenler: Bilgiyi tuttuğumuz yerler
-Diziler: İndex'li veriyi saklamamızı sağlar.
-Hash Table: Çiftler halinde veriyi tutmamızı sağlar.

Değişkenler:

Script'in içinde kullanılacak bilgileri, ya da script'in sonunda çıkacak sonuçların tutulmasını sağlar. Bu bilgiler text, string, integer veya object bile olabilir.

Değişken Tipleri:

Değişken tiplerini görmek için "get-help about_automatic_variables" komutunu çalıştırabiliriz.

PowerShell'de bütün değişken isimleri "$" karakteriyle başlamalıdır. Bir değişken atamasına örnek olarak:

>$isim="Berke"

Aynı zamanda Set-Variable cmdlet'i de bulunmaktadır değişken ayarlamak için.

>Set-Variable -Name x -Value "abc"

Değişken tipleri
TypeDescription
[int]32-bit signed integer
[long]64-bit signed integer
[string]Fixed-length string of Unicode characters
[char]A Unicode 16-bit character
[byte]An 8-bit unsigned character
[bool]Boolean True/False value
[decimal]An 128-bit decimal value
[single]Single-precision 32-bit floating point number
[double]Double-precision 64-bit floating point number
[xml]Xml object
[array]An array of values
[hashtable]Hashtable object

String Birleşimi(Concatenation)

$x="a"
$y="b"
$z=$x+$y
echo $z

Sayılar:

PowerShell'de değişkenler içlerinde sayı olup olmadığını veya text olup olmadığını anlamakla beraber değişkenleri cast ederek de atayabiliriz.

Örnek:

[string]$a="deneme"
[int]$x=12
[decimal]$y=8.7
 
PowerShell Operatörleri

= : Eşitleme
+ : Toplama
- : Çıkarma
* : Çarpma
/ : Bölme
% : Mod

İşlem yapmak için parantezler kullanılabilinir, böyle işlem sırası belirtilebilinir.

Diziler:

Array örneği olarak:

Array tanımı aşağıdaki gibidir.

$sayilar=@(1,2,3,4)

Arrayi direk görmek için:

$sayılar

Array içerisindeki değerleri görmek için (İlk değer 0'dan başlar. Yani $sayilar[0]=1)

$sayilar[0]



Oracle Veritabanı: Synonym

SYNONYM:

Oracle synonym'leri belirli bir nesneyi işaret eden ve buna ya aynı adı ya da istediğimiz bir adı verebilmemiz sağlayan objelerdir. Synonym'ler ile tablo, view, sequence, procedure, stored function, package, materialized view, Java class schema object gibi bütün veritabanı nesnelerini işaret eden objeleri oluşturabiliriz.

Synonym'ler ile hangi schemada bulunursak bulunalım, tablo ismine bağlı kalmadan istediğimiz verilere erişebiliriz. Uygulamaların veriyi değiştirmeden çalışması için çok uygundurlar. Verinin sahibinin veya bulunduğu database veya schema'nın nerede olduğuna bakılmaksızın uygun haklar verildikten sonra gerekn programlar tarafından kullanılabilinirler.

Gereken Yetkiler:

Kendi şemamızda synonym yaratmak için "CREATE SYNONYM' yetkisi
Başkalarının şemasında synonym yaratmak için "CREATE ANY SYNONYM" yetkisi
Genel bir synonym yaratmak için "CREATE PUBLIC SYNONYM" yetkisi. Public synonym'i bütün kullanıcılara açıktır. Ancak synonym kullanabilmek ile onun datalarına erişmek farklı olaylardır. Bunun için o nesne üzerine aynı zamanda select yetkisi de verilmelidir.(Farklı bir işlem yapılmayacağı varsayılırsa)

Syntax:

Create or replace synonym schema.synonym for schema.object@dblink;

dblink ifadesi nesne sadece uzaktaki bir veritabanındaysa kullanılır.
or replace ifadesi var olanı değiştirmek için kullanılır.
For ifadesi de hangi veritabanı nesnesi için olacağını gösterir.

Synonym'leri Nereden Kontrol Edebiliriz?

user_synonyms
all_synonyms
dba_synonyms;

Synonym'leri Nasıl Kaldırırız?

drop synonym synonym_adı;

Not: Olmayan nesneler için de synonym'ler yaratılabilinir. Synonym'lerle eşli tablolar synonym'i etkilemeden kaldırılabilinir.

Referans:

Synonym'ler - http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7001.htm

27 Mayıs 2014 Salı

PowerShell: Ders 4 - Tutorial - Parametreler - Cmdlet Opsiyonları

Ortak Parametreler:

  • -whatif – Cmdlet komutu gerçekten çalıştırılmaz ancak çalıştırılırsa ne olacağı gösterilir.
  • -confirm - Kullanıcıyı çalıştırmadan önce uyarır.
  • -Verbose - Daha fazla detay verir.
  • -debug - Debug bilgisi verir.
  • -ErrorAction - Cmdlet  komutuna sorun ile karşılaşıldığında ne yapılacağını söyler. Örnek olarak: continue, stop, silently continue, and inquire.
  • -ErrorVariable - Hata durumunda hatanın hangi değişkende tutulacağını gösterir. Standard  $error değişkenine ektir.
  • -OutVariable - Sonuç olarak ekrana basılan bilgiyi kaydedecek olan parametre opsiyonudur.
  • -OutBuffer - Belirli sayıda nesne değerini tutar.

Örnek: -Whatif parametresinin aşağıdaki kullanımına bakaraktan bir komutun kullanılması halinde hangi işlemlerin yapılacağını göstermektedir. Belirli process'lerin kapatılmasıyla sonuçlanacak bir çıktı ile sonuçlanacaktır.


Komutlar ve Pipe Kullanımı: 

Komutlar arka arkaya kullanılmak istendiğinde aşağıdaki şekilde kullanılmalıdır bunun için aralarına ";" koymak yeterlidir.


Ancak eğer komutların birbirlerinin ürettikleri sonucu kullanmalarını istiyorsak aralarına pipe("|") koymalıyız.


Pipe koyduğumuzda çıkan her sonuç için pwd komutunu çalıştırmış oluruz. Yani dir'den çıkan sonuçları pwd içine koymuş oluruz.

PowerShell: Ders 3 - Tutorial - PowerShell Alias

PowerShell'de alias kullanımı mümkündür. Unix ve Linux ortamlardan alışık olduğumuz cd, mv, pwd gibi komutlar PowerShell'de cmdlet komutlarının alias'ı şeklinde tanımlanmıştır. Örneğin mv komutu move-location adlı cmdlet programının kısa adıyken dir de get-location adlı cmdlet programının alias'ıdır.

Kullanıcı Tarafından Alias Belirlenmesi:

"Set-Alias alias_adı komut" şeklinde alias belirlenebilir.

Örnek

"Set-alias gs get-service" diyip gs komutunu girersek bütün servisleri görürüz.

Ancak bu alias'lar kalıcı olmazlar kalıcı yapmak için 2 tane yöntem vardır.

Alias'ları sürekli export-import  edebiliriz ya da PowerShell profillerine

Alias'lar Nasıl Export ve Import Edilir?

export-Alias C:\Users\Desktop\Alias.txt
import-alias C:\Users\Desktop\Alias.txt

PowerShell Profillerinde Alias Tanımlamak:

PowerShell profilleri kısaca her session başladığında çalıştırılan bir script'dir. Profillerin nerede olduğunu aşağıdaki komutumuzla görebiliriz. Kısaca PROFILE değişkeninin değeri sorguluyoruz.

Örnek:

PS C:\Users> echo $PROFILE
C:\Users\IS96626\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Yukarıdaki dokümanı editlememiz gerekmektedir.

Bu dosyaya gidip "Set-alias gs get-service" komutunu yazarsak her session açışımızda bu komut dosyası çalışacak ve alias'ımızı oluşturacaktır.

Execution Haklarını Görmek ve Değiştirmek:

"Get-ExecutionPolicy" ile script dosyasının haklarını görebiliriz.
"Set-Execution Policy" ile script çalıştırılma şeklini aşağıdaki versiyonlara değiştirebiliriz.


Restricted – Çalıştırılamaz
AllSigned – Bütün scriptler güvenilir(kayıtlı) bir kullanıcı tarafından imzalı olmalıdır.
RemoteSigned – Bütün scriptler güvenli bir yerden indirilmiş olması gerekir.
Unrestricted – Bütün scriptler çalıştırılabilinir.


PowerShell: Ders 2 - Tutorial - PowerShell Komutları

4 tip PowerShell komutu bulunmaktadır. Bunlar: Cmdlet(Command-Let), PowerShell Fonksiyonları, PowerShell Script'leri ve native Windows komutları.

Bunlardan cmdlet'i bu yazıda inceleyeceğiz.

Cmdlet - İsimlendirme Standartı

Bu komutlar bir fiil bir isim olacak şekilde oluşturulmaktadır. Aşaüıdaki komutla  bütün cmdlet tipindeki komutları görebiliriz.

"get-command -Commandtype cmdlet"

Bu komutlar içerisinden içinde "Get" geçenleri bulmak istersek:

"get-command -verb get"

Komutu içerisinde Service adı geçen komutları görmek istersek de:

"get-command -noun service"

Cmdlet'lerin Kullanımı:

Cmdlet'lerin kullanımına örnek vermek için "Service" komutunu kullanacağız. Sistemimizde çalışan servisleri görmek için "get-service" komutunu kullanırız.


Bu komutun çıktısının aynısını "Services" ekranından da görebiliriz.



Burada yer alan herhangi bir servisi açıp kapamak için stop-service veya start-service komutunu kullanabiliriz.

Örnek:

Başlatmak için: start-service -name Browser
Durdurmak için: stop-service -name Browser
Durumunu görmek için: get-service -name Browser

PowerShell: Eğitim Başlangıcı - Ders - Tutorial

PowerShell'in kullanımı hakkında son zamanlarda bilgi ihtiyacım oldu. Microsoft ortamında çalışan Oracle Application Server'larından dolayı buralarda programlama yapma gereksinimim oldu. Microsoft Server'larındaki OBIEE ve Hyperion Server'larımızın operasyonel olarak hazır hale getirilmesi için hazırda varolan komutların uygun algoritmalarla birleştirilmesi lazımdı. Bu sebeplerden dolayı PowerShell ile programlamaya giriş yapmak istedim.

PowerShell Nedir?

PowerShell bir scripting dilidir. Grafik arayüzüne sahip değildir. Konsoldan çalıştırılır. Her şeyin grafik ortama tıkılı kaldığı yerlerde oldukça yardımcı olmaktadır.

PowerShell'i Çalıştırmak:

PowerShell her türlü Windows Server'da bulunmamaktadır. Windows 2008 Server'da standart olarak gelirken diğerlerine yüklenmesi gerekmektedir. Buraya Startup>Accessories>Windows Power Shell altından girebiliriz.


PowerShell'e girdiğimiz an  komut satırının başında PS yazacaktır. Buradan da PowerShell kullandığımızı anlayabiliriz ve herhangi bir komut ekranında olmadığımızı görebiliriz. Normal cmd'nin üzerine geliştirildiği için eskiden var olan komutlar burada da yer almaktadır.

Uygulamada var olan isimleri kısaltılmış komutları görebilmek için aşağıdaki komutu gireriz.

Get-Alias

PowerShell'deki komutlarda büyük küçük harf ayrımı yapılmamaktadır. (Yani Get-Alias=geT-ALIas)
Cmdlets olarak belirtilen şeyler ise asıl gömülü komutlardır. Bu komutlara referans yapan alias'lar (takma isimler) olabilir. Örneğin cd(change directory) komutu Set-Location komutunun alias'ıdır.

Gömülü Bütün Komutları Bulmak:

Gömülü bütün komutları bulmak için "Get-Command" adlı komutu çalıştırmamız yeterlidir. Bununla birlikte gelen komutun nasıl kullanıldığını öğrenmek için "get-help komut-ismi" şeklinde bir syntax kullanabiliriz.

Örnek olarak aşağıdaki komutun(cd) nasıl kullanıldığını görmek için get-help komutunu kullanabiliriz.
get-help cd

Ekranın daha düzgün bir çıktısını yapmak için
 Get-Help cd | Format-List

Kısayollar:


Page Up – Geçmişteki ilk komuta gider.
Page Down – Geçmişteki en son komuta gider.
Up Arrow – Geçmiş komutlardan bir sonrakine gider.
Down Arrow – Geçmiş komutlardan bir öncekine gider.
Home – Komut satırının en başına gider.
End – Komut satırının en sonuna gider.
Ctrl+LeftArrow – komut satırındaki cursor'ın solundaki kelimeye erişilir.
Ctrl+RightArrow – komut satırındaki cursor'ın sağındaki kelimeye erişilir.
Tab – Komutu tamamlar.
F7 – Geçmiş komutları gösterir.



26 Mayıs 2014 Pazartesi

Oracle Fusion Middleware: ODI Session'larının DB Session'ları ile İlişkilendirilmesi - Correlating SQL statement in DB Sessions with ODI Sessions in ODI 11.1.1.7

ODI ajanı tarafından bir Load Plan çalıştırıldığında, ODI session'ları yaratılır. Bu ODI session'ları senaryo adımlarına göre yaratılır. Uygun SQL'i veritabanına gönderir. Bu nedenle veritabanında da session'lar oluşur.

Uzun çalışan işler için bazen uzun çalışma nedeniyle askıda kalma, başka bir lock'a takılma veya bir session'ı bekleme gibi durumlardan şüphe edebiliriz. Bu yüzden ODI session'larını onlara karşılık gelen DB session'ları ile eşleştirmeliyiz. Bu eşleme v$session tablosu incelenerek yapılabilinir.

"select action from v$session;"

Action: ///




Session_id: ODI session ID'si. Operator log'unda bulunur.  Örneğimize göre: 1135500 bunlara bir örnek olabilir.

Step_nb:  Session_id'den hemen sonra gelen değerdir. 1135500 nolu session için  0,1 veya 2 olabilir.

Step_run_number: Kaç kere çalışıp çalışmadığını gösteren sayıdır.

Task_order_number: Paket içerisindeki çalışma sırasıdır. 2 için 3'ten 34'e kadar olabilir.

Database'de Çalıştırılan SQL'in Bulunması:

select a.action, b.sql_text
from v$session a, v$sqlarea b
where a.sql_address=b.address
and a.action is not null
and a.username=''
/
Yukarıdaki sorguyla bir kullanıcı tarafından çalıştırılan bütün session'ları görebiliriz. Buradaki "Action" sütunu içerisindeki değerlere göre ODI session'ları ile eşleştirebiliriz. 

Ör:






Referans:
Correlating SQL statement in DB Sessions with ODI Sessions in ODI 11.1.1.7 - https://blogs.oracle.com/biapps/entry/correlating_sql_statement_in_db

Oracle Fusion Middleware: ODI I$ ve C$ Tablolarının Temizlenmesi - Cleaning up ODI I$ and C$ work tables

BI applications 11.1.1.7.1 ile ETL'ler ODI tarafından gerçekleştirilmektedir. Hem kaynakta hemde hedefte SQL'ler oluştururak veri aktarımını yapmaktadır. Bu aktarım sırasında ara tablolar yaratılmaktadır.  Bu ara tablolar DW'de veriler uygun tablolara aktarılmadan önce geçiş alanı olarak kullanılırlar. Bir senaryo başarıyla gerçekleşirse bu tablolar silinirler. Ancak bir sorun çıkarsa, bu tabloların arkada kalma ihtimali bulunmaktadır. O sırada bozulan iş ne kadar büyükse bu tablolarda o kadar çok veri olma olasılığı da artar. Bu yüzden bu tabloların silinmesinde fayda vardır.

Bu tablolarun silinmesi genel anlamda bir zararı olmamakla birlikte silinmesi halinde büyük yer kazançları olabilmektedir. Tabloları silmek için bir araç da bulunmaktadır.

Bu araç için

1-ODI Studio'ya girilir ve BI Apps ODI Repository'e bağlanılır.
2-Designer tab'a gidilir. Oradan da aşağıdaki resime uygun bir şekilde "UTILITIES_CLEAN_WORK_AND_FLOW_TABLES" prosedürü bulunur çalıştırılır.



Referans:
https://blogs.oracle.com/biapps/entry/cleaning_up_odi_i_and

22 Mayıs 2014 Perşembe

Oracle Fusion Middleware: BI Applications DW'sine Source Database'den Veri Aktarımı

BI Applications 11.1.1.7.1 versiyonunda verileri uygulama veritabanından datawarehouse'a taşımak için 3 tane yol bulunmaktadır. Kaynak uygulamalar aşağıdaki gibidir.

  •  E-Business Suite
  •  Siebel
  •  PeopleSoft
  •  JDE
Taşıma yolları:

-JDBC modu:
-Database Link Modu:
-SDS Modu:

JDBC Modu:

Standart kullanılan taşıma metodu JDBC modu'dur. Bu yöntem yukarıda belirten metodlar arasında en yavaşıdır.Bu modun kullanılması ancak kaynak database Oracle olmadığında ve SDS kurulmadıysa tavsiye edilir

JDBC modunun kullanılması için OBI_SRC_VIA_DBLINK ve IS_SDS_DEPLOYED parametrelerinin N olarak yani not enabled olarak set edilmiş olması gerekir.

Database Link Modu:

Bu modda veriler DB Link'i ile gönderilir. JDBC modundan daha hızlıdır. (Aradaki bağlantı aynı kaldığı sürece) . Bu modun kullanılması için OBI_SRC_VIA_DBLINK Y ve IS_SDS_DEPLOYED N olarak set edilmelidir. Bu iletim modunda varolan bu iş için yaratılmış bir database link'i kullanılır. Yaratılacak database link'inin bir standardı bulunmaktadır.

.WORLD@DSN_

DSN (Data Source Name) kaynak db ile ilgili bağlantı adı şeklinde yorumlanabilir. Bu link datawarehouse'da bulunmalıdır. Nasıl yaratıldığını buradan görebiliriz.






Referans:
BI Applications DW'sine veri taşınması - https://blogs.oracle.com/biapps/entry/the_3_different_modes_of

21 Mayıs 2014 Çarşamba

Oracle Fusion Middleware: OBIA Güvenlik - OBIA Security

OBIA'da Güvenlik:

OBIA'da güvenliği yetkiler üzerinden gerçekleştirmekteyiz. Bu yetkiler de Fusion Middleware Control ve WebLogic Administrator Console'dan verilmektedir.

Weblogic için aşağıdaki örnekteki gibidir.



Weblogic'den kullanıcıların genel hareketleri incelenebilinir. Ekran görüntüsü aşağıdaki gibidir.


Kullanıcı yaratılması da Weblogic'den gerçekleştirilir.

Fusion Middleware Control'da ise aşağıdaki gibidir.


Oracle BI Analytics Dashboard ve Catalog Güvenliği:

BI Analytics'de herkesin her rapora erişmesini önlemek, her rapor'da her şeyin gözükmemesini sağlamak için yapabileceğimiz bazı ayarlar vardır. Bu ayarlar ile hangi grupların, hangi rollerin hangi Dashboard ve raporları görebileceğini ayarlamak mümkündür. Bunun için OBI Analytics ekranına bağlanmamız gerekir.(http://hostname:port/analytics)

Bu ekranda ilgilendiğimiz Dashboard veya raporun üzerine tıklarız. Bu örneğimiz için Procurement modülü altında "Employee Expenses" adlı Dashboard'a erişiriz.





Bu ekrandan Tasks altındaki Permissions seçeneğine tıklarız. Permissions seçeneği her raporun yanındaki More seçeneklerinden de bulunabilinir. Sonrasında oradan aşağıdaki ekran karşımıza gelir.


Bu ekrandan çeşitli kullanıcı gruplarını rollerini veya kullanıcıların haklarını değiştirebilir, azaltıp, arttırabilir, çıkartıp ekleyebiliriz. Ekleme ekranı da yukarıdaki resimdeki "+" ya basılarakdan çıkartılı.



Uygulama Yaşam Döngüsü:

Tipik bir yaşam döngüsü şu şekildedir:

-Geliştirme (Development)
-Yükleme (Deployment)
-Taşıma (Migration)
-Versiyon Yükseltme (Upgrade)
-Patch İşlemleri

Fusion Middleware Mimarisi:


Referans:

Managing Security for Dashboards and Analyses - http://docs.oracle.com/cd/E28280_01/bi.1111/e10543/mgrgrpsusers.htm#i1005125

How to Implement Object Security in Project Analytics in OBIA 11.1.1.7.1 - https://blogs.oracle.com/biapps/entry/how_to_implement_object_security

Oracle Fusion Middleware: OBIA Catalog Deployment - OBIA Catalog Taşıma

OBIEE Catalog Deployment Nasıl Yapılır?

Catalog Deployment'ı da RPD Deployment'ı ile aynı sayfadan yapılır. Enterprise Manager Console'a gelip oradan "Lock and Edit Configuration" seçeneğine basarız.


Böyleceyukarıdaki ekrana girmiş oluruz. Bu ekrana girdikten sonra "BI Presentation Catalog" adlı kısımdan yeni catalog klasörümüzü gösterecek şekilde dizinimizi gireriz. Buradan da catalog'u güncellemiş oluruz. Sonrasında yine güncellemenin gerçekleşmesi için restart girmemiz gerekir.

Bunun dışında sadece catalog import export'u yapacaksak da BI analytics ekranına gidip archive unarchive yapabiliriz.


Catalog Import Export Nasıl Yapılır?

Catalog import export'u için aşağıdaki gibi Catalog menusunde Tasks altındaki Archive-Unarchive seçenekleriyle yapılır.

Bu seçeneklerden "Archive" kullanıldığında katalog arşivlenip istenen yere kaydedilir. "Unarchive" denildiğinde bu kaydedilen dosya bulunup catalog üzerine yüklenir.

Eğer hiç bu kataloglar yoksa upload denilerek de catalog yüklenebilir.



Oracle Fusion Middleware: OBIA RPD(Repository) Deployment - OBIA RPD(Repository) Yüklemesi

RPD Deployment:

RPD Deployment için aşağıdaki ekrana gitmemiz gerekir. Bu ekrandan uygulamamızın kullanacağı modeli değiştirebiliriz.

Bu ekran "Oracle Fusion Middleware Control" olarak geçmektedir.  Buranın ana ekranı: http://hostname.domain:port/em'dir. Bu adresten soldaki gibi business intelligence domain'ine gireriz. Oradanda "coreapplication" içerisine gireriz. Resimdeki gibi uygun tabları seçtikten sonra ana kontrol ekranımıza gelmiş oluruz.



RPD yüklememizi yapabilmek için yukarıdaki "Lock and Edit Configuration" seçeneğini seçeriz ve kilidi kaldırırız.


Kilidi kaldırdıktan sonra repository'i deploy ederiz. Yukarıdaki "Activate Changes" butonuna bastıktan sonra uygulamayı restart ederiz. Böylece değişiklikler güncellenir.


RPD Deployment'ını Neden Yaparız?

RPD Deployment'ı ile diğer ortamlarımızdaki güncel RPD'lerimizi güncel olmayan ortamlarımızdaki RPD'lerle değiştirmek için yaparız.

Oracle Fusion Middleware: OBIA RPD Merge - OBIA RPD'leri Birleştirmek

RPD Merge:

RPD'lerimizi birleştirmek istediğimi zaman ihtiyacımız olan bütün RPD'leri aynı makina üzerinde offline olarak açarız. Online olarak açılırsa üzerinde değişiklik yapılamayacaktır. Bu yüzden offline açılmalıdır.



2 RPD'de şekildeki gibi açılır.



Sonrasında da kopyalamak istediğimiz RPD'yi sağ tıklayıp kopyaladıktan sonra diğer RPD'de her layer için yapıştırırız. İlk önce Physical Layer'de istediğimiz modülleri alırız. Sonra Business Model Mapping ve Presentation Layer'da aynı işlemleri yaparız.  Örnek işlemler diğer resimlerimizde de gösterilmiştir.





En son işlem olarak da kaydederiz.

RPD'leri Niye Merge Ederiz?

RPD'lerin merge edilmesinin en temel nedeni  farklı ortamlarda üretilen RPD'lerin birleştirilmesidir. DEV ortamında geliştirdiğimizde dashboard'ları bir ortamdan diğerine aktarmak istediğimizde


Referans:

https://blogs.oracle.com/biapps/entry/how_to_compare_rpds

Oracle Fusion Middleware: RPD Backup'lamak - Backing Up RPD's

RPD Backup:

RPD backup'lamak için BI Administration Tool'dan şu an kullanılan RPD online olarak açılır. Bunun için BI Administration Tool'un Online opsiyonu aşağıdaki gibi seçilir. Karşımıza gelecek ekrandan repository şifresini ve weblogic kullanıcı şifremizi gireriz.




Uygulama online RPD ile açıldıktan sonra backup'lanacak olan klasör içine RPD repository olarak kopyalanır.



Oracle Fusion Middleware: OBIA RPD Trim'lemek - How to Trim RPD in OBIA - Fazla Modülleri Atmak

OBIA RPD Trim'leme Adımları:

RPD Trim'lemek için belilrli bir komut bulunmaktadır.  Bu komutu aşağıdaki dokümandan çıkartabiliriz.



Resim

Standart bir RPD aşağıdaki gibidir.


RPD Trim'leme bir bakıma bazı projelerin çıkartılması demektir. Bunun için aşağıdaki komutu kullanabiliriz.

%ORACLE_BI_HOME%/bifoundation/server/bin altındaki extractprojects.exe'yi kullanırız.  

Bizim örneğimizde bu dizin aşağıdaki gibidir. 

X:\MWHOME\Oracle_BI1\bifoundation\server\bin

Sonrasında extract projects exe'sini belirli bir syntax ile kullanırız.

X:\MWHOME\Oracle_BI1\bifoundation\server\bin\extractprojects.exe -B input_rpd -O output_rpd -I "project_name"

Bu komut ile input_rpd parametresinin içine backup'ladığımız rpd'yi diziniyle yazarız. Output_rpd parametresinin yerine de sonuç olarak çıkacak rpd adı yazılır. Project_name yerine de hangi modülün çıkartılması isteniyorsa o yazılır. Var olan standart projeler aşağıdaki gibidir.

■ Financial Analytics Fusion Edition
■ Human Resources Analytics Fusion Edition
■ Marketing Analytics Fusion Edition
■ Partner Analytics Fusion Edition
■ Project Analytics Fusion Edition
■ Sales Analytics Fusion Edition
■ Supply Chain and Order Management Analytics Fusion Edition
■ Student Information Analytics
■ Service Analytics
■ Price Analytics
■ Manufacturing Analytics
■ Operational Planning
■ DataLineage_Project

Örnek Komut:

X:\MWHOME\instances\instance2\bifoundation\OracleBIServerComponent\coreapplication_obis1\repository\OracleBIApps_BI0006.rpd -o X:\Users\X\Desktop\OracleBIApps_Trimmed2.rpd -I "Procurement and Spend Analytics Fusion Edition"





RPD Trim'leme Neden Yapılır?

RPD Trim'leme işini sadece Lisanslı ürünlerimiz kullanabilmek için yaparız. OBIA'yı kurduğumuz zaman bize full rpd gelmektedir. Full RPD içerisinde de bütün modüller bulunmaktadır. Bunun consistency check işlemini yaptığımızda ise muhtemel hataların bulunması çok uzun süre almaktadır. Muhtemel hatalar bazen kendi modülümüz ile ilgili bile olmayabilir.

RPD Trim'leme işini modelimizi sadeleştirmek için de kullanırız.

Referans:

Oracle BI - Installation Guide (Bkz Resim)

Oracle Fusion Middleware: OBIEE ve OBI Apps Arasındaki Fark - The Difference Between OBIEE and OBI Apps

Oracle Business Intelligence Enterprise Edition Nedir? (OBIEE)

Oracle Business Intelligence Suite Enterprise Edition bir BI ürünüdür. Bu üründe analiz ve raporlama araçları bulunmaktadır.

Oracle BI EE içerisinde:

-Vizyon sağlayacak raporlar ve grafikler

-Birleştirilmiş bir iş modeli. Oracle sunduğu ürünler bu grafiklerde ve raporlarda birleştirilmektedir. Örneği tedarik modülüyle ilgili bir modülde satın alma ve muhasebe kısımları da girdiğinde buradan gelen veriler de birleştirilmektedir.

-Birden fazla tipte veritabanı tipiyle çalışabilecek uygun bir yapı.


Oracle Business Intelligence Applications Nedir? (OBI Apps) 

OBIA ile önceden geliştirilmiş BI çözümleri bir şirkete adapte edilmeye çalışılır. OBI Apps içerisindeki hazır yapılar aşağıdaki gibidir :

  • Oracle Financial Analytics
  • Oracle HR Analytics
  • Oracle Marketing Analytics
  • Oracle Order Management Fulfillment Analytics
  • Oracle Vertical (Industry Specific) Analytics
  • Oracle Sales Analytics
  • Oracle Service Analytics
  • Oracle Contact Center Analytics
  • Oracle Supply Chain Analytics 

OBI Apps ile yine hazır RPD gelmektedir.

Not:OBIA (Oracle Business Intelligence Analytics) - Orace BI Apps birbirinden farklıdır. Kısaltmaları aynı olduğundan karıştırma olabilir.

Oracle E-Business Suite: Tablo Tipleri - Table Types

E-Business Suite'deki belli başlı tablo tipleri aşağıdaki gibidir.

_ALL: multi organizasyonel tablolardır. Modülün  gerektirdiği tablolardır.

_TL: bu  tablolar aynı adlı tabloların farklı gösterimlerinin bulunduğu tablolardır.  TL: Translated Language

Örnek olarak:

 select * from apps.fnd_concurrent_programs;  
 select * from apps.fnd_concurrent_programs_tl;  

Bu 2 tabloda birbirlerinin aynı datalar gösterilirken TL'li uzantılı tabloda Türkçe veriler bulunmaktadır.

_F: Bu tablolarda zaman birimi kontrol edilmektedir. HR modüllerindeki tablolarda karşılaşılabilinir.

_B: "Base" tablolardır. Bu tablolarda veriler tutulmaktadır.

_V: View'lardır.

_VL: "Base" tabloları "_TL" uzantılı tablolarla birleştiren view'lardır.

Örnek:

 select * from FND_APPLICATION_VL;
  
 select * from FND_APPLICATION;  
 Select * from FND_APPLICATION_TL;

Burada _VL uzantılı tablo aşağıdaki 2 tablonun birleşimidir.  Bu yüzden pratik bir tablodur.

_A: Bu tablolar Audit tablolarıdır. Bu tablolarda  izlenmesini istediğimiz tabloların üzerindeki değişiklikler tutulur.


2 Mayıs 2014 Cuma

Oracle Fusion Middleware: Diagnostics - Log'lar

Oracle Fusion Middleware'in log'ları Windows Server'da %ORACLE_INSTANCE% parametresi altında yer alır. Yani eğer Middleware Home eğer C:\MWHOME altında ise bu diagnostic log'ları C:\MWHOME\instances\instance1\diagnostics\logs altında yer alır. Buradaki loglar sırasıyla

-OPMN
-Oracle BI Publisher
-Oracle BI Scheduler
-Oracle BI Presentation Services Component
-Oracle BI Server Component
-Oracle BI Odbc Component
-Oracle BI Java Host Component
-Oracle BI Application

Server'lar açıldıktan sonrada açılan server'ların log'larını aşağıdaki dizinden izleyebiliriz.

C:\MWHOME\user_projects\domains\bifoundation_domain1\servers

Buradaki log'larda Server'la ilgili gelişmeleri izleyebiliriz. Burada standart olarak:

-ODI Server
-BI Server
-Admin Server

logları yer alır.