最近在安装了Oracle的服务器端之后,每次启动tomcat时就会报错,原因是因为端口冲突。查找之后发现是与Oracle的程序端口起了冲突。解决这个冲突只有改变两者其中之一的端口:
一.修改tomcat的端口可以在相应目录下的server.xml 文件中修改其对应的端口参数port
二. 修改Oracle的端口可能有如下三种方法:
1.使用dbms_xdb包修改端口设置
使用sys登录sqlplus
sqlplus sys/syspassword as sysdba
然后执行如下的脚本
============================
-- Change the HTTP/WEBDAV port from 8080 to 8081
call dbms_xdb.cfg_update(updateXML(
dbms_xdb.cfg_get()
, '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
, 8081))
/
-- Change the FTP port from 2100 to 2111
call dbms_xdb.cfg_update(updateXML(
dbms_xdb.cfg_get()
, '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
, 2111))
/
COMMIT;
EXEC dbms_xdb.cfg_refresh;
2.使用OEM console
选择数据库,XML Database,Configuration。更改XDB的有关设置。
3.修改SPFILE[SID名].ORA文件,去掉数据库的初始化参数:
这个文件是Oracle的启动配置文件dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',将会禁止XDB的http和ftp服务。
重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用Enterprise Manager Console和其他客户端连接,这时请使用Oracle的Configuration and Migration Tools/Net Configuration Assistant工具删除监听器,然后新建一个监听器,重启监听器。( 此部分参考网上文章)。
我使用Http协议访问Oracle的http://localhost:8080服务时,能读取Oracle的配置文件,可是在http下只能读取配置文件而不能对其进行修改,通过ftp://localhost:2100(貌似是这个端口)访问时即使输入了用户名密码还是无法进入,提示访问错误,原因是连接超时。最后我通过第三种方法,直接修改相关的ORA配置文件,删除dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)'这一行配置之后,保存配置。重启计算机,发现端口冲突已经解决。