Saturday, February 9, 2013

Reset the Oracle XE database password for OVM 3.1.1.

You have installed Oracle OVM with the bundled XE database and after a time, you find that you can no longer log into the OVM Admin console.

You get an error similar to: Unexpected Error logging in.  Consult logs...

What has probably happened is that the ovs database password has expired in XE.  Now using the XE environment is unsupported and for demo purposes only.  In fact the new version of OVM ships with a bundled MySQL database and no longer the XE.  Even better, the bundled MySQL database is supported in production environments.  So this post is obsolete even before I finish writing it.

To be sure you are facing this problem, grep for OVMDS in /u01/app/oracle/ovm-manager-3/machine1/base_adf_domain/servers/AdminServer/logs/AdminServer.log

####<Jan 28, 2013 12:19:51 PM NZDT> <Warning> <JDBC> <> <AdminServer> <Odof Tcp Client Thread: /> <<anonymous>> <> <0000JcuiwIkCslYFLrfP8A1GSLRc000002> <1359328791693> <WL-001129> <Received exception while creating connection for pool "OVMDS": ORA-28001: the password has expired

OK so the XE Database password needs resetting.

First some environment variables:

[root@ovm logs]# echo $ORACLE_HOME
[root@ovm logs]# echo $PATH
[root@ovm logs]# echo $ORACLE_SID

Now use sqlplus as follows: (OldPassWord is the one you used when you installed OVMM. The OVMM installer either prompted for this or you selected the option to use the same password for everything during install... Remember?)

[root@ovm bin]# sqlplus ovs/OldPassWord

SQL*Plus: Release Production on Sat Feb 9 10:38:48 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ORA-28001: the password has expired

Changing password for ovs
New password: NewPassw0rd
Retype new password: NewPassw0rd

Password changed

Connected to:
Oracle Database 11g Express Edition Release - 64bit Production

SQL> exit

Now you need to update the password stored in Weblogic that is used to connect to the database.  Happily there is an admin tool for this:
It's found in:   /u01/app/oracle/ovm-manager-3/bin

[root@ovm bin]# ./ovm_admin --modifyds XE localhost 1521

Oracle VM Manager Release 3.1.1 Admin tool

Please enter the Oracle VM Manager database schema : ovs

Please enter the schema password for ovs : NewPassw0rd
Please re-enter the password : NewPassw0rd

Please enter the password for weblogic : <password you used when you installed ovmm>

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to WebLogic server ...

Connected ...
Modifying Oracle VM Manager Data Store 'OVMDS'...
Modified Data Store successfully ...
Restart of Oracle VM Manager is required for Data Store change to take effect ...

Now restart OVMM.  I like to allow a minute between stop and start.  This takes a while on my test environment...

[root@ovm bin]# /etc/init.d/ovmm stop && sleep 60 && /etc/init.d/ovmm start

Finally you should be able to log into ovm console as you used to.  Same username and password you always used.

This process updates the backend XE database password only.  Thankfully this should all be old news as the new version ships with MySQL and password resets in MySQL are much simpler.  The big question and one which I have not yet figured out the answer to is: Will the new OVMM support an external MySQL database...  In Production...

I had to edit the error message found in the AdminServer log on this blog because of the xml being interpreted instead of displayed... Fixed now thanks to: