čtvrtek 23. září 2010

Upgrade ODI repository z verze 10g na 11g

Předchozí články:

Upgrade ODI repository na verzi 11g nelze provádět pomocí ODI Studia, ale musí se použít Oracle Fusion Middleware Upgrade Assistant pro Data Integrator (je součástí ODI adresáře v Oracle Fusion Middleware instalaci).

Podmínkou upgrade na 11g je
  • mít repository uložené v podporované databázové platformě a verzi (viz. ODI 11g certification matrix)
  • všechna Work repository patřící k jednomu Master repository musí být uložena ve stejné databázi (ODI podporuje distribuování repository do různých databází, ale pro upgrade musí být v jedné).
Před spuštěním upgrade procesu je doručené klonovat všechna 10g repository do nového schématu. V případě, že upgrade z nějakého důvodu neproběhne, pak 10g i 11g repository nebudou funkční.

Dále je vhodné spustit Repository Consistency Checker (RCC) Utility, která zkontroluje strukturu a integritu ODI Repository. RCC Utility je k dispozici na support.oracle.com pod ID 1058107.1.

Moje ODI 10g prostředí
Jedno Master repository:
  • MASTER, dbuser: odi_rep
Čtyři Work repository (DEV, TEST, QA, PROD)
  • ORACLEDI_PRODREP01, dbuser: odi_rep_prod
  • ORACLEDI_WORKREP01, dbuser: odi_rep
  • ORACLEDI_WORKREP02_TST, dbuser: odi_rep_work2
  • ORACLEDI_WORKREP03_QA, dbuser: odi_rep_qa

Klonování
Protože databáze ve které mám uloženy 10g repository nepatří mezi podporované, klonuji je do Oracle 11gR2:

Export uživatelů vlastnící ODI 10g Master a Work repository
exp userid=odi_rep/odi_rep file=c:\odi_rep.dmp
exp userid=odi_rep_prod/odi_rep_prod file=c:\odi_rep_prod.dmp
exp userid=odi_rep_work2/odi_rep_work2 file=c:\odi_rep_work2.dmp
exp userid=odi_rep_qa/odi_rep_qa file=c:\odi_rep_qa.dmp


Založení uživatelů pro upgrade na 11g v 11g db
create user odi11_rep identified by odi11_rep
default tablespace users temporary tablespace temp
quota unlimited on users;

create user odi11_rep_prod identified by odi11_rep_prod
default tablespace users temporary tablespace temp
quota unlimited on users;

create user odi11_rep_work2 identified by odi11_rep_work2
default tablespace users temporary tablespace temp
quota unlimited on users;

create user odi11_rep_qa identified by odi11_rep_qa
default tablespace users temporary tablespace temp
quota unlimited on users;

grant connect,resource to odi11_rep, odi11_rep_prod, odi11_rep_work2, odi11_rep_qa;


Import ODI 10g Master a Work repository do nových schématů v 11g db
imp userid='system/manager' touser=odi11_rep fromuser=odi_rep file=c:\odi_rep.dmp
imp userid='system/manager' touser=odi11_rep_prod fromuser=odi_rep_prod file=c:\odi_rep_prod.dmp
imp userid='system/manager' touser=odi11_rep_work2 fromuser=odi_rep_work2 file=c:\odi_rep_work2.dmp
imp userid='system/manager' touser=odi11_rep_qa fromuser=odi_rep_qa file=c:\odi_rep_qa.dmp



Upgrade pomocí Oracle Fusion Middleware Upgrade Assistant
Upgrade Assistant (ua.bat|sh) je součástí ODI adresáře v Oracle Fusion Middleware instalaci, více viz. zde.


V dalším kroku jsou na výběr dvě možnosti:

Upgrade Middle Tier Instance – zajistí zkopírování konfiguračních souborů a startovacích skriptů pro ODI Standalone Agenta, lze udělat později manuálně (viz. níže v části Po instalační kroky).

Upgrade ODI Repositories
  • Update Topology and Security Metadata - aktualizuje objekty v Topologii a Security pro podporu nových vlastností 11g verze

  • Replace KMs with Mandatory Updates - aktualizuje pouze 10g Knowledge Moduly, které nebudou fungovat v 11g verzi. Jde o následující KM:
    • LKM File to Oracle (EXTERNAL TABLE)
    • LKM File to Netezza (EXTERNAL TABLE)
    • LKM File to Oracle (SQLLDR)
    • LKM File to SAS
    • LKM File to DB2 UDB (LOAD)
    • LKM SAS to SQL
    • LKM SQL to Teradata (TTU)
    • IKM SQL to Teradata (TTU)
    • LKM File to Teradata (TTU)
    • IKM File to Teradata (TTU)
    • IKM Teradata to File (TTU)
    • LKM File to MSSQL (BCP)
    • LKM File to Sybase IQ (LOAD TABLE)

    KM jsou aktualizovány na základě jména, tzn. pokud jste duplikovali a přejmenovali výše uvedené KM, pak jeho úpravu musíte provést manuálně.

    V 11g verzi je opraveno ODIRef API pro getTargetTable a getTableList. V ODI 10g verzi jsou v API prohozeny oddělovače polí a řádků (XFILE_SEP_FIELD, XFILE_SEP_ROW, FILE_SEP_FIELD, FILE_SEP_ROW) a 10g KM s tím počítají. V ODI11g verzi je to opraveno a proto KM musí být aktualizovány.

    KM, které jsou aktualizovány se zálohují do adresáře ...\Middleware\ODI1111\upgrade\odi\KM10g\...

  • Check that Upgrade Occurs Only on Cloned Repositories - provede kontrolu zda upgrade probíhá nad klonovaným repository

Potvrdíme volby


Nastavíme připojení na databázi s klony Master a Work repository, vyplníme vlastníka klonovaného Master repository a aplikačního správce ODI


Installer načte všechna Work repository, vyplníme jména db uživatelů a hesla


Kontrola


Shrnutí


Úspěšné dokončení upgrade repository za cca 5 minut



Po instalační kroky

Standalone Agent
Pokud jste nevybrali Upgrade Middle Tier Instance, pak manuálně překopírujte / upravte skripty pro Standalone Agenta, hlavně odiparams.bat|sh, případně startovací skript.

Poznámka: startovací skript pro Agenta v módu scheduler nekopírujte/nevytvářejte (v 11g již není potřeba). Jen nakonfigurujte v odiparams.bat|sh připojení do Master repository a po startu Agenta se automaticky nastartuje i Scheduler pro jednotlivá repository:


Login pro ODI Studio
Přidejte logovací profil do ODI Studia pro připojení do migrovaných repository. Stačí jej vytvořit pouze na jedné vývojářské stanici a poté rozkopírovat na další. Soubor s loginy je uložen v ?:\Documents and Settings\[uživatel]\Application Data\odi\oracledi\snps_login_work.xml


ODI Open Tools nebo dodatečné JDBC ovladače
Pokud používáte ODI Open Tools nebo dodatečné JDBC ovladače, tak je musíte manuálně nakopírovat do nových adresářů:
  • pro ODI Studio do adresáře na Windows ?:\Documents and Settings\[uživatel]\Application Data\odi\oracledi\userlib\, na UNIXu/LINUXu USER_HOME/.odi/oracledi/userlib

  • pro Standalone Agenta do adresáře na Windows ODI_HOME\oracledi\agent\drivers, na UNIXu/LINUXu ODI_HOME/oracledi/agent/drivers/

Oracle technologie je standardně nastavena s Non-Ordered Joins
Jak v ODI 10g, tak i po upgrade na ODI 11g je v Topologii u technologie Oracle nastaveno Non-Ordered syntaxe pro join (Oracle databáze od verze 10g podporuje jak klasický zápis joinu, tak i ISO zápis). Pro plné využívání nových vlastností ODI 11g je Ordered syntaxe doporučenou syntaxí pro technologii Oracle.


ODI DEMO prostředí (volitelné)
ODI Demo již není součástí standardní instalace ODI, ale volitelnou v ODI Companion CD, viz. zde.

Jakmile ODI Companion stáhnete, rozpalte oracledi-demo.zip do ...\ODI11g\oracledi\demo a poté v ODI Studiu vytvořte na demo profil:


Demo se spouští pomocí ...\ODI1111\oracledi\demo\bin\startdemo.bat, Getting Started Guide pro ODI 11g najdete zde.


Shrnutí
Upgrade mých čtyř work repository proběhl úspěšně a veškeré projekty (i ty u kterých došlo k upgrade KM) fungují jako v 10g verzi. Nefungují mi pouze nově generované Data Services do AXIS2 a to z důvodu, že místo AXIS2 je v ODI 11g pro WS podporován standard JAX-WS.

PS: v případě úpravy technologií a KM nezapomeňte regenerovat Scénáře.



Erik Eckhardt

Žádné komentáře: