čtvrtek 18. března 2010

ODI a GoldenGate - integrace hotova v ODI 10.1.3.6.0_02

5. března 2010 byla oficiálně uvolněna nová verze ODI (10.1.3.6.0_02), která je již integrována s Oracle GoldenGate - platformou pro heterogenní real-time integrace založené na Change Data Capture z transakčních a archivních logů různých databázových systémů včetně Oracle, IBM DB2, MS SQL Server, Sybase ASE, Teradata, HP NonStop / Tandem (Enscribe, SQL/MP, SQL/MX).

Oracle GoldenGate lze použít pro různé typy scénářů s hlavními požadavky na:
  • přenos transakcí v reálném čase
  • minimální zatížení zdrojových systémů při extrakci dat
  • velmi nízká latence přenosu
  • neomezená vzdálenost mezi zdrojovou a cílovou databází
  • dodržení transakční integrity během výpadku a poruchách sítě
  • přenosy v homogenním nebo heterogenním prostředí
  • přenosy mezi různými verzemi, edicemi a OS platformami
  • ...

Nejběžnější scénáře nasazení Oracle GoldenGate jsou:


Silnou stránkou Oracle GoldenGate je jeho nezávislost na verzích, edicích a dodavatelích zdrojových / cílových databází, a také nezávislost na operačním systému na kterém jsou provozovány.
GoldenGate vám umožní v reálném čase přenášet data z Oracle DB verze 8i běžící na 32-bit Windows do Oracle DB 11g běžící na IBM AIX, nebo mezi Oracle DB Standard Edition a Oracle DB Enterprise Edition, a nebo v heterogenním prostředí mezi různými systémy jako např. z DB2 do MS SQL, Teradaty a zpět.


Integrace mezi ODI a Oracle GoldenGate je pomocí Znalostního modulu „JKM Oracle to Oracle Consistent (OGG)“, který umožňuje přímo z prostředí ODI Designera automaticky generovat infrastrukturu pro GoldenGate, tj. parametrické soubory PRM a OBY.
Real-time Data Warehousing
s pomocí ODI a GoldenGate pak vypadá následovně:



Nová verze ODI je dostupná na stránkách Oracle Support pod označením 9449058.




Erik Eckhardt

pondělí 15. března 2010

Operace dělení nad sloupcem celočíselného datového typu

Pokud jste někdy potřebovali dělit hodnoty ve sloupci, který je v metadata repository definovaný jako datový typ INTEGER, pak zjistíte, že použití pouhého lomítka, jako operátoru pro dělení způsobí jisté nepřesnosti ve výsledku. Následujícím příkladem se pokusím celé chování demonstrovat a také nastínit možné řešení.

Z repository dostupného po nainstalování poslední verze (10.1.3.4.1) Oracle BI Enterprise Edition jsem použil dva sloupce:
Cílová oblast: Sample Sales,
Tabulka: F2 Units – 23 Dimension Total, Sloupec: 8-66 Total # or Orders (Cnt Dt for All Orders)
Tabulka: D2 Market, Sloupec: M01 Market

Zároveň pro přehlednost jsem nastavil filtr na poslední sloupec s jedinou hodnotou „Market 5“.

Výsledná tabulka po přejmenování sloupců vypadala takto:





Faktový sloupec jsem v dotazu zopakoval a nastavil pro něj hodnotu 1/100:









Výsledek byl následující:





Je vidět, že zde nedošlo ke správnému zaokrouhlení. Co s tím, pokud nemám možnost zasáhnout do repository a takovýto správně vypočítaný sloupec si připravit?
Zkusil jsem přidat ještě jednou stejný sloupec do sestavy a použít matematickou funkci pro zaokrouhlování s následným dělením stem:








Funkce ROUND si zřejmě alokuje pro svůj výpočet paměťový prostor pro datový typ, který zvládá desetinné operace (např. FLOAT nebo REAL) a proto výsledek odpovídal mému očekávání:





Petr Zeman (softwarový konzultant OKsystem)

čtvrtek 11. března 2010

OBI Purge cache pomocí Event Polling Table

Na projektu jsme chtěli automaticky vyprázdnít OBI cache po aktualizaci dimenze nebo faktové tabulky. Vzhledem k tomu, že jako ETL používáme ODI, rozhodli jsme se nakonfigurovat OBI Event Polling Table (EVP) s tím, že ODI Knowledge Modul zajistí po aktualizaci tabulky vložení odpovídajícího záznamu do Event Polling Table (více o Event Polling Table viz. dokumentace Oracle BI Server Administration Guide, kapitola Cache Event Processing with an Event Polling Table).

Jedná se v podstatě o velmi triviální záležitost, na webu jsme našli několik jednoduchých step by step postupů konfigurace EVP v ODI. V praxi jsme však narazili na následující problém:

Použita byla databáze Oracle 10gR2 a zakládací skript EVP tabulky dle dokumentace. Po konfiguraci Event Polling Table se v logu NQServer.log objevovali následující chyby v závislosti na tom, jaký ovladač byl použit pro import metadat EVP tabulky:
  • Pokud jsme použili OCI driver:
    - [55004] The prepare operation failed while polling from table UET.
    - [nQSError: 22005] Repository metadata: column has no data type information.
    - [55005] The cache polling delete statement failed for table UET.


  • Pokud jsme použili ODBC driver:
    - [55004] The prepare operation failed while polling from table UET.
    - [nQSError: 22006] Repository metadata: missing column object: ID=0:34.
    - [55005] The cache polling delete statement failed for table S_NQ_EPT.
    - [nQSError: 22006] Repository metadata: missing column object: ID=0:34.

Příčinou byl z hlediska Event Polling nekorektní reverse engineering metadat EVP tabulky do OBI repository. Sloupec UPDATE_TS typu DATE bylo nutno manuálně v OBI repository nastavit na DATETIME.

Přikládám funkční kombinaci zakládacího skriptu EVP tabulky a screenshot metadat EVP v OBI repository:

create table S_NQ_EPT (
UPDATE_TYPE DECIMAL(10,0) DEFAULT 1 NOT NULL,
UPDATE_TS DATE DEFAULT SYSDATE NOT NULL,
DATABASE_NAME VARCHAR2(120) NULL,
CATALOG_NAME VARCHAR2(120) NULL,
SCHEMA_NAME VARCHAR2(120) NULL,
TABLE_NAME VARCHAR2(120) NOT NULL,
OTHER_RESERVED VARCHAR2(120) DEFAULT NULL NULL
) ;



Karel Hübl (Architekt společnosti GEM System International)

pondělí 8. března 2010

Oracle University Vás zve na školení Oracle Data Integrator: Administration and Development

V návaznosti na naše ODI hands-on workshopy připravila Oracle University plnohodnotné školení, které Vás provede celým cyklem vývoje v Data Integratoru. Podrobnější informace o náplni školení naleznete na tomto linku.

Školení se koná ve dnech 3.- 6. 5. 2010 v Praze - Oracle University, Škrétova 12, Praha 2. Máte-li o školení zájem, pak přímo kontaktuje Oracle University na education_cz@oracle.com

pátek 5. března 2010

Seminář: Vlastnosti Oracle Database 11g pro Datové sklady

Dnes dopoledne proběhl seminář o novinkách Oracle Database 11g pro Datové sklady. Všem účastníkům semináře děkujeme! Prezentace ze semináře jsou dostupné níže.


Prezentace ze semináře:

eec.

čtvrtek 4. března 2010

Dva nové kumulativní patche pro ODI - Patch Set 10.1.3.5.6 a 10.1.3.6.0

V lednu 2010 byl uvolněn kumulativní patch pro ODI, který jej povyšuje na verzi 10.1.3.5.6. V únoru 2010 pak patch, který jej povyšuje na verzi 10.1.3.6.0.

Oba dva patche lze aplikovat na jakoukoli verzi počínaje základní 10.1.3.5.0.
Pozor: patch 10.1.3.6.0 mění strukturu Master i Work repository.

Patche jsou ke stažení z Oracle Support pod označením 9377717 (10.1.3.6.0 z 13-FEB-2010) a 9327111 (10.1.3.5.6 z 29-JAN-2010).

Informace o předešlých verzí najdete zde.

Version 10.1.3.6.0
New/Modified Objects

The following KMs have been modified or added in this version:

  • IKM SQL to Hyperion Planning - Modified

Bugs Fixed
  • 8855049 - Random "java.sql.SQLException: Closed Connection" error appears when running scenarios, while updating a session task. Connection to the repository is lost and session stops.

  • 7696856 - Users not having "view/edit data" privileges are able to see table data through interface diagrams.

  • 8993849 - Some session task logs are grayed out for a user with limited privileges in operator.

  • 9309858 - IKM SQL To Hyperion Planning: ERROR_LOG_FILENAME overwrites and does not append log content.

  • 9056142,9188539 - Repository Structure Fix. This patch set includes a fix to the repository structure. Running an upgrade of the Master and work repositories after this patch fix invalid the repository structures. See Repository Structure Fix for more information.

Version 10.1.3.5.6
New/Modified Objects

The following KMs have been modified or added in this version:

  • LKM DB2 400 Journal to SQL - Modified

  • JKM DB2 400 Simple (Journal) - Modified

  • IKM Oracle Slowly Changing Dimensions - Modified

  • LKM SAP ERP to Oracle (SQLLDR) - Modified

  • RKM SAP ERP - Modified

  • LKM SAP BW to Oracle (SQLLDR) - Modified

  • RKM SAP BW - Modified

Bugs Fixed
  • 6870772 - Unable to reverse engineer a Datastore or to insert/update a Datastore containing a LOB family type object.

  • 6667705 - Version restore operation causes a deadlock and prevents simultaneous users from updating other repository objects.

  • 8855049 - While updating a session task, repository connections are closed abruptly there by causing "closed connection" exception .

  • 8967643 - "java.lang.NumberFormatException:" when attempting to connect to a set of XSD files.

  • 9103310 - With no overwrite on change configured, IKM Oracle Slowly Changing Dimension fails at step 272 "Updating Existing Row".

  • 9235923 - Missing KMS in the impexp folder, LKM DB2 400 Journal to SQL and JKM DB2 400 Simple (Journal).

  • 9094083 - LKM SAP ERP to Oracle (SQLLDR) : File separator changed to \n for UNIX systems.

  • 9170437 - RKM SAP ERP: Retrieve list of SAP modules dynamically.

  • 9094083 - LKM SAP BW to Oracle (SQLLDR) : File separator changed to \n for UNIX systems.

  • 9249552 - SAP BW RKM : Obsolete step "INSTALL RFC FUNCTIONS" removed from KM.

  • 8848077 - OdiSAPAleServer and OdiSAPAleClient cannot connect to recent sap Netweaver systems. This is due to an incompatibility of these tools with JCO 3. To use a compatible version of the tools. Alter the SAPALE tools calls to use with OdiSAPAleServer3 and OdiSAPAleClient3 instead.

  • 9201073 - Cannot load metadata that includes shared members into HFM 11.1.1.3


Erik Eckhardt

pondělí 1. března 2010

BI Publisher a stálé zapnutí Režimu dostupnosti

BI Publisher umožňuje uživatelům přistupovat k sestavám ve dvou režimech:
  1. Standardní režim
  2. Režim dostupnosti
Standardní režim | Režim dostupnosti

Standardní režim je více vhodný pro vývojáře a administrátory sestav – umožňuje definovat a konfigurovat jednotlivé sestavy v repository (po levé straně jsou k dispozici různá menu).

Režim dostupnosti je více vhodný pro koncové uživatele – nabízí sestavy v přehledné stromové struktuře bez jakýchkoli dodatečný menu – uživatel vybere sestavu a ta se mu buď ihned spustí nebo naplánuje její vygenerování.

Do jaké režimu se má BI Publisher po zalogování přepnou je potřeba vybrat na logovací obrazovce. Režim dostupnosti je standardně vypnutý – tj. uživatel jej musí explicitně zapínat.


V případě, že uživatel opomene zapnout Režim dostupnosti, pak lze dodatečně zapnout v rámci menu Předvolby. Pozor: předvolba se po odlogování přepíše opět nastavením logovací obrazovky.


Proto požadují-li vaši uživatelé, aby byl Režim dostupnosti stále zapnut, pak lze využít menší workaround v podobě upravení logovací stránky.


Jak na to
  1. Logovací stránku login.jsp najdete v adresáři vašeho J2EE containeru, v mém případě ...\OracleBI\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\login.jsp

  2. Soubor login.jsp si zálohujte

  3. Soubor login.jsp otevře v notepadu a vyhledejte input type="checkbox"

  4. Za input type="checkbox" doplňte checked="yes"



Poté již bude Režim dostupnosti standardně zapnut!



Erik Eckhardt