科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道解决Linux下Oracle Tomcat 8080端口冲突

解决Linux下Oracle Tomcat 8080端口冲突

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

将oracle与tomcat、jboss等其它占用8080端口的服务器安装在一台机器上,会出现8080端口被占用的错误

作者:赛迪网 来源:赛迪网 2007年10月8日

关键字: 端口 ORACLE Linux Tomcat

  • 评论
  • 分享微博
  • 分享邮件
 

在启动tomcat的时候提示8080端口被占用,后来经过查找发现如下结论:

将oracle与tomcat、jboss等其它占用8080端口的服务器安装在一台机器上,会出现8080端口被占用的错误

一、首先检查8080端口的使用情况

[root@olivenan root]# lsof -i :8080 -n

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

tnslsnr 1031 oracle 12u IPv4 2013 TCP *:webcache (LISTEN)

[root@olivenan root]# lsof -i tcp:8080 -n

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

tnslsnr 1031 oracle 12u IPv4 2013 TCP *:webcache (LISTEN)

发现8080端口被oracle使用,注意lsof命令参数的使用。

[root@olivenan root]# lsof -i udp:8080 -n

[root@olivenan root]# lsof -i|grep 8080

[root@olivenan root]# netstat -tln|grep 8080

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN

[root@olivenan root]#

二、查找解决方法

解决方法一、

将*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

修改为#*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

[oracle@olivenan dbs]$ sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jul 6 10:37:32 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.4.0 - Production

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> create spfile from pfile;

File created.

SQL> startup

ORACLE instance started.

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes

Variable Size 201326592 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.

SQL> exit

[root@olivenan root]# lsof -i :8080 -n

[root@olivenan root]

结果端口8080停止被占用

三、解决方法二

将xmlDB的端口转换为其它端口,此例转换为8082

SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text

()', 8082));

Call completed.

SQL> exec dbms_xdb.cfg_refresh;

PL/SQL procedure successfully completed.

将ftp端口由2100转换为2111

SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text

()',2111));

Call completed.

SQL> commit;

Commit complete.

SQL> exec dbms_xdb.cfg_refresh;

PL/SQL procedure successfully completed.

SQL>

SQL> select dbms_xdb.cfg_get from dual;

CFG_GET

--------------------------------------------------------------------------------

SQL>

检查转换结果,发现8080,2100端口停止使用,而8082、2111端口开始使用。

[root@olivenan root]# lsof -i :8080 -n

[root@olivenan root]# lsof -i :8082 -n

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

tnslsnr 1031 oracle 12u IPv4 18456 TCP *:8082 (LISTEN)

[root@olivenan bin]# lsof -i :2100 -n

[root@olivenan root]# lsof -i :2111 -n

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

tnslsnr 1031 oracle 13u IPv4 18462 TCP *:2111 (LISTEN)

[root@olivenan root]#

四、lsof命令的使用

lsof -i TCP:port -n

lsof -i UDP:port -n

lsof -i :port -n

# lsof -i tcp:8080 -n

以下是转载

************************************

注:上面是解决和XDB冲突的,我发现大部分人问的是和OSE(oracle servlet engine)冲突的,现象是访问8080端口时,看到的是一个倔强的小

飞猪,呵呵。

下面是解决方法:

我的oracle是装在D盘,大家可以根据自己情况找

D:oracleora90jisinstall>sess_sh -u sys/change_on_install -role SYSDBA -s jdbc:oracle:oci8:@oradb(这里填你的服务名,我的是

oradb)

--Session Shell--

--type "help" at the command line for help message

$ @serverendp.ssh admin 4321 4322 -register

$ exit

就能把原来的8080换成4321,把9090换成4322

搞定。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章