Saturday, January 24, 2009

Wijzigen van ODS Wachtwoord

In de repository-database van de Oracle Application Server wordt door Oracle allerlei informatie bijgehouden. Voor IM (Identity Management) en OID (Oracle Internet Directory) gebeurt dit vooral in het ODS-schema. Oracle slaat het wachtwoord van de ODS gebruiker ook op in een zogenaamde Wallet-file. Deze file wordt door ondermeer OID gelezen wanneer het ODS-schema in de database benaderd moet worden.

Wanneer tijdens het opstarten van Identity Management in de logfiles ($ORACLE_HOME/opmn/logs) in de verschillende logfiles (ondermeer oid.log) de meldingen “invalid username/password” of “account is locked” voorkomen, is dit in de meeste gevallen te wijten aan een ‘mismatch’ tussen het database-wachtwoord van ODS en het wachtwoord zoals opgeslagen in de wallet-file. Wanneer het wachtwoord van de database-gebruiker ODS gewijzigd wordt (alter user ODS identified by wachtwoord), zal niet automatisch de Wallet-file worden geactualiseerd.

Hieronder worden de stappen weergegeven om het wachtwoord van ODS te wijzigen. Dit stappenplan kan ook doorlopen worden wanneer het wachtwoord van ODS niet meer bekend is. In onderstaande stappen wordt uitgegaan dat de INFRABV-database, een RAC database is die op twee of meer nodes draait.

Stap 1: Wijzigen ODS database-wachtwoord



  • Log in als Oracle op de eerste node. Zet het environment (met .oraenv) naar de infrastructure database.


  • Start SQL*Plus op en login als sys (sqlplus /@sysdba)


  • Wijzig het wachtwoord van de ODS gebruiker (alter user ods identified by abc;)/LI>


Stap 2: Unlock het ODS database-account
Standaard is er een profile van toepassing op de ODS gebruiker. Dit houdt in dat wanneer er een aantal foutieve inlogpogingen zijn gedaan, het account gelocked wordt. Dit houdt in dat het account niet meer te gebruiken is, ook al beschikt men over het juiste wachtwoord. De status van het account kan worden gecontroleerd met behulp van het volgende command:

select account_status from dba_users where username=’ODS’;

Indien het account gelocked is (dit is wanneer de status niet gelijk is aan OPEN), moet het account weer worden vrijgegeven. Dit kan met het volgende commando:

alter user ods account unlock;


Stap 3: Actualiseren van de Wallet-file
Indien het database-wachtwoord van ODS is aangepast, moet ook de Wallet-file worden geactualiseerd met dit nieuwe wachtwoord. Deze stap moet worden uitgevoerd op elke OID-node. Het is echter ook mogelijk om dit op 1 node uit te voeren en vervolgens de wallet-file handmatig te kopieren (scp) naar de overige nodes.

De Wallet-file (oidpwdlldap1) wordt aangemaakt in $ORACLE_HOME/ldap/admin.

Log in als de oracle-gebruiker op Linux en zet het environment naar appserv. Voer vervolgens het volgende commando uit om de Wallet-file te actualiseren

oidpasswd connect=INFRABV create_wallet=true

Tijdens het uitvoeren van bovenstaand commando wordt om een wachtwoord gevraagd. Dit is het ODS wachtwoord zoals in de INFRABV-database (repository) is ingesteld.

Met behulp van de connect-clause wordt aangegeven met welke Infrastructure-database een connectie gemaakt moet worden. Met de create_wallet-clause wordt aangegeven dat de Wallet-file geactualiseerd moet worden.

Het is ook mogelijk om in 1 keer het database-wachtwoord van ODS en de Wallet-file te actualiseren. Het is dan wel noodzakelijk dat het ODS-databasewachtwoord bekend is.

oidpasswd connect=INFRABV change_oiddb_pwd=true

Hierbij moet eerst het actuele database-wachtwoord van ODS worden ingevoerd, vervolgens kan een nieuw wachtwoord worden ingevoerd.

No comments: