This simply means
If you bump into this problem, you have an Oracle 10g Express Edition (OracleXE 10g) installation sitting on the same port as your Tomcat default port (TCP/IP port 8080). As the TCP/IP protocol doesn't allow you to have more than one process listening to the same port (except when you use the advanced channel/selector), then when you start Tomcat, it will fail. You might not be aware that your Tomcat has failed to start, until you get into that message mentioned above.
There are 2 cures to this symptoms, the first cure is to let Oracle XE take the port, and we move the tomcat installation to another port. The second cure is to set the Oracle XE to use another port.
To achieve the first one, you need to modify your $CATALINA_HOME/conf/server.xml file. Find the portion of the file that contains this snippet (assuming you are using the standard Tomcat installation):
[sourcecode lang="xml"]
redirectPort="8443" />
[/sourcecode]
Change the port 8080 to something else, e.g. 8484.
[sourcecode lang="xml"]
redirectPort="8443" />
[/sourcecode]
By now you should be able to run you application.
Don't forget that you have to run it from port 8484. So if the application you deploy is someapp.war the URL that you aim should be http://localhost:8484/someapp/ instead of http://localhost:8080/someapp/
Ok, now if you want to take the second cure, go to your Oracle XE 10g console using sqlplus. Replace mypassword with that your SYS user password (as specified during the installation process). Note that the number 2, 3, 4 at the left side is generated by the sqlplus tools prompt (you don't need to type them in).
[sourcecode lang="sql"]
C:\> sqlplus sys/mypassword@xe as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 18 17:53:47 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> begin
2 dbms_xdb.sethttpport('8484');
3 end;
4 /
[/sourcecode]
Oracle XE should reply:
[sourcecode lang="sql"]
PL/SQL procedure successfully completed.
[/sourcecode]
After that check to ensure that the configuration has been changed properly:
[sourcecode lang="sql"]
SQL> select dbms_xdb.gethttpport as "HTTP-Port is " from dual;
[/sourcecode]
You should get a message like this:
[sourcecode lang="sql"]
HTTP-Port is
------------
8484
[/sourcecode]
Exit from sqlplus by typing "exit" at the prompt.
If everything as expected, now you can start the Tomcat server and use the port 8080 for Tomcat. To access the Oracle XE 10g database web console, access through http://localhost:8484/apex
perfect! Helped me just right. Thanks.
ReplyDeletesure. no problem.
ReplyDeleteglad it solved your problem.
Syallom
ReplyDeletemy name asta ...
I would like to get
please do email me to tell all about the framework
because I have the task of making the rental application using java language
nah I have to create a template framework
I wait for ya replies
God Bless You
hi asta, will msg you.
ReplyDeleteFantastic..
ReplyDeleteI was very tired and was getting frustrated about this ... my project deadline is tomorrow.. thanks a lot..
hi sriram,
ReplyDeleteglad to hear that it solved your problem.
good luck with your project!
daniel
Hi....
ReplyDeleteThanks a lot.. Finally Tomcat is working.
great explanation. thanks!
ReplyDeleteThank you so much Dan, this has saved me from hours of frustration.
ReplyDeletei got access denied and ora 31050 and ora 06512 error codes while trying second proccedure in oracle 10g on windows7
ReplyDeleteSQL> begin
ReplyDelete2 dbms_xdb.sethttpport('8483');
3 end;
4 /
begin
*
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 382
ORA-06512: at "XDB.DBMS_XDB", line 521
ORA-06512: at line 2
SQL> select dbms_xdb.gethttpport as "HTTP-Port is " from dual;
HTTP-Port is
-------------
8080
SQL>
The answer to my question got on following page
ReplyDeletehttp://www.red-database-security.com/whitepaper/oracle-change-xmldb_port.html
hey i tried 1st method and i change the connection port to 8484. but when i access localhost:8484 its showing
ReplyDeletecan't establish a connection to the server at localhost:8484.
i didn't get the tomcat server, how can i change the port number. when i try to attempt tomcat in a browser,i am getting oracle 10g express edition license agreement page in browser.
ReplyDeleteplease send the detils to my id s.azmath1@gmail.com
My tomcat 7.0 is on port 8080 and oracle 10g XE is on 8081. But when i open it in my browser as"localhost:8081" it shows me a icense agreement with no Accept button. How do it acceptit to proceed further. Please help me out.
ReplyDeleteThanks
Thank You, it helped
ReplyDeleteThank you! This helped me to resolve my problem in 5 mins. :)
ReplyDelete