CV Edwin Kessels

Er zijn twee manieren om de OAS te beheren:

  1. Application Server Control (AS-Control)
  2. Command line (opmnctl en logfiles)

AS-Control (Application Server-Control) is een Java applicatie welke draait in de Home-container (OC4J-Container) van de Oracle Application Server. Indien een configuratie uit meerdere nodes bestaat, is het raadzaam om maar 1 Home container actief te hebben (op andere nodes kan dan de gehele Home-container gestopt worden). De URL van de AS-Control is als volgt:

De inloggegevens (credentials) worden ingesteld tijdens de installatie van de Oracle Application Server. De username is oc4jadmin.

In AS-Control zijn alle componenten zichtbaar (bijvoorbeeld containers voor OC4J) welke tot dezelfde farm behoren. De definitie van farm is in OAS 10 Release 10g ietwat gewijzigd. Voorheen behoorden alle componenten die een infrastructure database deelden tot een farm. In Release 3 bestaat een farm uit componenten welke dezelfde discovery-host gebruiken. De discover list wordt gedefinieerd in de opmn.xml file (zie opmnctl).

Een echte clusteroplossing is helaas nog niet voor handen in OAS Release 3. Wel kunnen componenten gegroepeerd worden waarbij automatisch requests worden omgeleid naar actieve application servers indien er een bepaalde application server zou crashen. Groepering is mogelijk voor Application Servers (OC4J-containers) en http-Servers.

Naast AS-Control kan de Application Server ook op de command line worden beheerd. Hiervoor is opmnctl beschikbaar (Oracle Process and Monitoring). Met opmnctl kunnen containers en/of applicaties binnen containers worden gestart en gestopt. Opmnctl kan ook worden gebruikt om wijzigingen in configuraties te valideren en te activeren.

Met het commando ‘opmnctl status’ kan worden bepaald welke containers er draaien op de specificieke host:

Uit bovenstaande gegevens blijkt dat OID (Oracle Internet Directory) actief is. OID wordt gebruikt voor de authenticatie van (applicatie-) gebruikers.

Overige opties voor opmnctl zijn:

opmnctl startnopmnctl stop:Starten en stoppen van de opmn-processen. De u2018managed processenu2019 zoals OC4J-containers worden hiermee NIET gestart.
opmnctl startallnopmnctl stopall:Starten en stoppen van de opmn-processen en alle 'managed processen' zoals OC4J-containers.
opmnctl status -app:Met de toevoeging -app kan worden bepaald welke applicaties binnen de containers draaien en wat de status is (started of stopped).
opmnctl status -l:Hiermee kan op container-niveau worden bekeken wat de PID is, hoe lang de container in de lucht is en hoeveel geheugen gealloceerd is door het proces.
opmnctl validate:Hiermee wordt de configuratie-file van opmn ($ORACLE_HOME/opmn/conf/opmn.xml) gecontroleerd. Dit is bijvoorbeeld raadzaam indien opmn.xml handmatig wordt aangepast.
opmnctl reload:Het opnieuw inlezen van de (gewijzigde) opmn.xml configuratie-file

Zie http://download.oracle.com/docs/cd/B25221_04/core.1013/b15976/opmnctl.htm voor een complete overzicht van de beschikbaar opmn commando’s.

Logfiles kunnen zeer effectief zijn in het analyseren van problemen. Binnen de installatie-directory van de OAS worden op verschillende locaties logfiles weggeschreven.

De default logfiles van opmn worden weggeschreven in $ORACLE_HOME/opmn/logs. Deze files geven informatie over het starten van de verschillende componenten. Indien niet alle componenten goed worden gestart, is het raadzaam hier te beginnen met de analyse van het probleem. Om een probleem beter te kunnen analyseren (indien bijvoorbeeld de OC4J-Security container niet start), is het raadzaam alle bestanden (met uitzondering van de states-directory) te verwijderen. De logfiles worden automatisch weer door Oracle aangemaakt.

De logfiles van de applicaties worden weggeschreven in $ORACLE_HOME/j2ee/<container>/log/<container*>/oc4j/log.xml. Hierin kan informatie worden teruggevonden welke vanuit de applicatie wordt gelogd. Indien er in een applicatie een fout optreedt (bijvoorbeeld Internal Server Error of Page Not Found), kan vaak in de applicatie logfile de oorzaak worden achterhaald.

De logfiles van Apache (HTTP-Server) worden weggeschreven in de $ORACLE_HOME/Apache/Apache/log-directory. In deze directory staan twee belangrijke logbestanden: access_log en error_log. Deze twee bestanden geven informatie over de sessies met de HTTP-server en eventuele foutsituaties.

Voor het authenticeren van gebruikers kan gebruik worden gemaakt van de Oracle Internet Directory (OID). OID is onderdeel van Identity Management en is als product als laatste in Oracle10g Release 2 beschikbaar. Indien in een Oracle 10g Release 3 omgeving van de OID gebruik gemaakt moet worden, moet er een tweede ORACLE_HOME worden geinstalleerd met daarin de Oracle Identity Management tak. Met behulp van repca (Repository Configuration Agent) kan in een bestaande database een nieuwe repository worden aangemaakt. OID voldoet aan de LDAP-specificaties (zoals bijvoorbeeld OpenLDAP of Active Directory). De gegevens in OID worden opgeslagen in de Repository database. De OID kan worden beheerd met behulp van een web-interface:

OID kan ook worden gebruikt voor het registeren van partner-applicaties. Dit zijn applicaties welke op de infrastructuur van de Application Server draaien en gebruik maken van OID en SSO (Single Sign On). Het onderhoud van partner-applicaties kan worden geregeld met behulp van onderstaande link:

Bij het onderhoud van de Oracle Application Server zijn er een aantal do’s en don’ts. Deze worden hieronder uiteengezet:

Do 1: Zorg er altijd voor dat de Infrastructure-database in archived log mode draait (zoals in principe voor elke productie-database geldt).

Do 2: De configuratie van de Oracle Application Server wordt niet alleen in de Infrastructure database vastgelegd. Er worden ook configuratie-gegevens in lokale bestanden bewaard (bijvoorbeeld in opmn.xml). Zorg dus niet alleen voor een backup van de Infrastructure database, maar ook een backup van de $ORACLE_HOME.

Don’t 1: Zorg ervoor dat opmn niet als root wordt gestart (specifiek voor Unix en Linux omgevingen). Indien opmn als root wordt gestart, wordt het owner-ship van bepaalde bestanden gewijzigd van Oracle in Root. Dit geeft ‘permission denied’ meldingen. Indien opmn als root wordt gestart, wordt geen enkel component correct opgestart. Zie Metalink Note 390641.1 voor instructrutie om probleem te verhelpen.

Don’t 2: shutdown van de infrastucture database terwijl de Application Server actief is. Voor een correcte werking van de applicaties (en bijvoorbeeld de authenticatie) is het absoluut noodzakelijk dat de infrastructure database toegankelijk is. Indien de infrastructure database down wordt gebracht terwijl de applicatie server nog draait, kan het zijn dat bij een herstart van de applicatie server deze niet goed wordt gestart. Controleer in dit geval dat er geen rijen staan in de tabel ods.ods_process. Indien deze rijen bevat terwijl er geen Application Server componenten actief zijn, kunnen deze rijen verwijderd worden.

Don’t 3: Wijzigen wachtwoord ODS met ‘alter user ods identified by …’. Het wachtwoord van de ODS gebruiker wordt zowel in de database als in zogenaamde wallet-files opgeslagen. Indien het wachtwoord in de database wordt aangepast, zal de Application Server niet meer starten omdat deze in de startprocedure gebruik maakt van het wachtwoord in de wallet-file. Dit levert “invalid username/password” meldingen op. Zie Metalink note 393302.1 voor wijzigen ODS password.

Don’t 4: Plaatsen van LDAP-executables in PATH. Indien op het systeem waarop ook de OAS is geinstalleerd, LDAP-executables staan, moeten deze altijd naar $ORACLE_HOME/bin in het PATH worden geplaatst. Indien dit niet de situatie is, kan dit tot rare situaties leiden. Op een Linux/Unix platform kan met het which-commando worden bepaald welke executable (volgens PATH) wordt uitgevoerd.