SQL Developer 20中无法找到Real Time SQL Monitoring的问题求助
解决SQL Developer 20中Real Time SQL Monitoring缺失及HTML报告显示异常问题
一、找回Real Time SQL Monitoring功能
SQL Developer 20调整了功能菜单布局,Real Time SQL Monitoring不再直接放在Tools菜单下,可通过以下路径找到:
- SQL Worksheet内置入口
打开目标数据库的SQL Worksheet,执行需要监控的SQL后,点击Worksheet工具栏的「Real-Time SQL Monitor」按钮(带实时曲线的图表图标);或右键点击SQL文本/执行结果,选择「Real-Time SQL Monitor」。 - DBA面板入口
若未显示DBA面板,通过View -> Database -> DBA打开,展开「Performance」节点,点击「SQL Monitoring」即可查看包含优化器行为可视化信息的实时监控数据。 - View菜单入口
直接通过View -> Database -> Real-Time SQL Monitor打开监控面板,需确保已连接目标数据库。
额外注意:该功能仅支持Oracle 11g Release 2及以上版本,数据库版本过低无法启用。
二、修复SQL Monitor HTML报告显示异常问题
针对DBMS_SQLTUNE.REPORT_SQL_MONITOR生成的HTML报告导出后无法正常显示的问题,可尝试以下方案:
1. 完整导出HTML内容
手动复制查询结果的HTML内容易截断内嵌的CSS/JS代码,导致样式失效。正确操作:
执行SELECT dbms_sqltune.report_sql_monitor(sql_id => 'ddga0450ycfsa',report_level => 'ALL',type => 'html') FROM dual;后,右键点击结果单元格,选择「Export...」,在导出窗口选择格式为「HTML」并完整保存文件。
2. 直接在SQL Developer内置浏览器查看
无需导出到本地,右键点击查询结果的HTML内容,选择「View as HTML」,通过SQL Developer内置窗口渲染完整报告,避免浏览器安全限制问题。
3. 服务器端生成并下载报告
若上述方法无效,可通过PL/SQL将报告写入数据库服务器文件系统后再下载:
DECLARE l_report CLOB; BEGIN l_report := DBMS_SQLTUNE.REPORT_SQL_MONITOR( sql_id => 'ddga0450ycfsa', report_level => 'ALL', type => 'html' ); UTL_FILE.PUT_LINE(UTL_FILE.FOPEN('MY_DIR', 'sql_monitor_report.html', 'W', 32767), l_report); UTL_FILE.FCLOSE('MY_DIR'); END; /
注:需先创建目录并授权权限:
CREATE DIRECTORY MY_DIR AS '/path/to/save'; GRANT READ, WRITE ON DIRECTORY MY_DIR TO your_user;
4. 调整浏览器安全设置
本地HTML文件可能因浏览器同源策略限制无法加载资源,可临时调整:
- Chrome:关闭所有窗口后,通过命令行
chrome.exe --allow-file-access-from-files启动浏览器,再打开报告。 - Firefox:在
about:config中设置security.fileuri.strict_origin_policy为false。
5. 验证管理包权限
再次确认权限参数设置:
SELECT value FROM v$parameter WHERE name = 'control_management_pack_access';
确保返回值为DIAGNOSTIC+TUNING,若权限不足需联系DBA调整。
内容的提问来源于stack exchange,提问作者CFwdAll
相关产品推荐
相关产品推荐

