středa 30. května 2007

OBI EE a zpětný zápis (writeback)

Viděli jste naše demo ukazující práci s analytickým systémem? Jestliže ano, tak Vám určitě neušla ukázka zpětného zápisu dat do db přímo z reportu/dashboardu.


Ano, OBI EE umožňuje provádět zpětný zápis (writeback) dat do zdrojové databáze. Pozor, nejedná se o náhradu plánovacího/rozpočtovacího systému, ani o náhradu formulářové aplikace, na to má Oracle jiná řešení.

Využití vidíme spíše v možnosti dynamického nastavování prahových hodnot ukazatelů v reportu, korekce položek číselníků nebo tvorby jednoduchého modelování s logikou uloženou v db triggerech. Postup jak nastavit writeback najdete níže:

I/ Tvorba db tabulky, do které se bude zapisovat



II/ Tvorba BI metadat

1. Provedeme import informací o db tabulkách do fyzické vrstvy metadat



2. Upravíme Connection Pool > záložka Write Back > Owner (doplnit vlastníka db tabulek)



3. Pro tabulky, do kterých se bude zapisovat musíte vypnout "Cachování"



4. Ve fyzickém modelu nastavíme primarní klíče, cizí klíče a vazby (jestliže, existují v db, naimportují se automaticky)



5. Vybudujeme "business model" a "prezentační vrstvu" (drag&drop z fyzické vrstvy)



III/ Tvorba reportu s povoleným zpětným zápisem

6. Z připravených BI metadat vytvoříme report



7. Povolíme editační pole v tabulce - Vlastnosti sloupce > Formát sloupce > Interakce hodnoty > Zpětný zápis



8. Povolíme zpětný zápis - Všimněte si pole "Název šablony", označení sloupců v tabulce (c0 ... c4) a možnosti editace hodnot buňek




9. Uložíme report



IV/ Tvorba XML šablony pro zpětný zápis


10. Vytvoříme XML šablonu s názvem "WritebackTemplate.xml" a uložíme jí do $BI_HOME/web/app/res/CustomMessages/

XML šablona má povinnou hlavičku, web message s názvem writeback šablony (viz. krok 8), volání connection poolu pro writeback (viz. krok 2), tagy insert a update (hodnoty pro sloupce viz. krok 8). OBI EE neumožňuje vkládání nových řádků, ale insert tag je povinný! XML šablona může obsahovat více web messages.



11. Restartujeme službu Oracle BI Presentation Server a Oracle BI Server


V/ Testování

12. Současné hodnoty



13. Změna na nové



14. Nové hodnoty



15. Výpis z logu


VI/ Oprávnění

Možnost používat zpětný zápis nemá každý. Oprávnění se řídí na dvou úrovních:
  1. Na úrovni BI metadata repository - v BI Administration nastavte oprávnění na použití přímého přístupu do databáze (BI Administration > Manage > Security Manager > uzivate/skupina > Permissions > Query Limits)


  2. Na úrovni Prezentační služby - v BI Dashboadu povolte Zpětný zápis (BI Dashboards > Nastavení > Správa > Správa oprávnění > Zpětný zápis)


eec.

pátek 25. května 2007

Referenčná architektúra na DWH fail over

V rámci spolupráce s partnerskou firmou bolo vytvorené testovacie RAC prostredie pozostávajúce z 86 uzlov. Učelom testu bolo zistiť správanie systému v prípade masívneho poškodenia. Pripájame video z pribehu testu.

úterý 22. května 2007

OBI EE - Povolení/zakázání interpretace HTML kódu v prezentační vrstvě (BI Interactive Dashboards)

Standardně je prezentační vrstva Oracle Business Intelligence EE chráněna proti Cross-site scripting (XSS).

Ochrana proti XSS spočívá v tom, že prezentační vrstva OBI EE neinterpretuje HTML kód v objektech, do kterých je možné HTML vkládat, např. "Objekt panelu - Text" v BI Interactive Dashboards.


Jestliže je ochrana proti XSS zapnuta, je veškerý text a html kód interpretován jako "plan" text.


Chcete-li XSS ochranu vypnout, vložte do souboru "instanceconfig.xml" ($BI_DATA_HOME/web/config) tag nastavující HardenXSS na false a restartujte službu Oracle BI Presentation Server.


Poté bude veškerý HTML kód interpretován.


eec.


pátek 18. května 2007

OBI EE - Jak rozchodit službu Oracle BI Scheduler a komponentu BI Delivers

Asi jste si všimli, že po instalaci OBI EE Vám nejde spustit služba Oracle BI Scheduler. V případě, že tato služba neběží, tak nefunguje ani komponenta pro proaktivní monitorování, upozorňování a alerty - BI Delivers.
Níže vám přinášíme návod (platí pro Linux i Windows) jak tuto službu nakonfigurovat.

Konfigurace se skládá ze dvou částí:
  • I/ Vytvoření db uživatele a jeho objektů
  • II/ Konfigurace služby BI Scheduler
I/ Vytvoření db uživatele a jeho objektů

Databázové schéma (uživatel) může být vytvořeno v libovolné databázi, skripty jsou standardně dodávány pro tyto databáze: Oracle, DB2, MSSQL a Teradata (v mém případě využiji Oracle).

1/ Založení db uživatele (jméno, heslo, tablespaces mohou být libovolné)

create user bi_delivers
identified by bi_delivers

default tablespace users
temporary tablespace temp
quota unlimited on users;

grant create session, create table to bi_delivers;



2/ Založení db objektů

Skript najdete v adresáři $BI_HOME/server/Schema/SAJOBS.Oracle.sql, spusťte jej např. z SQL*Plus:


II/ Konfigurace služby Oracle BI Scheduler

Konfiguraci BI Scheduleru je možné provést buď pomocí GUI "Job Manager" (Start > Programs > Oracle Business Intelligence > Job Manager nebo Start > Programs > Oracle Business Intelligence > Administration > Manage > Jobs) nebo pomocí příkazového řádku a utility "schconfig".

Protože pro Linux/Unix platformu neexistuje GUI, použijeme utilitu schconfig. Najdete ji v $BI_HOME/server/Bin/schconfig.

1/ Nastavení proměnných prostředí (pouze pro Linux/Unix)

Než na Linuxu/Unixu spustíte utilitu schconfig, musíte nastavit proměnné prostředí. Spusťte skript $BI_HOME/setup/common.sh a nastavte proměnnou $LD_LIBRARY_PATH na $BI_HOME/server/Bin


2/ Spustění utility schconfig a konfigurace služby Oracle BI Scheduler

a/ Spuštění utility


b/ Konfigurace scheduleru

Z menu zvolte volbu "1 - Configure Scheduler"


c/ Konfigurace scheduleru - nastavení databáze

Z menu zvolte volbu "1 - Database"


d/ Konfigurace scheduleru - nastavení databáze - detail

Zde nastavte/opravte:
1 - Database Type
2 - Call Interface
3 - Data Source Name (databáze, ve které jste vytvořili uživatele BI_DELIVERS)
4 - User Name (uživatel BI_DELIVERS)
5 - Password (heslo uživatele BI_DELIVERS)


e/ Konfigurace scheduleru - obecné nastavení

V menu zvolte volbu "0 - Quit" a uložte změny, pak přejděte do menu "2 - General
". Zde nastavte jméno a heslo na správce metadata repository:
10 - Administrator Name (uživatel Administrator nebo uživatel ve skupině Administrator)
11 - Administrator Password (pokud jej máte nastaveno)

Po nastavení hodnot z menu odejděte a změny uložte. Jestliže chcete zajistit posílání reportů emailem, konfiguraci proveďte v menu "2 - Configure Mail".


3/ Integrace Scheduleru s Presentation Services

Aby bylo možné plánovaně spouštet BI Answers sestavy pomocí komponenty BI Delivers, musí dojít k integraci s BI Presentation Services. K tomuto účelu slouží utilita cryptotools.exe, která se spuští s následujícími parametry:

cryptotools.exe credstore -add -encr -username Administrator -password Administrator -alias admin -inFile D:\Oracle\product\OracleBIData\web\config\credentialstore.xml

-username jméno uživatele z metadata repository (viz. krok e/)
-password heslo uživatele z metadata repository (viz. krok e/)
-infile cesta na soubor s credential pro BI Presentation Services

Utilita je interaktivní, tj. nechte heslo zašifrovat, zadejte frázi pro zašifrování a nechte ji zapsat do souboru credentialstore.xml (v případě, že ji zde zapsat nechcete, pak do instanceconfig.xml nakonfigurujte tag CredentialStore).

Po dokončení konfigurace "
credential store" restartujte službu Oracle BI Presentation Server.

Jakmile se změní heslo uživatele, který je nakonfigurován pro BI Scheduler (viz. krok e/), musí se utilita
cryptotools.exe opět spustit s parametrem (-password) nového hesla.


Start služby Oracle BI Scheduler

na Windows: Windows Services -> start služby Oracle BI Scheduler


na Linuxu: $BI_HOME/setup/run-sch.sh start



eec.

pondělí 14. května 2007

OBI EE jako aplikace/kokpit pro "realtime" monitorování

Uvažujete o vývoji vlastní aplikace/kokpitu pro realtime monitorování vašich systémů, databází nebo aplikací?

Jestliže ano, pak máte na výběr:
  • a/ použít nějaký programovací jazyk a celou aplikaci/kokpit si napsat
  • b/ využít BI technologii jako je Oracle Business Intelligence (OBI EE) a aplikaci/kokpit v ní "naklikat"
Aby jste mohli OBI EE využít jako "realtime" monitorovací aplikaci/kokpit, tak musíte zajistit tyto tři podmínky:
  • I. Automatická obnova stránek
  • II. Minimalizace "cachování" informací
  • III. Minimalizace "cachování" dat

I. Automatická obnova stránek


Monitorovací aplikaci/kokpit vytvoříte v komponentě BI Interactive Dashboards, příklad najdete zde (samotné reporty jsou vytvořeny v komponentě BI Answers, příklad najdete zde).

To co potřebujete zajistit nyní je automatická obnova stránek kokpitu. Tu zajistíte tak, že do vytvořeného kokpitu vložíte "Objekt panelu - Text" a do něj napíšete HTML kód* - tag: META HTTP-EQUIV="REFRESH" CONTENT="60", kde parametr "CONTENT=" určuje interval obnovy stránky - hodnota jsou vteřiny.

* - K tomu, aby prezentační vrstva OBI EE interpretovala HTML kód, musíte vypnout ochranu proti XSS. Návod jak to udělat naleznete zde.


II. Minimalizace "cachování" informací


OBI EE zajišťuje "cachování" informací na úrovni webové cache BI Presentation Serveru. Ovlivnit "cachování" informací na úrovni Prezentačního serveru můžete dvěma způsoby:

  1. Platí pouze pro konkrétní report - V nástroji BI Answers, zvolíte záložku Pokročilé a zde zaškrtnete pole "Vynechat mezipaměť webu Oracle BI Presentation Services Cache"



  2. Platí pro celý BI Presentation Server, tzn. pro všechny reporty - Parametry ovlivňující webovou "cache" jsou uvedeny níže, nastavují se v souboru $BI_DATA_HOME/web/config/instanceconfig.xml. Hodnotu parametrů nastavte dle Vaší potřeby na "realtime" informace.



III. Minimalizace "cachování" dat

OBI EE zajišťuje "cachování" dat na úrovni "cache" BI Serveru. "Cache" se zapíná, vypíná a nastavuje v souboru $BI_HOME/server/Config/NQSConfig.INI. Jestliže je "cache" zapnuta, tak musíte buď:
  • a/ vypnout "cachování" pro konkrétní datový objekt (viz. screenshot - označeno modře)
  • b/ nastavit "cachování" objektů v podobném intervalu jako "cachování" informací (viz. screenshot - označeno červeně)


Erik Eckhardt (eec).

středa 9. května 2007

Oracle Transportable Tablespaces Cross Platform

Asi většina z Vás již někdy slyšela a možná i zkoušela využít "Transportable Tablespaces" - vlastnost Oracle databáze, která je vhodná pro přenosy velkých objemů dat.

Z minulosti víte, že zde existovala některá "nepříjemná" omezení, jako např.: zdrojová a cílová databáze musela mít stejnou velikost db bloku (db_block_size), stejnou kódovou stránku (character sets) a hlavně musela běžet na stejné platformě a operačním systému.

Veškerá tato omezení jsou mýtus. Oracle Database 10g umožňuje přenášet celé "tablespaces" mezi různými platformami a operačními systémy. Více informací o využití a nasazení Oracle Transportable Tablespaces naleznete zde.

eec.

středa 2. května 2007

Sizing dátového skladu

Urobiť sizing pre dátový sklad je ošemetná záležitosť. Väčšinou nie je dosť dobre jasné akej záťaži bude systém v konečnom dôsledku vystavený a tak nám zostáva iba kvalifikovaný odhad. Pokiaľ by ste sa ocitli v topánkach odhadcu, tak Vám môžu pomocť tzv. referenčné konfigurácie, ktoré vznikajú v rámci aliancií softvérových a hardvérových dodávateľov. Príkladom môže byť referenčné konfigurácie vytvorené v spolupráci so Sun.

Sun Small Reference Configuration for Oracle DWH
Sun Medium Reference Configuration for Oracle DWH
Sun Large Reference Configuration for Oracle DWH

Niekoľko praktických rád:
  • HW od rôznych dodávateľov sa dá porovnať pomocou databázy štandardných benchmarkov napr. www.spec.org
  • I/O je najužšie miesto dátového skladu. Oracle databáza je schopná teoreticky spracovať až 300+MB/s na GHz/CPU (direct read, parallel table scan, multi-block reads)
  • V praxi rátajte I/O 75-100MB/s na GHz/CPU (TPC-H benchmark je cca 200MB/3GHz Xeon)
  • Priepustnosť systému môžete otestovať nástrojom Orion, ktorý simuluje I/O operácie generované Oracle databázou

Príklad porovnania absolutnú priepustnosti systému a ako dokáže Oracle databáza facilitovať I/O.

Z porovnania nám vyšlo, že Oracle databáza vie efektívne využiť až 90% I/O zdrojov. Absolutnú priepustnosť sme simulovali príkazom
  • dd bs=1048576 if=/raw/data_1 of=/dev/null count=10000


Prehľad priepustností rôzny technológií:


Akú máte skúsenosť so sizingom dátového skladu Vy?