Oracle XE安装完成后,默认会将8080端口作为HTTP服务的监听端口,用于提供Oracle Application Express等Web管理界面。如果服务器上已经有其他应用占用了8080端口,就需要对这个默认端口进行修改,避免服务冲突。

修改前的准备
修改端口前需要先确认当前8080端口的占用情况,同时需要准备Oracle XE的管理员账号权限,确保可以正常登录数据库执行配置命令。如果是Linux系统下的Oracle XE,还需要确认数据库服务处于运行状态。
通过SQL命令修改端口
这是最通用也最推荐的修改方式,不需要修改配置文件,直接通过数据库内置的存储过程完成端口调整,操作步骤如下:
1. 登录Oracle XE数据库
使用拥有DBA权限的账号登录数据库,比如用系统默认的SYSTEM账号,登录后可以执行端口修改的相关命令。
2. 执行端口修改存储过程
Oracle XE提供了DBMS_XDB包来管理XML DB相关的配置,其中包含修改HTTP端口的方法,具体代码如下:
-- 修改HTTP端口为8082,你可以根据需要替换为其他未被占用的端口
BEGIN
DBMS_XDB.SETHTTPPORT(8082);
END;
/
-- 如果要同时修改HTTPS端口,可以执行下面的命令,这里将HTTPS端口设为8083
BEGIN
DBMS_XDB.SETHTTPSPORT(8083);
END;
/3. 验证端口修改结果
执行完修改命令后,可以通过下面的SQL查询确认端口是否已经更新:
-- 查询当前HTTP和HTTPS端口配置 SELECT DBMS_XDB.GETHTTPPORT() AS http_port, DBMS_XDB.GETHTTPSPORT() AS https_port FROM DUAL;
如果返回的结果中端口号和刚才设置的一致,说明修改已经生效。
重启服务使配置生效
部分环境下修改端口后需要重启Oracle XE的相关服务才能让配置完全生效:
- Windows系统:打开服务管理器,找到OracleServiceXE和OracleXEClrAgent服务,先停止再重新启动这两个服务。
- Linux系统:切换到oracle用户,执行下面的命令重启服务:
# 停止Oracle XE服务 sudo systemctl stop oracle-xe # 启动Oracle XE服务 sudo systemctl start oracle-xe
验证端口可用性
服务重启完成后,可以通过浏览器访问新的端口地址,比如刚才设置为8082的话,访问http://服务器IP:8082/apex,如果能正常打开Oracle APEX的登录界面,说明端口修改成功,新的HTTP服务已经正常运行。
如果访问不通,可以先用netstat命令检查端口是否正常监听:
# Linux系统检查端口监听情况 netstat -tlnp | grep 8082 # Windows系统检查端口监听情况 netstat -ano | findstr 8082
如果看不到端口监听,需要检查修改命令是否执行正确,或者是否有权限限制导致配置没有生效。
注意事项
修改端口时要选择1024以上的未被占用的端口,避免和已知常用端口冲突。如果修改后需要恢复默认的8080端口,只需要把上面的存储过程里的端口号改为8080,重新执行一遍命令即可。另外修改端口后,之前保存的APEX访问地址也需要同步更新,避免无法访问管理界面。