解決Oracle Tomcat 8080埠衝突

2021-05-05 03:17:06 字數 3914 閱讀 7448

linux下

在啟動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

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

將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埠時,看到的是乙個倔強的小

飛豬,呵呵。

windows下面解決方法:

我的oracle是裝在f盤(另外oracle安裝路徑似乎不支援帶空格),大家可以根據自己情況找

f:/oracle/ora90/jis/install>sess_sh  -u sys/change_on_install  -role sysdba -s jdbc:oracle:oci8:@ora9(這裡填你的oracle例項服務名,我的是ora9 change_on_install是sys使用者的pwd)

--session shell--

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

$ @serverendp.ssh admin 4321 4322 -register

$ exit

就能把原來tnslsnr 的8080換成4321,把9090換成4322

搞定。

可檢查f:/oracle/ora90/network/log/listener.log的日誌資訊檢視設定效果

8皇后問題 暴力解決

8後問題要求在乙個8 8格的棋盤上放置8個皇后,使得他們彼此不受攻擊。按照西洋棋的規則,乙個皇后可以攻擊與之處在同一行或同一列或同一斜線上的其他任何棋子。因此,8後問題等價於要求在乙個8 8的棋盤上放置8個皇后,使得任何2個皇后不能被放在同一行或同一列或同一斜線上。int queen8 for in...

UTF 8亂碼解決

在解決亂碼問題前,必須先搞清楚幾個相關的問題。為每個jsp頁面設定了其編碼格式 utf 8 但傳遞資料到另一頁麵時依然顯示為亂碼?首先要需要了解的是web容器預設編碼是iso 8859 1,乙個漢字占用兩個位元組,而在utf 8中乙個漢字占用三個位元組。所以在資料傳遞過程中,必須手動設定容器編碼格式...

utf 8亂碼解決方案

在解決亂碼問題前,必須先搞清楚幾個相關的問題。為每個jsp頁面設定了其編碼格式 utf 8 但傳遞資料到另一頁麵時依然顯示為亂碼?首先要需要了解的是web容器預設編碼是iso 8859 1,乙個漢字占用兩個位元組,而在utf 8中乙個漢字占用三個位元組。所以在資料傳遞過程中,必須手動設定容器編碼格式...