Oracle APEX 23.2.1会话变更及友好URL不显示别名问题求助
Oracle APEX 两个常见问题的解决方案
问题1:导航时会话ID频繁变化
排查方向及解决步骤
- 检查页面会话属性:打开每个页面的页面属性,找到「会话」区域,确认「会话创建」选项设置为重新使用现有会话。如果设置为「始终创建新会话」,会导致每次跳转生成新会话ID。
- 验证导航目标变量:确认列表项的Target列确实使用
&APP_SESSION.动态变量,而非硬编码的会话ID或错误变量(比如&SESSION.)。可以通过编辑列表项,查看目标是否为f?p=&APP_ID.:[页面别名/编号]:&APP_SESSION.::&DEBUG.::::格式。 - 检查应用安全设置:进入
Shared Components > Security > Session Management,查看「会话保护」和「会话超时」规则,确保没有强制终止现有会话的配置(比如会话IP绑定过严,导致跳转时触发会话失效)。 - 排查页面分支与PL/SQL代码:检查页面的分支、计算项或过程中,是否调用了
APEX_UTIL.CREATE_SESSION等会生成新会话的API,如有则移除或调整逻辑。
问题2:部分页面友好URL显示页面编号而非别名
排查方向及解决步骤
- 确认页面别名配置:打开异常页面的页面属性,切换到「友好URL」标签,检查「页面别名」是否已填写(仅支持字母、数字、下划线、连字符),且未重复。
- 启用应用友好URL:进入
Shared Components > Friendly URLs,确保「启用友好URL」设置为是,并选择合适的「URL结构」(比如「应用别名/页面别名」)。 - 修正导航目标:将列表项Target中的页面编号替换为页面别名,例如把
f?p=&APP_ID.:210:&APP_SESSION.修改为f?p=&APP_ID.:[页面别名]:&APP_SESSION.::&DEBUG.::::。 - 清除应用缓存:进入
Shared Components > Application Utilities > Clear Cache,选择「清除整个应用的缓存」,之后重新运行应用测试。
内容的提问来源于stack exchange,提问作者miagojko
相关产品推荐
相关产品推荐

