Unable to connect to the OWB Control Center

I am currently doing some OWB 10gR2 training in Iceland, some of the examples I am using are on a Virtual Machine running on my laptop, halfway through the day I tried to connect to the Control Center and I got the following error:

RTC-5260: Failed to connect to Control Center, Please check you have provided the correct Host, user, password and Service Name.
RTC-5301: The Control Center Service is not currently available

This is not the first time I have seen this in my time of using OWB, so I thought I would connect to the database as the repository owner and check the service doctor.

SQL> @service_doctor
>>>>>> There are errors in one or more PL/SQL packages and functions
Platform properties have been loaded correctly
Platform location has been seeded correctly
NLS messages have been loaded correctly
>>>>>> The platform service is not available
Service script is accessible to the database server
Connection information stored within the repository is correct


The next step was to check which packages were invalid.

select OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS where status='INVALID' and owner='OWBREP';

OBJECT_NAME                    OBJECT_TYPE
------------------------------ -------------------
SNAPSHOT                       PACKAGE BODY
WB_RTI_WORKFLOW_UTIL           PACKAGE BODY
OWB_UPROP_TUNE                 PACKAGE BODY

alter package SNAPSHOT compile;
alter package SNAPSHOT compile body;

alter package WB_RTI_WORKFLOW_UTIL compile;
alter package WB_RTI_WORKFLOW_UTIL compile body;

alter package OWB_UPROP_TUNE compile;
alter package OWB_UPROP_TUNE compile body;

SQL> select OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS where status='INVALID' and owner='OWBREP';


More packages and package bodies were invalid after this so I thought I would recompile the whole schema.

EXEC DBMS_UTILITY.compile_schema(schema => 'OWBREP');

SQL> select OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS where status='INVALID' and owner='OWBREP';

no rows selected

SQL> @service_doctor
All PL/SQL packages and functions are valid
Platform properties have been loaded correctly
Platform location has been seeded correctly
NLS messages have been loaded correctly
>>>>>> The platform service is not available
Service script is accessible to the database server
>>>>>> There is a problem with the repository connection information used to
start the service
>>>>>>   Here is the detailed error message which contains the connection
information passed to the service:-
>>>>>>     Cannot access the repository owner password from within the database
server
>>>>>>   Please verify that this information is accurate
>>>>>>   If this information is correct, then please use the
'set_repository_password.sql' script to reset the stored password

PL/SQL procedure successfully completed.

SQL> @set_repository_password.sql
Enter value for 1: owbrep
declare
*
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
oracle.jdbc.driver.OracleSQLException: ORA-04061: existing state of  has been
invalidated
ORA-04061: existing state of package "OWBREP.WB_RT_SERVICE_CONTROL" has been
invalidated
ORA-04065: not executed, altered or dropped package
"OWBREP.WB_RT_SERVICE_CONTROL"
ORA-06508: PL/SQL: could not find program unit being called:
"OWBREP.WB_RT_SERVICE_CONTROL"
ORA-06512: at line 1
ORA-06512: at "OWBREP.WB_RTI_UTIL", line 40
ORA-06512: at line 5


This type of error is usually caused by packages being in inconsistent states, so it looked like it was time to restart the database.  After the restart things looked better.

SQL> select OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS where status='INVALID' and owner='OWBREP';
no rows selected

SQL> @service_doctor
All PL/SQL packages and functions are valid
Platform properties have been loaded correctly
Platform location has been seeded correctly
NLS messages have been loaded correctly
>>>>>> The platform service is not available
Service script is accessible to the database server
Connection information stored within the repository is correct

SQL> @start_service
Not available
Diagnostics:
service startup failure using command "/opt/oracle/product/OWB10.2.0.1/owb/bin/
unix/run_service.sh -automatic 1 /opt/oracle/product/OWB10.2.0.1 OWBREP TIGNES.
RITTMANMEAD.COM 1521 ORCL.RITTMANMEAD.COM" reason ORA-29532: Java call terminat
ed by uncaught Java exception: java.io.IOException: service startup timeout: er
r= : out=2007/05/03-03:12:39-BST [2BB514] Thin driver connection time - 708 mil
lisecond(s)


OK, things may have looked better, but still not able to start the service.  Next step, check this is not a result of the ORACLE_HOME being set to the database home, not the OWB home.

[oracle@tignes sql]$ echo $ORACLE_HOME
/opt/oracle/product/10.2.0.1.0
[oracle@tignes sql]$ export ORACLE_HOME=/opt/oracle/product/OWB10.2.0.1/
[oracle@tignes sql]$ echo $ORACLE_HOME
/opt/oracle/product/OWB10.2.0.1/

[oracle@tignes sql]$ sqlplus owbrep/owbrep@orcl

SQL> @service_doctor
All PL/SQL packages and functions are valid
Platform properties have been loaded correctly
Platform location has been seeded correctly
NLS messages have been loaded correctly
>>>>>> The platform service is not available
Service script is accessible to the database server
Connection information stored within the repository is correct


I checked the log files to see if there were any clues there, but nothing, so gave it another go....

SQL> @start_service
Not available
Diagnostics:
service startup failure using command "/opt/oracle/product/OWB10.2.0.1/owb/bin/
unix/run_service.sh -manual 1 /opt/oracle/product/OWB10.2.0.1 OWBREP TIGNES.RIT
TMANMEAD.COM 1521 ORCL.RITTMANMEAD.COM" reason ORA-29532: Java call terminated
by uncaught Java exception: java.io.IOException: service startup timeout: err=
: out=2007/05/03-03:14:23-BST [2BB514] Thin driver connection time - 635 millis
econd(s)


... still no joy, try and execute it from the command line:

/opt/oracle/product/OWB10.2.0.1/owb/bin/unix/run_service.sh -manual 1 /opt/oracle/product/OWB10.2.0.1 OWBREP TIGNES.RITTMANMEAD.COM 1521 ORCL.RITTMANMEAD.COM

Returned to command prompt, so I re-tried the service doctor and got the same error message.

By this point I was getting fairly frustrated, and trying even more obscure searches on Google, then something struck me, Google searches were being returned in Icelandic, it was redirecting me to www.google.is, could my problem be related to this? Could I have some sort of character set or internationization problem?  The Virtual Machine was running is shared network mode.  I shut down the database, and then the Virtual Machine, pulled out the network cable and re-started everything.

Initially the service doctor reported the service as down, but when I executed @start_service it started immediately. nbsp;Success.  Can't say that I can understand why - if anyone can shed any light on this I would be very grateful.  I have added a few more useful diagnostic queries below.

Check the service name:

select service_name from WB_RT_SERVICE_NODES;

Check current jobs:

select job, what from USER_JOBS;


Get command to start service:

select * from WB_RT_SERVICE_JOB_LOGS;