Monday, February 11, 2008

Need to login to Discoverer twice

Do you have to log into Discoverer twice in order to make it work? If so, read on because I have a possible solution for you.



When you launch either Discoverer Viewer or Plus, as shown above, and enter your credentials into the dialog box, does Discoverer respond with something like this?

Presumably what happens next is that you log in again using exactly the same credentials and now it works. Yes?

If so, the problem lies in the way that your server name has been defined inside the HTTPD.CONF file which you will find in the Apache configuration folder on your Application Server:

$ORACLE_HOME\Apache\Apache\Conf

You will need to edit HTTPD.CONF and search for a line that begins with ServerName. It will more than likely look something like this:

ServerName servername

For example:

ServerName asclaptop4

Notice how there is no domain name associated with the server. This is the problem, and is causing the system to incorrectly convert the URL inside OC4J.

Solution

There are two solutions; a temporary solution and a permanent solution. Both are outlined below:

Temporary Solution:

The temporary solution is to make sure that you only call Discoverer using a fully qualified domain name in the URL. You do that like this:

http://servername.domain.com:port/discoverer/viewer or

http://servername.domain.com:port/discoverer/plus

Permanent Solution:

The permanent solution is to change the ServerName so as to make it a fully qualified domain name, as shown in the example below, and then restart the application server. You now should be able to log in just once.

ServerName servername.domain.com

For example:

ServerName asclaptop4.learndiscoverer.com

By the way, using the command line, here is how to stop, start and check whether Discoverer is up and running:

To Start Discoverer, use this workflow:

  1. Navigate to the $ORACLE_HOME\opmn\bin folder
  2. Execute this command: opmnctl startall

To check whether Discoverer is up and running, use this workflow:

  1. Navigate to the $ORACLE_HOME\opmn\bin folder
  2. Execute this command: opmnctl status
  3. The system should respond with something like this:



Note: It is perfectly ok for DSA, LogLoaderd and dcm-daemon to have a status of Down so long as all of the other components show Alive.

To stop all of the Discoverer components, use this workflow:

  1. Navigate to the $ORACLE_HOME\opmn\bin folder
  2. Execute this command: opmnctl stopall

Do you have another solution for this issue? If so, either drop me a line or post a comment to this posting.

3 comments:

Steve said...

An excellent point! The login twice can also occur if your "front-end" your AS10g or BI10g server with a Reverse Proxy, Load Balancer, SSL Accelerator, etc.

In such a case, a Virtual Host entry is needed in the httpd.conf or ssl.conf to ensure the URL is re-written correctly.

Excellent post! I enjoy reading them.

Regards,

Steve.

Oliver said...

Also worth noting if you don't include the domain in the url to access the applet the same error occurs!

e.g myserver:7778... = password incorrect

myserver.mydomain:7778... = works :D

Cheers, great blog as ever, keep up the good work!

Olly

Naat said...

You've made some good points there. I looked on the internet to find out more about the issue and found most people will go along with your views on this website.

Followers