可能有兩方面的原因,網上搜到很多都是下面說的第二點原因,而往往第一點原因也很常見:
1、Oracle整合的Oracle Servlet Engine佔用了8080連接埠,Tomcat的預設連接埠也正是8080,
可以很容易地修改Tomcat的連接埠,但測試發現Tomcat似乎在其它連接埠下運行效能較差,速度
較慢(非常奇怪,不知什麼原因,我測試過顯示圖片的速度,相差很遠),故可修改Oracle Servlet Engine的預設連接埠,修改辦法為(需保證%ORACLEHOME%BIN在Path環境變數中)
(1)cd %ORACLEHOME%jis/install
(2)sess_sh -user sys -password change_on_install -role sysdba -s jdbc:oracle:oci8:@data
(使用sess_sh命令以SYS使用者SYSDBA角色登入指定資料庫服務)
(3)$ @serverendp.ssh admin 8888 9999 -register
$ exit
即可修改原來的8080為8888,9090為9999
另外一種辦法是建立資料庫時不要選擇安裝JVM,就不會運行OSE了。
2、如果安裝Oracle時安裝了XDB服務,該服務也會佔用8080連接埠,解決辦法也是一改一刪:
改連接埠的步驟如下:
(1)在SQL* PLUS WORK SHEET中以SYS使用者(預設密碼為change_on_install)SYSDBA角色登入指定資料庫服務(可在SQL*PLUS SHEET中用改變資料庫連接菜單)
(2)connect mailto:change_on_install@(服務名)%20as sysdba; --如果第一步已經串連了就不用這句了
Connected.
-- 把HTTP/WEBDAV連接埠從8080改到8081
call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text() ',8081))
/
Call completed.
-- 把FTP連接埠從2100改到2111
call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text() ',2111))
/
Call completed.
commit;
Commit complete.
exec dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
-- 檢查修改是否已經成功
select dbms_xdb.cfg_get from dual;
另外在OEM(Oracle Enterprise Manager Console)中選中相應資料庫應該會有XML資料庫的選項,可利用其
方便地修改連接埠。
刪除XDB服務的方法是在Oracle安裝目錄下的admin/SID(服務名)/pfile/init.ora檔案中刪掉
"dispatcher= "一行即可。
最後重啟相應的資料庫服務方可生效。