Oracle 9i創建數據庫時默認包含了XDB特性。一旦啟動了數據庫和Listener,Oracle XDB的http服務就占用8080端口,剛好和JBoss、Tomcat等默認端口沖突,Oracle XDB的端口設置不在配置文件中,而是在數據庫裡。修改XDB的http和FTP服務端口的方法有3種:
1、使用sys登錄Oracle,利用dbms_xdb修改端口設置
SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081
SQL> call dbms_xdb.cfg_update(updateXML(
2 dbms_xdb.cfg_get()
3 , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
4 , 8081))
5 /
Call completed.
SQL> -- Change the FTP port from 2100 to 2111
SQL> call dbms_xdb.cfg_update(updateXML(
2 dbms_xdb.cfg_get()
3 , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/FTP-port/text()'
4 , 2111))
5 /
Call completed.
SQL> COMMIT;
Commit complete.
SQL> EXEC dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
2、使用OEM console,選擇數據庫,XML Database,Configuration,更改XDB的有關設置。
3、去掉數據庫的初始化參數:
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',將會禁止XDB的http和FTP服務。
from: http://www.uuki.com/blog/index.PHP?2006/01/21/101-Oraclexdb
Oracle9i以上版本添加了一個XDB服務,啟動在8080端口,如下操作可以去掉。
編輯$Oracle_HOME/dbs/initSID.ora文件,去除如下行:
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)'
用sys進入sqlplus,停止Oracle服務器然後運行:
create spfile from pfile;
startup
如上為在Linux下操作,如果在Windows下則比較簡單,直接編輯oracle\admin\SID\pfile下面的init.ora,去掉對應的行,重起Oracle就可以
from: http://dev.csdn.Net/article/33/33948.shtm
sqlplus /nolog
sql> connect / as sysdba;
sql> shutdown immediate;
sql> create spfile frompfile='/data/Oracle/admin/eosdb/pfile/initeosdb.ora.0123456789';
成功
sql> startup;
================================
問題發現:我在Window2000下安裝mapxtreme for Java 4.7時,會自動安裝Tomcat但在啟動服務時,窗口一閃而過,費了九牛二虎之力找到失敗的原因是8080端口被某個程序占用!豈有此理,Tomcat專用的端口竟然被占用--納悶中....。後來試著用IE請求地址(注:我的機器ip為192.168.0.5),提示我輸入網絡密碼,領域:XDB引起我的注意,上百度一搜果然有內容,原來它是Oralce的XML處理的一個服務。
解決實踐:我按照上文說的第二、三種方法都失敗了,而我的sys用戶密碼又丟失了,後來我就用PLSQL Developer工具使用DBA身份登錄執行了第一種方法提到的兩個SQL語句,竟然都成功了,此時再啟動Tomcat--OK,正常了!