pondělí 15. listopadu 2010

OBIEE11g - Jak spouštět WebLogic Admin Server pomocí služeb v MS Windows

Po instalaci Oracle BI EE 11g se aplikační server WebLogic spouští pomocí dodaných skriptů (StartWebLogic.cmd a StartManagedWebLogic.cmd). Nevýhodou tohoto způsobu je, že zůstanou na ploše otevřená okna, do kterých WebLogic Server zapisuje svoji činnost. Pokud uživatel okna uzavře nebo se odhlásí od systému, WebLogic Server se ukončí.

Pokud chcete, pak WebLogic Server můžete spouštět na pozadí pomocí služeb MS Windows. V dokumentaci k WebLogic Serveru je popsáno, jak takovou službu vytvořit. Pro potřeby OBIEE je však tento postup nedostačující, protože takto vytvořená služba bude spouštět pouze WebLogic Server Administration Console, nikoliv však Oracle Fusion Middleware Enterprise Manager, pomocí kterého lze pak administrovat OBIEE.

Postup implementace

1. Vytvoření automatického zadávání hesla
Aby se spouštěcí skript neptal uživatele na jméno a heslo, je potřeba tyto údaje vložit do souboru boot.properties. Viz jednoduchý návod zde.

2. Spuštění standardním způsobem – ověření předchozí změny
Pro ověření správného nastavení předchozího kroku je nutné restartovat Admin i Managed servery (zatím stále běžným způsobem z příkazové řádky).

3. Nastavení proměnných prostředí
Upozornění: Všechny další kroky je potřeba provádět z příkazové řádky cmd.exe. Zároveň všechny kroky musejí být provedeny v jedné session příkazové řádky, tzn. okno s příkazovou řádkou nesmí být mezi jednotlivými kroky uzavřeno. V takovém případě by se smazal obsah proměnných.

Prvním příkazem je spuštění souboru: …\OracleBI11\user_projects\domains\bifoundation_domain\bin\setDomainEnv.cmd

4. Nastavení proměnných prostředí #2
Další proměnné prostředí je potřeba nastavit ručně v příkazové řádce, nebo pomocí vytvořeného dávkového souboru spuštěného z příkazové řádky:

set DOMAIN_NAME=bifoundation_domain
set USERDOMAIN_HOME=…\OracleBI11\user_projects\domains\bifoundation_domain
set SERVER_NAME=AdminServer
set JAVA_VM=-jrockit
set MAX_CONNECT_RETRIES=200
set HOST=192.168.10.20
set PORT=7001

Význam těchto parametrů je dobře popsán v dokumentaci. Zde uvedené hodnoty parametrů jsou pouze informativní. Je potřeba je před spuštěním upravit na základě hodnot, které byly zadány při instalaci. Pokud byla instalace provedena defaultním způsobem, je potřeba upravit pouze IP adresu v proměnné HOST a cestu k doméně v proměnné USERDOMAIN_HOME.

5. Vytvoření služby
Posledním krokem je spuštění skriptu …\OracleBI11\wlserver_10.3\server\bin\installSvc.cmd, čímž se vytvoří služba v registrech Windows. Název služby začíná "beasvc", pak následuje jméno domény a jméno serveru.


Nyní je služba vytvořena a okno s příkazovou řádkou může být zavřeno.

Ověření správné instalace
První spuštění nově vytvořené služby je dobré provést z příkazové řádky takto:

…\OracleBI11\wlserver_10.3\server\bin\beasvc.exe –debug "beasvc bifoundation_domain_AdminServer"

Tímto způsobem je možné sledovat spouštění Weblogic Serveru v okně, jak jej známe při klasickém spouštění z příkazové řádky. Jakmile se v okně objeví řádky "RUNNING", WebLogic Server je spuštěn a uživatel se může přihlásit do Console nebo Enterprise Managera.

Pokud by během startování došlo k chybě, uživatel ji uvidí přímo na obrazovce nebo v klasickém log souboru: …\OracleBI11\user_projects\domains\bifoundation_domain\servers\AdminServer\logs\AdminServer.log

Dodatečná úprava parametrů
Pokud se při startu vyskytla chyba, nebo kdykoliv později dle potřeby je možné změnit parametry této služby.

Nejčistější způsob je smazání původní služby a vytvoření nové dle výše uvedeného postupu. Tento způsob je však časově náročný a při změně pouze jednoho méně důležitého parametru zbytečný.

Druhým způsobem je využití interního příkazu Windows z příkazové řádky"sc.exe". Tento způsob je sice nepřehledný, ale bezpečný z pohledu systému Windows.

Třetím způsobem je přímá editace klíčů v registru. Služba se nachází ve složce HKLM\SYSTEM\CurrentControlSet\Services\beasvc bifoundation_domain_AdminServer.


Samotné parametry jsou v podadresáři Parameters.


Práce v registrech je velmi přehledná. Na druhou stranu umožňuje dělat i takové změny, které mohou vést k nefunkčnosti celého systému Windows.

Nejčastější prováděné změny mohou být například přejmenování služby (klíč DislpayName), změna cesty k Java JDK (klíč JavaHome) nebo úprava velikosti alokované paměti (klíč CmdLine a hodnoty Xms a Xmx).

Ostatní části architektury
Výše uvedený postup spouští pouze WebLogic AdminServer. WebLogic ManagedServer musí být spuštěn buď z WebLogic Console nebo Enterprise Managera, a nebo obdobným způsobem vytvořenou službou MS Windows. Při vytváření služby pro ManagedServer je třeba nastavit více proměnných prostředí, závislost služby na službě spouštějící AdminServer (pokud jsou instalovány na stejném serveru) nebo zpožděný start. Veškeré informace jsou v dokumentaci.

Ostatní komponenty celé OBIEE11g architektury mají své Windows služby (Oracle Process Manager a Oracle WebLogic Node Manager) vytvořené během instalace.

Chybová hláška systému Windows při spouštění
Standardní čas, během kterého systém Windows čeká, zda byla služba úspěšně spuštěna, je 120 sekund. Pokud se služba do této doby nespustí, objeví se chybové hlášení.


Start WebLogic Serveru většinou trvá 2-5 minut podle výkonnosti serveru. Výskytu této hlášky můžeme zamezit změnou tohoto limitu v registrech.

Ve složce HKLM\SYSTEM\CurrentControlSet\Control je potřeba vytvořit nový klíč typu DWORD s názvem "ServicePipeTimeout" a vložit hodnotu, která říká, jak dlouho bude systém čekat na spuštění služby. Čas se zadává v milisekundách a pro přehlednost v desítkové soustavě. Pak je potřeba systém restartovat.


Ve chvíli, kdy se systém restartuje nebo vypíná, snaží se ukončit všechny běžící služby a čeká standardně 60 sekund. Poté službu násilně ukončí. Ukončení služeb WeBlogic Serveru by mohlo trvat déle, proto je dobré tento limit zvýšit. Stačí změnit hodnotu klíče "WaitToKillServiceTimeout" ve stejné složce.

Testováno v prostředí
• Windows Server 2008 SP2 32-bit
• Oracle Business Intelligence 11.1.1.3.0
• WebLogic Server 10.3.3.0
• JRockit 1.6.0.17
• Java JDK 1.6.0.18


Michal Nový (konzultant společnosti Aquasoft)

1 komentář:

JaroJ řekl(a)...

OBIEE11g - Jak spouštět WebLogic Admin Server pomocí služeb v MS Windows
ak je to na serveri Windows 2008 64-bit, je potrebná zmena v postupe ?