Hurriyet

29 Nisan 2014 Salı

Oracle Fusion Middleware: OBIEE Backup ve Recovery

Oracle Fusion Middleware ortamı bir sürü bileşenden oluşmaktadır. WebLogic elemanlarına ek olarak Java elemanşarı da bulunmaktadır. Ayrıca bunlara bağlı başka Oracle Instance'ları da çalışmaktadır. Örneğin Oracle HTTP Server, Oracle Web Cache vb...

Bu yüzden bütün ortamın backup'ının alınması çok önemlidir. İlk olarak full backup alınmalıdır sonra da periyodik olarak backup'lar alınabilinir. Böylece bir kayıp yaşandığında hemen geri dönülebilinir.

Administration Server Bozukluğu:

Administration Server bozulduğunda bi_server'ımıza bir zararı olmamsıyla birlikte, sistemde donanımsal değişikliklerin yapılması zorlaşır.  Uygulama çalışırken Admin Server'ın kapanması uygulamaya zarar vermez. Uygulama arka planda sürekli olarak admin server'a erişmeye çalışır.

Managed Server:

Managed Server'da configuration dosyasının bir kopyası yer alır. Bu kopya Admin Server'dan alınmaktadır. Eğer bu dosya cache'li haldeyse Admin Server'ın açık veya kapalı olması önemli olmaz. Admin Server açıldığında ise Managed Server ile iletişime geçerek configuration dosyasının en son halini alır.

Backup Stratejileri:

Fusion Middleware ortamları için 2 tip backup alma stratejisi vardır.

-Offline: Bu stratejide bütün ortam kapatılır ve dosya sisteminin full kopyası alınır.

-Online: Bu yöntem backup alınmadan önce sistemin kapatılmayacağı anlamına gelir. Bu backup türünde tutarsızlık yaşanmaması için backup süresince hiçbir configuration dosyasının değiştirilmemesi gerekir.

Dosya Sisteminde Backup'lanması Tavsiye Edilen Dosyalar:

-MWHOME
-OraInventory
-beahomelist dosyası
-Windows Registry'si (File'a tıklayıp export alınabilinir.)

Önerilen Backup Stratejisi

-Full Offline Backup: Bütün Filesystem'ın backup'ının alınmasıdır. Özelde de catalog ve rpd dosyalarının alınmasıdır.
1- Fusion Middleware kurulduktan sonra
2- Upgrade'den önce
3- İşletim Sistemi Upgrade'inden sonra
4- Upgrade ve Patch sonrasında

-Online Backup: Çok değişen dosyaların backup'ı. (Domain klasörleri, Oracle Home klasörleri)
Düzenli bir şekilde çok değişen klasörlerin backup'ı alınmalıdır.

Not: Database'de ara ara backup'lanmalıdır.

Backup Alınması:

Full Offline Backup: Bu backup türünde bütün Oracle Fusion Middleware dosyalarını bulunduran klasörleri kopyanır.
1- Önce bütün process'ler kapatılır. Managed Server'lar,Admin Server ve WebLogic
2- Bütün MWHOME kopyalanır ve zip'lenir.
3- Linux ortamda "/etc" klasörünün altı,Oratab ve OraInventory kopyalanır.
4- Windows Registry kopyalanır.
5- Database Backup kopyalanır.

Online Backup: Domain Home ve Instance Home arşivlenir.

Örnek dizinler:
MWHOME/user_projects/domains/domain_name/*
MWHOME/instances/instance1/bifoundation 

Referans:
http://docs.oracle.com/cd/E23943_01/core.1111/e10105/br_intro.htm
Backup önerileri: http://docs.oracle.com/cd/E23943_01/core.1111/e10105/br_intro.htm#CHDEBJIC

Oracle Fusion Middleware: OBIEE Patching

OBIEE ortamında patch'leme işleme OPatch ile yapılmaktadır.
Patch işlemlerine başlamadan önce mutlaka OBIEE process'lerini ve WebLogic instance'ını kapatırız.

Özetlememiz gerekirse:
1- Patch dosyalarını düzenleyip uygun bir yere yerleştiririz.
2- Yeterince disk alanı olup olmadığı kontrol edilir.
3- Mutlaka Backup alınır. Alınacak olan backup'lar: Catalog,RPD,Config dosyaları
4- OBIEE ve WebLogic process'lerinin hepsi kapatılır. (OPMN,WebLogic Managed Server(bi_server1),WebLogic Admin Server,
5- Ortam değişkenleri ayarlanır. (ORACLE_HOME, JAVA_HOME, OPatch)

Örnek:
set ORACLE_HOME=E:\oracle\obiee\Oracle_BI1
set PATH=%ORACLE_HOME%\bin;%PATH%
set JAVA_HOME=%ORACLE_HOME%\jdk
set PATH=%JAVA_HOME%\bin;%PATH%
set PATH=%ORACLE_HOME%\OPatch;%PATH%

6- Patch apply edilir.

7-Patch edilip edilmediği kontrol edilir.

8- Sistem tekrar açılır.(Weblogic,Managed Server,OPMN)

Patch'lerken:
Standart patch yüklerken yaptığımız gibi ilk önce patch'in bulunduğu klasöre gideriz.  (Not:Ortamımız Microsoft Server'dır.)

Örnek Patch Apply:

>cd E:\MWHOME\Patches\18057570\
>opatch apply

Daha önceden yüklenmiş patch'leri görmek içinde normalde inventory görmek için yaptığımız gibi:

>opatch lsinv

komutunu kullanırız.




Referans:
http://www.rittmanmead.com/2012/07/applying-patches-to-obiee-11-1-1-6-2-bp1/

18 Nisan 2014 Cuma

Oracle Fusion Middleware: Kullanıcı Yaratılması ve Yönetilmesi

Kullanıcı Yaratılması ve Şifresinin Değiştirilimesi

Kullanıcı yaratılması için Oracle WebLogic Server Administration Console'a girilip solda bulunan gezinme panelinden "Security Realm" seçeneği seçilir. Burada kullanıcının içinde yaratılacağı "realm" seçilir.



Buradan "Users and Groups" sekmesinden "Users" sekmesi seçilir. Oradan da yaratılacan kullanıcı için "New" tıklanır ya da değiştirilecek kullanıcı seçilir. Değiştirilecek kullanıcı seçildikten sonra Passwords sekmesi tıklanarak şifresi değiştirilir.



Oracle Fusion Middleware: Fusion Middleware Environment Kontrolü - Açılıp Kapatılması

Oracle Fusion Middleware ortamının baştan sona açılıp kapatılması için aşağıdaki belirli adımlar izlenebilir. Bir Fusion Middleware ortamında WebLogic Server domain'i, Administration Server, birkaç Managed Server, Java bileşenleri, sistem bileşenleri, Identity Management araçları ve metadata repository'si bulunur. Bileşenler birbirlerine bağlı olabilir, bu yüzden bunların açılma kapanma sıraları önemlidir. Bu sıra, eğer ortamımızı bir backup için hazırlıyorsak ya da patch uygulayacaksak izlenebilir.

Oracle Fusion Middleware Ortamının Açılması:

1- Önce eğer database bazlı bir metada repository varsa o başlatılır.

a-$ORACLE_HOME parametresi ayarlanır. Oracle veritabanı neredeyse orası gösterilir.
Not:Oracle database'in Linux ya da Unix tabanlı bir makina üzerine kurulu olduğu düşünülmektedir. Windows makina olsaydı %ORACLE_HOME% parametresinin set edilmesi gerekirdi.

b-$ORACLE_SID parametresi ayarlanır. Database'in adına ayarlanır.

c-Net Listener açılır.

$ORACLE_HOME/bin/lsnrctl start

d-Veritabanı instance'ı açılır.

$ORACLE_HOME/bin/sqlplus / as sysdba
>startup
>quit

2- OID sistemi açılır. Oracle Identity Management  bileşenlerini açmak için "opmnctl startall" komutu kullanılır.OID makinası neredeyse oraya gidip orada bu komut çalıştırılır.

3-Oracle WebLogic Server Administration Server açılır. Eğer Server Unix üzerine kuruluysa aşağıdaki komutların sh'lı versiyonlarını çalıştırabiliriz.

MW_HOME/user_projects/domains/domain_name/bin/startWebLogic.cmd
         -Dweblogic.management.username=weblogic
         -Dweblogic.management.password=password
         -Dweblogic.system.StoreBootIdentity=true

4-Managed Server'lar açılır.

(UNIX) MW_HOME/user_projects/domains/domain_name/bin/startManagedWebLogic.sh
    managed_server_name admin_url username password
(Windows) MW_HOME\user_projects\domains\domain_name\bin\startManagedWebLogic.cmd

Not: Direk bu komutlar çalıştırılabilinir. Kullanıcı şifreyi sonradan sorar sadece.

5-OPMN ve diğer sistem bileşenleri açılır.

Bunun için ORACLE_HOME ve ORACLE_INSTANCE parametreleri set edilir.
(O parametrelerin nasıl set edileceğini buradan görebilirsiniz:http://berkeoz1.blogspot.com.tr/2014/04/oracle-fusion-middleware-belli-basl.html)

Sonrasında opmn başlatılır.

opmnctl startall;

Oracle Fusion Middleware Ortamının Kapatılması:

1-Kapatmak için yukarıdaki sıranın tersi izlenir. İlk önce opmn kapatılır. Bunun için de ORACLE_HOME ve ORACLE_INSTANCE parametreleri tanımlanmalıdır. Yukarıda yazımızda nasıl olduğunu göstermiştik.
Sonrada opmn'i kapatırız.

opmnctl stopall;

2-Sonrasında Oracle Management Agent kapatılır.

opmnctl stopproc ias-component=EMAGENT

3-Oracle WebLogic Managed Server'larımız kapatılır. 

MW_HOME/user_projects/domains/domain_name/bin/stopWeblogic.sh 
       username password admin_url

Not: Admin_url Örneği: http://makina_adı.domain:port/mgd_server
Not: Direk bu komutlar çalıştırılabilinir. Kullanıcı şifreyi sonradan sorar sadece.

4-OID  mekanizmaları kapatılır. OID hangi makinadaysa oraya gidilir.

opmnctl stopall;

5-Administration server kapatılır. 

MW_HOME/user_projects/domains/domain_name/bin/stopWeblogic.sh 
       username password admin_url
MW_HOME/user_projects/domains/domain_name/bin/stopWeblogic.cmd 
       username password admin_url

Not: Direk bu komutlar çalıştırılabilinir. Kullanıcı şifreyi sonradan sorar sadece.

6- Database kapatılır. 

7- Listener kapatılır.

16 Nisan 2014 Çarşamba

Oracle Fusion Middleware: Belli Başlı Kontrol Komutları ve Yönetim Hareketleri

Windows Server:
Durum kontrolü:

opmnctl.bat status

Servisleri kapatıp Açmak:

opmnctl.bat startall
opmnctl.bat stopall

Not: Windows Server'da bu komutun çalışması için Oracle Instance parametresini belirlemek gerekebilir. Aşağıdaki tarzda bir bilgi girmeniz gerekebilir.

Ör:
set ORACLE_HOME=C:\MWHOME\OracleBI1
set ORACLE_INSTANCE=C:\MWHOME\instances\instance1

Administration Server Açılması:
MWHOME/user_projects/domains/SOA_domain/bin/startWeblogic.cmd


Örnek olarak:

MWHOME/user_projects/domains/domains/bi_foundation/bin/startWeblogic.cmd

Kullanıcı adı ve şifreyi otomatik girmek istersek, aşağıdaki script'de username yerine kullanıcı adımızı ve password yerine şifremizi yazabiliriz.:

MW_HOME/user_projects/domains/SOA_domain/bin/startWeblogic.cmd
 -Dweblogic.management.username=username -Dweblogic.management.password=password

Administration Server Kapatılması:
MWHOME/user_projects/domains/SOA_domain/bin/stopWeblogic.cmd

Örnek olarak:

MW_HOME/user_projects/domains/domain_name/bin/stopWeblogic.sh username password admin_url

Not: Bu scriptler hep %domain_home%/bin altındadırlar.
Örnek olarak benim Microsoft Server makinam için bu adres aşağıdaki gibidir. C:\MWHOME\user_projects\domains\bifoundation_domain2


Managed Servers Açılması

MW_HOME/user_projects/domains/SOA_domain/bin/startManagedWebLogic.cmd soa_server1 http://hostname:7001 username password

Not: Bizim durumumuzda  buradaki managed server bi_server olacaktır; ancak bu duruma ve sisteme göre değişebilir. soa_server1 bizim server name'imizi temsil eder. Kendi server'ımız için bir örnek vermemiz gerekseydi, server name'imimiz biserver olurdu.

Managed Servers Kapatılması:

MW_HOME/user_projects/domains/SOA_domain/bin/stopManagedWebLogic.cmd  username password http://hostname:7001

Not: Bizim durumumuzda  buradaki managed server bi_server olacaktır; ancak bu duruma ve sisteme göre değişebilir.


Bu işlemleri Fusion Middleware Control veya Weblogic Server Console'dan da yapabiliriz.

Fusion Middleware Control'dan yapmak için ayağa kaldırmak istediğimiz managed server'ın üzerine gelip "Start Selected" yapabiliriz.

Weblogic Server Console'dan yapmak için de  "Servers>Control"'a tıklayıp istediğimiz managed server'ı açabiliriz.


Oracle Management Agent'ı Açmak İçin:
opmnctl startproc ias-component=EMAGENT

Oracle Management Agent'ı Kapatmak İçin:
opmnctl stopproc ias-component=EMAGENT





Windows için Ortam Değişkenleri:

Ortam Değişkeni
Değer
MW_HOME
Ör:
C:\oracle\Middleware
ORACLE_HOME
Ör:
C:\oracle\Middleware\Oracle_BI1
Not:Dizin bitiminden sonra “\” koymayınız.
ORACLE_INSTANCE
Ör:
C:\oracle\Middleware\instances\instance1
PATH
Aşağıdaki dizin mutlaka eklenmelidir.

ORACLE_HOME\bin
JAVA_HOME
Java değişkenine mutlaka aşağıdaki java değeri de eklenmelidir.
MWHOME/jdk1.x

Ör:
C:\MWHOME\Oracle_BI1\jdk
CLASSPATH
Ör:
MW_HOME\jdkn

Ör:
C:\MWHOME\Oracle_BI1\jdk
TEMP
Örnek:

C:\temp
TMP
Örnek:

C:\temp
DOMAIN_HOME
Örnek:

C:\MWHOME\user_projects\domains\bifoundation_domain
OPMN_PORT
Ortama göre değişir.
Ör: 7700
wls.host
Makina adı set edilir.
Ör berke_pc
wls.admin.port
Admin Server Port’u
Ör:
7001
wls.mgd.port
Bu port managed server port’udur. Benim örneğim de bu port Oracle
BI Applications port’udur.

Ör:9704

wls.mgd.name
Bu da managed server’ımızın adıdır.
Örnek:
BISERVER
JAVA_HOME
Java lokasyonu olarak managed server’ımızın java exe’sini veririz.

Ör: C:\MWHOME\Oracle_BI\jdk

WLS_HOME
WLS weblogic server’ı temsil ediyor.
Ör C:\MWHOME\wlserver_10.3

Windows Dosya Sistemi:




Belirli Klasörler:


  • RPD Directory - Catalog Dosyası :C:\Middleware\instances\instance1\bifoundation\OracleBIServerComponent\coreapplication_obis1\repository
  • NQSConfig.INI : C:\Middleware\instances\instance1\config\OracleBIServerComponent\coreapplication_obis1\nqsconfig.INI
  • NQClusterConfig.INI : C:\Middleware\instances\instance1\config\OracleBIApplication\coreapplication\NQClusterConfig.INI
  • nqquery.log :C:\Middleware\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1\nqquery.log
  • nqserver.log :C:\Middleware\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1\nqserver.log
  • nqsserver.exe : C:\Middleware\Oracle_BI1\bifoundation\server\bin\nqsserver.exe
  • Webcat Directory :C:\Middleware\instances\instance1\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\catalog\
  • instanceconfig.xml :C:\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml
  • xdo.cfg :C:\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\xdo.cfg
  • sawlog0.log :C:\Middleware\instances\instance1\diagnostics\logs\OracleBIPresentationServicesComponent\coreapplication_obips1\sawlog0.log
  • sawserver.exe : C:\Middleware\Oracle_BI1\bifoundation\web\bin\sawserver.exe

Örnek Dosya Hiyeraşisi:


Linux/Unix Server: 

Durum kontrolü:

opmnctl status

Servisleri kapatıp açmak:

opmnctl startall
opmnctl stopall

Administration Server Açılması:
MWHOME/user_projects/domains/SOA_domain/bin/startWeblogic.sh

Örnek olarak:

MW_HOME/user_projects/domains/SOA_domain/bin/startWeblogic.sh
 -Dweblogic.management.username=username -Dweblogic.management.password=password

Administration Server Kapatılması:
MWHOME/user_projects/domains/SOA_domain/bin/stopWeblogic.sh

Örnek olarak:

MW_HOME/user_projects/domains/domain_name/bin/stopWeblogic.sh username password admin_url


Managed Servers: Açılması

MW_HOME/user_projects/domains/SOA_domain/bin/startManagedWebLogic.sh soa_server1 http://hostname:7001 username password


Linux/Unix için Ortam Değişkenleri:

Ortam Değişkeni
Değer
LD_LIBRARY_PATH
Linux’da ve HP unix’de bu değer ekli olması gerekirken, IBM AIX’de mutlaka eksik kalmalıdır.
$ORACLE_HOME/lib
(IBM AIX) LIBPATH
Uygulamaya göre 32 bit ise aşağıdaki değer:

$ORACLE_HOME/lib32

64 bit ise aşağıdaki değer eklenmelidir.
$ORACLE_HOME/lib
(HP-UX) SHLIB_PATH
Aşağıdaki değer bulunmalıdır.

$ORACLE_HOME/lib32
MW_HOME
Middleware Home’unu göstermelidir.
/Oracle/Middleware
ORACLE_HOME
Oracle Home’u gösteren bir dizindir. Bu parametreyi belirledikten dizinin sonuna “/” eklenmemelidir.
/Oracle/Middleware/ORACLE_HOME_SOA1
ORACLE_INSTANCE
Bu parametre bulunursa iyi olur. Bazen bir programı veya sh’ı çalıştırırken bu parametrenin bulunması gerekebiliyor.
/Oracle/Middleware/instances/instance1
PATH
Aşağıdaki değer bulunmalıdır.
$ORACLE_HOME/bin
JAVA_HOME
Java Home parametresinin içinde mutlaka aşağıdaki değer bulunmalıdır.
MW_HOME/jdkn
CLASSPATH
Aşağıdaki değer bulunmalıdır.
$ORACLE_HOME/lib


Oracle Management Agent'ı Açmak İçin:
opmnctl startproc ias-component=EMAGENT

Oracle Management Agent'ı Kapatmak İçin:
opmnctl stopproc ias-component=EMAGENT

Oracle Fusion Middleware: Administration Server Nedir?

Administration Server Nedir?

Administration Server WebLogic Server domain'in genel kontrol birimidir. Buradan domain ile ilgili konfigürasyon dosyaları yönetilir. Değişiklikler buradanda yapılabilir. Domain ait her ne kaynak varsa burada monitör edilebilinir. Her WebLogic Server'ının bir tane Administration Server'ı olmalıdır.

Fusion Middleware Control ve WebLogic Administration Console Administration Server üzerinden çalışır.

Fusion Middleware Control Middleware'i kontorl etmek için yaratılmış web tabanlı bir konsoldur. İçerisinden Oracle HTTP Server, Oracle Soa Suite, Oracle WebCenter Portal, Oracle Portal, OID gibi bileşenler yönetilebilinir.
Fusion Middleware Control'un sayfa formatı aşağıdaki gibidir. Aşağıdaki adresten ulaşılabilinir.

"http://hostname.domain:port/em"

Oracle WebLogic Server ise WebLogic'in bulunduğu kaynakları yönetmek için tasarlanmış bir konsoldur.
Port numarası Administration Server tarafından belirlenen bir bilgidir. Default olarak port'u 7001'dir.
Adresi aşağıdaki gibidir. Eğer port değişmemişse default olarak 7001 portudur.

"http://hostname.domain:port_number/console"


Managed Servers Nedir?

Managed Servers olarak belirttiğimiz iş uygulamalarıdır. İş uygulamaları dışında web service'ler  veya diğer uygulama birimleri olabilir. Managed Servers'da domain configuration document'ının bir kopyası bulunur. Managed Server başladığında Administration Server'a bağlanığ senkronize olur.

Oracle Fusion Middleware'in Java bileşenleri de (Oracle SOA Suite, Oracle WebCenter Portal)'da Managed Servers olarak başlatılır.

Genel Yönetim İşleri:

Oracle Fusion Middleware yöneticisi olarak ana işlemler:

1-Fusion Middleware'in kurulması
2-İlk konfigürasyonun yapılması
3-Metadata repostiory'sinin yaratılması
4-Uygulamaların başlatılması
5-Yönetici hesaplarının kurulması, güvenlik ve kulllanıcı hesapları
6-Ortam monitoring yapılması
7-Oracle Fusion Middleware ortamının back up'lanması ve acil durumda recover edilmesi



Araçlarla Yapılabilinecek İşler

İşler
Kullanılacak Araç
Oracle WebLogic Yönetmek
Managed Server yaratmak
WebLogic Server Administration Console
Managed Servers klonlamak
WebLogic Server Administration Console
Oracle WebLogic Server açıp kapamak
Fusion Middleware Control veya WebLogic Server Administration Console
Kullanıcı ve Grup ataması yapmak
WebLogic Server Administration Console(Eğer standart LDAP Tool’u kullanılıyorsa)
LDAP Server Tool’u(Eğer Standart LDAP Tool’u kullanılmıyorsa)
Data Source Yönetimi
Data sources yaratılması
WebLogic Server Administration Console
Connection pools yaratılması
WebLogic Server Administration Console
JMS Resources Yönetimi
JMS queue’larını yaratmak
WebLogic Server Administration Console
Advanced queuing düzenlemesi
WebLogic Server Administration Console
SOA environment Yönetimi
SOA Composite applications’ları başlatmak
Fusion Middleware Control
SOA Composite applications monitor’u
Fusion Middleware Control
Oracle BPEL Process Manager MBean properties modifikasyonu
Fusion Middleware Control
Applications debug’ı
Fusion Middleware Control
ADF Applications
ADF application’larını başlatmak
Fusion Middleware Control
Java EE applications
Java EE application’larını başlatmak
WebLogic Server Administration Console veya Fusion Middleware Control
Güvenlik
Audit
Fusion Middleware Control
SSL ayarları
WebLogic Server Administration Console (Oracle WebLogic Server)
Fusion Middleware Control (Java ve system bileşenleri için)
Şifreleri değiştirmek
WebLogic Server Administration Console
Bileşen Yönetimi
Log dosyalarını görüntülemek ve yönetmek
Fusion Middleware Control ve
WebLogic Server Administration (Oracle WebLogic Server log’ları için)
Port’ları değiştirmek
WebLogic Server Administration Console (Oracle WebLogic Server ve Java bileşenleri)
Sistem bileşenleri için:Fusion Middleware Control.
Oracle HTTP Server Yönetimi
Fusion Middleware Control
Oracle Web Cache Yönetimi
Fusion Middleware Control
Bileşenleri açıp kapamak
Fusion Middleware Control
Uygulamaları açıp kapamak
Fusion Middleware Control

Oracle Fusion Middleware: Fusion Middleware Yönetim Araçları

Oracle Fusion Middleware kurulduktan sonra, belirli araçlarla Fusion Middleware kurulumumuzu yönetebiliriz. Bunlar:

1-Oracle Enterprise Manager Fusion Middleware Control (Enterprise Manager'ımız)
2-Oracle WebLogic Server Administration Console
3-Oracle Fusion Middleware Command Line Araçları
4-Fusion Middleware Control MBean Tarayıcısı

Oracle'ın tavsiye ettiği yöntem bu araçların kullanılmasıdır.Oracle konfigürasyon dosyalarının direk olraka editlenmesini tavsiye etmez. Oracle Fusion Middleware Control ve Oracle WebLogic Server Administration Console'u bizim Fusion Middleware Ortamımızı yönetmemiz için büyük ölçüde yeterlidir. Sadece Weblogic Server kurarsak Fusion Middleware Control kurulmaz.

Fusion Middleware Control:

Oracle Fusion Middleware Control bir grafik arayüzdür. Bu arayüzden bir "farm" kontrol edilebilinir. Bu farm'da Oracle WebLogic Server domain'i, bir Administration Server'ı, bir veya daha fazla uygulama server'ı, bir ya da daha Oracle Instance'ı yönetilebilinir.

Fusion Middleware Control bir sürü performans datası ve yönetim fonksiyonunu bir araya getirir. Bu web bazlı sayfalarda diğer bileşenler bulunur. Fusion Middleware Control ile en önemli monitoring datalarını ve en fazla kullanılan yönetsel fonksiyonları bir arada görebiliriz.

Fusion Middleware Control Adresi:

Fusion Middleware Control'un sayfa formatı aşağıdaki gibidir. Aşağıdaki adresten ulaşılabilinir.

http://hostname.domain:port/em

Port numarası Administration Server tarafından belirlenen bir bilgidir. Default olarak port'u 7001'dir. Config.xml aşağıdaki yerdedir.

Domain_home/config/config.xml

Default kullanıcı "weblogic"'tir. Şifresi de kurulum sırasında belirlenen değerdir.



Girişte "Farm" ekranı çıkar.



Oracle WebLogic Server Administration Console:

Oracle WebLogic Server Administration Console web tabanlı bir grafik arayüzüdür.  Bununla  bir web domain'i yönetilebilir. Administration Console'dan:

-WebLogic instance'ları açılıp kapatılabilinir.
-WebLogic service'leri oluşturulabilinir.
-Java EE uygulamaları çalıştırılabilinir.
-Uygulama ve server performance'ı monitör edilebilinir.
-Server ve domain log'ları görülebilinir.
-Güvenlik parametreleri oluşturulabilinir.(Kullanıcı yaratmak, grup oluşturmak gibi)

Oracle WebLogic Server Administration Console Adresi:

Adresi aşağıdaki gibidir. Eğer port değişmemişse default olarak 7001 portudur.
http://hostname.domain:port_number/console



Sistemde değişiklik yapılacağı zaman "Lock & Edit"'e basılır değişiklik yapılınca da "release configuration" tıklanır.

Fusion Middleware Command Line Araçları:

Oracle Process Manager and Notification Server(OPMN):


OPMN  Oracle Fusion Middleware bileşenlerinin hepsini monitör eder ve yönetir. OPMN bileşenlerine sistem bileşenleri diye de hitap edilir.  Bunlar:
  • Oracle HTTP Server
  • Oracle Web Cache
  • Oracle Internet Directory
  • Oracle Virtual Directory
  • Oracle Forms Services
  • Oracle Reports
  • Oracle Business Intelligence Discoverer
  • Oracle Business Intelligence
OPMN yönetimini "opmnctl" komutuyla yapabiliriz. Executable dosyası ORACLE_INSTANCE/bin/opmnctl'dir. Buradan açılan opmnctl bir windows service'i olarak açılır. Yani eğer service olarak açılırsa bağlanan kullanıcı logoff olduğunda servisler kapanmaz.

OPMN ile yönetilen process'ler Administration Server'ının üzerinde çalışan uygulamalardır. Örneğin Weblogic Server'ını kapatmak istemiyorsak sadece üzerindeki Managed Server'ı açıp kapamak istiyorsak bunu opmn ile birlikte yapmalıyız.

"opmnctl.bat /?" ile komutun Windows Server'daki kullanımı hakkında bilgi edinebiliriz.

Windows Server:
Durum kontrolü:

opmnctl.bat status

Servisleri kapatıp Açmak:

opmnctl.bat startall
opmnctl.bat stopall

Not: Windows Server'da bu komutun çalışması için Oracle Instance parametresini belirlemek gerekebilir. Aşağıdaki tarzda bir bilgi girmeniz gerekebilir.

Ör:
set ORACLE_HOME=C:\MWHOME\OracleBI1
set ORACLE_INSTANCE=C:\MWHOME\instances\instance1

Linux/Unix Server: 

Durum kontrolü:

opmnctl status

Servisleri kapatıp açmak:

opmnctl startall
opmnctl stopall

15 Nisan 2014 Salı

Oracle Fusion Middleware: Oracle Fusion Middleware Nedir? - Mimari - Genel Konseptler


Oracle Fusion Middleware’e Başlangıç:

Oracle Fusion Middleware uygulama ailesi uygulama geliştirmekten iş zekası raporlamaya kadar bir sürü işi barındıran uygulamarı barındırmaktadır.

Oracle Fusion Middleware Nedir?

Oracle Fusion Middleware içerisinde JAVA EE,developer tools, integration services, identity management, BI tool’ları bulunur.

Oracle Fusion Middleware’de 2 tip bileşen bulunur.

· Java Component: Java EE uygulamaları bunlardan sayılabilinir. Oracle Web Center ve Oracle SOA Suite genel örneklerdendir.

· System Component: Oracle Process Manager and Notification(OPMN) tarafından yönetilip tetiklenen process’lerdir.

1. Oracle HTTP Server

2. Oracle Web Cache

3. Oracle Internet Directory

4. Oracle Virtual Directory

5. Oracle Forms Services

6. Oracle Reports

7. Oracle Business Intelligence Discoverer

8. Oracle Business İntelligence

Java bileşeniyle sistem bileşenleri birleşiktir.

Oracle Fusion Middleware kurulduktan sonra elimizde Oracle Weblogic Server Domaini olmuş olur. Bu server içerisinde bir tane Administration Server, Oracle Webcenter ve Oracle SOA Suite olur. Admin Server içerisinde Oracle Weblogic Administration Console ve Oracle Enterprise Manager Fusion Middleware Control yer alır. Ayrıca bileşenlerden bir tanesi veritabanı gerektiriyorsa Oracle Veritabanı da kurulumla gelebilir. Bu veritabanında kurulumun metada repository’si bulunur.







Bu ortamda bir domain bulunmaktadır. Bununla birlikte bir Oracle Instance’ı bir de metadata repository’si vardır. Domain içerisinde de bir tane Administration Server, 2 tane Managed Server yani bir Oracle Webcenter uygulaması bir de Oracle SOA Suite uygulaması yer alır. Oracle Instance içerisinde de Oracle HTTP Server ve Oracle Web Cache vardır.


Administration Server içerisinde de Weblogic için Administration Console ve uygulamamızın Enterprise Manager’ı vardır. Enterprise Manager aynı zamanda Fusion Middleware Control olarak da bilinmektedir.

Oracle WebLogic Server Domain Nedir?

Oracle WebLogic Server Administration domain’i çeşitli Java bileşenlerinin bileşimidir. Burası bütün kaynakların yönetildiği merkezdir.

Oracle Instance Nedir?

Oracle instance’ı bir veya birden fazla sistem bileşenininden oluşur. Bunlar Oracle Web Cache, Oracle HTTP Server veya Oracle Internet Directory olabilir. Bu sistem bileşenleri aynı makinada bulunmalıdırlar. Oracle Instance klasörü konfigürasyon dosyaları, log dosyaları ve çeşitli cache’lenen dosyalardan oluşmaktadır.

Middleware Home Nedir?

Oracle WebLogic Server’ı için yaratılmış klasör hiyeraşisidir.



Oracle Home ve Oracle Common Home Nedir?

Oracle home içerisinde bir uygulama için gerekli kurulum dosyaları yer alır. Oracle home Middleware home içerisinde yer alır. Oracle Common home ise içerisinde Fusion Middleware Control ve Java Required Files için gerekli binary ve library dosyaları tutar.

Oracle Metadata Repository Nedir?

Oracle Metadata Repository, Oracle Fusion Middleware Bileşenleri için metadata’nın tutulduğu yerdir. Metadata database bazlı veya dosya bazlı olabilir. Database bazlı ise RCU ile yaratılabilinir. Database’deki repository schema olarak da tanımlanabilir.

7 Nisan 2014 Pazartesi

Oracle Veritabanı: Index Organized Tables

Index Organized Table(IOT) Nedir?

Index Organized Table normal bir tablonun aksine, kendi yapısına sahip bir tablodur. Row id'si yoktur.
Tablosuz bir index gibi düşünülebilinir. Normal bir tablo bir sürü veriyi sırasız bir şekilde tutat.  IOT tabloları verileri B-tree index yapısı içerisinde tutar. Normal bir tabloda her satırın belirli bir yeri varken, IOT bazlı tablolarda satırların belirli bir yeri yoktur. IOT'da datalar sıralı bir şekilde tutulurlar. Zamanı geldiğinde bu satırların yerleri değişebilir. Herhangi bir satır insert edildiğinde var olan bir satırın yerinin değişmesine neden olabilir.


Index Organized Table Avantajları:

Index bazlı tablolarda  satırlar primary key bazlı tutulmaktadır. Buna göre

-Tablolardaki verilere primary key üzerinden arama yapılığında hızlı erişim sağlayabiliriz. IOT tablolarında I/O  operasyonları minimize edilir. Sürekli rowid'ye bakılmaz.

-Çok erişilen tablolar için avantajlıdır. IOT bazlı tabloları online olarak reorganize edebiliriz.

-Yer olarak kazanım sağlar. Rowid'ler için fazladan yer gerekmez; çünkü rowid'ler kayıtlı olarak tutulmaz.

Index Organized Table Yaratma Örneği: 

 CREATE TABLE calisanlar  
   ( isim      CHAR(20),  
    yas     NUMBER
   )segment creation immediate  
 ORGANIZATION INDEX TABLESPACE IND_TBS;  

Tablespace ifadesi opsiyoneldir.  Eğer kullanıcının bulunduğu tablespace'de yaratılmayacaksa  kullanılı Segment Creation ifadesi de hemen dictionary'de gözükmesi için gereklidir. Eğer yazılmassa tabloya veri atılana kadar IOT tablomuz  gözükmez.

Index Organized Table Üzerinde DML:

IOT yapılı tablolarda aynen sıradan tablolardaki gibi değişitirilebilinirler.

INSERT INTO calisanlar VALUES ('Berke',20);  
 SELECT * FROM calisanlar;  
 UPDATE calisanlar SET isim = 'AHMET' WHERE isim = 'Berke';  
 DELETE FROM calisanlar WHERE yas = 20;





3 Nisan 2014 Perşembe

Oracle E-Business Suite: Web Sayfaları - Web Pages

Oracle E-Business Suite Web Sayfaları aşağıdaki gibi bulunabilinir.

find . -name *AppsLocalLogin.jsp  
 ./$SID/apps/apps_st/appl/fnd/12.0.0/html/AppsLocalLogin.jsp  
 ./$SID/apps/apps_st/comn/webapps/oacore/html/AppsLocalLogin.jsp

Web sayfaları aşağıdaki klasör içinde listelenir.

 /orappl/$SID/apps/apps_st/comn/webapps/oacore/html  

Giriş sayfasında bir değişiklik yapacaksak AppsLocalLogin.jsp sayfasını değiştirebiliriz. Bu sayfanın kodları aşağıdaki gibidir.

more AppsLocalLogin.jsp   
 <%-- $Header: AppsLocalLogin.jsp 120.9.12010000.2 2011/08/16 19:41:12 ctilley ship $ --%>  
   
 <%@ page import='oracle.apps.fnd.sso.SessionMgr'%>  
 <%@ page import='oracle.apps.fnd.sso.SSOUtil'%>  
 <%@ page import='oracle.apps.fnd.sso.SecureHttpRequest'%>  
 <%@ page import='oracle.apps.fnd.common.WebAppsContext'%>  
 <%@ page import='oracle.apps.fnd.common.LangInfo'%>  
 <%@ page import='oracle.apps.fnd.sso.Utils'%>  
 <%@ page import='oracle.apps.fnd.login.LoginPage'%>  
 <%@ page import='oracle.apps.fnd.util.URLEncoder'%>  
 <%@ page import='java.util.Enumeration'%>  
 <%@ page import='java.sql.Connection'%>  
 <%@ page session="false" %>  
   
 <%  
  Utils.setRequestCharacterEncoding(request);  
   
   WebAppsContext wctx = null;  
   boolean alreadySet = false;  
     
   Connection conn = null;  
   if (Utils.isAppsContextAvailable()) {  
    wctx = Utils.getAppsContext();  
    alreadySet = true;  
  } else {  
    wctx = Utils.getAppsContext();  
  }  
  request = SecureHttpRequest.check(request,wctx);  
  String requestUrl = request.getParameter("requestUrl");  
  try {  
     String params;  
     StringBuffer tmp = new StringBuffer();  
     tmp.append("requestUrl=");  
     if( requestUrl != null && !requestUrl.equals(""))  
      tmp.append(URLEncoder.encode(requestUrl,SessionMgr.getCharSet()));  
       
     Enumeration paramNames = request.getParameterNames();  
     while (paramNames != null && paramNames.hasMoreElements()) {  
      String name = (String) paramNames.nextElement();  
      if (!(name.equals("requestUrl")))  
      {  
       String value = request.getParameter(name);  
       tmp.append("&");  
       // Restoring original encoding  
       tmp.append(oracle.apps.fnd.util.URLEncoder.encode(name,SessionMgr.getCharSet()));  
       tmp.append("=");  
       tmp.append(oracle.apps.fnd.util.URLEncoder.encode(value,SessionMgr.getCharSet()));  
      }  
     }      
       
       
     conn = Utils.getConnection();  
     boolean getIcxLang = false;  
     String langCode = request.getParameter("langCode");  
     String sessionLang = null;  
     if ( langCode != null)  
     {  
       // This is from language selection bean  
       if (SessionMgr.isInstalledLanguage(langCode))  
       {  
         sessionLang = langCode;  
         Utils.writeToLog("sso/html", "Language: "+langCode+" is installed", wctx);  
       }  
       else  
       {  
         getIcxLang = true;  
         Utils.writeToLog("sso/html", "Language: "+langCode+" is not installed in apps", wctx);  
       }  
       
     }  
     else  
     {  
       // try getting language from browser  
       Utils.writeToLog("sso/html", "trying to get browser's Language", wctx);  
   
       String browserLanguages = request.getHeader("Accept-Language");  
       Utils.writeToLog("sso/html", "Browser Language:"+browserLanguages, wctx);  
      
       sessionLang = LoginPage.getAppsLangFromBrowser(browserLanguages, wctx);  
       getIcxLang = (sessionLang == null || sessionLang.equals(""));  
     }  
       
     String cval = SessionMgr.getAppsCookie(request);   
     String pNlsLanguage = null;  
     if(cval!= null && !cval.equals("-1") && !cval.equals("") )  
     {   
       
       Utils.writeToLog("sso/html", "Session exists:: "+cval+" setting lang :: "+langCode, wctx);   
       LangInfo info = wctx.getLangInfo(sessionLang , null, conn);  
       pNlsLanguage = info.getNLSLanguage();  
       wctx.validateSession(cval);   
       boolean check = wctx.setLanguageContext(pNlsLanguage, null, null, null, null, null, null);   
     } else {  
         SessionMgr.createGuestSession(request, response, false, sessionLang);  
     }  
   
     String returnUrl = SSOUtil.getLocalLoginRFUrl(tmp.toString());  
     response.sendRedirect(returnUrl );  
  }   
  catch(Exception e)  
  {  
   Utils.writeToLog("sso/html", "Exception occurred"+e.toString(), wctx);   
   throw new Exception(e.toString());  
  }  
  finally {  
      if (alreadySet == false) {  
          Utils.releaseAppsContext();  
      }  
  }  
 %>