Oracle PL/SQL Developer 版本差异实战总结
从一个新人的"找不到表"经历,看PL/SQL Developer 11g与14版的本质区别
一、写在前面
这篇文章不是官方的版本发布说明,而是一个刚入职的大数据开发新人 ,在第一次使用PL/SQL Developer 14(免安装版)时,被界面搞懵了的真实踩坑记录。
如果你习惯了11g的老界面,突然换到14版,大概率也会和我一样------明明按老方法操作,却死活找不到表在哪。这篇文章帮你一次理清,少走2小时的弯路。
二、核心差异对比表
| 对比维度 | PL/SQL Developer 11g(经典版) | PL/SQL Developer 14(免安装版) |
|---|---|---|
| 登录方式 | 打开软件后需手动新建连接,填写IP、端口、服务名、账号密码 | 支持固定用户配置,双击图标即自动填充登录信息,下拉框直接选 |
| 登录窗口 | 每次都要重新输入或从历史里选 | 配置"固定用户"后,下拉列表直接显示带IP的完整连接串 |
| 左侧对象面板 | 顶部直接显示 Tables、Views、Procedures 等 |
多了 Functions、Packages、Types 等编程对象,Tables 被挤到下面 |
| Tables 出现次数 | 1次(就是数据表) | 可能2次:第一个是表空间相关的占位符(空),第二个才是真正的数据表 |
| 表空间(Tablespaces) | 藏在 Tables 下面或单独区域 |
提前到靠近顶部的位置,容易被误认为"表" |
| 对象排序逻辑 | 按对象类型分组,Table靠前 | 混合排序,编程对象 > 表空间 > 数据对象,容易看花眼 |
| 查找表的路径 | 登录后直接点 Tables 就行 |
需要往下滚到底部 ,在 Job classes 之后找到第二个 Tables,或者切换 <全部用户> 去别的Schema下找 |
| 默认显示范围 | 默认显示当前用户下的对象 | 默认显示当前用户 ,但如果当前用户是空(只有查询权限),需要手动切换到 <全部用户> 去其他Schema下找表 |
三、新人最容易踩的4个坑
坑1:登录后"没看到表",其实是点错了Tables
现象 :左侧 Tables 点了没反应,右侧空白。
原因 :14版的树形结构里,Tables 可能出现两次。第一个是"表空间"分类下的占位符,点开为空;真正的数据表在下面第二个 Tables。
解决 :往下滚动到底部 ,找到 Job classes 下方的 Tables(带小表格图标),点它。
坑2:以为当前用户下一定有表
现象 :点对 Tables 了,但还是空的。
原因 :你登录的账号可能是一个"只读查询账号",它名下没有建任何表,只是被授权查询**其他用户(Schema)**下的表。
解决 :左侧顶部下拉框从 <当前用户> 切换到 <全部用户> ,然后在用户名列表里找到核心用户(如 DWHRPT、DWH_DATA),展开它的 Tables。
坑3:把"表空间"当成了"表"
现象 :点开 Tablespaces,看到一堆 SYSAUX、SYSTEM、TBS_XXX,问"表在哪?"
原因 :Tablespaces 是物理存储位置(类似硬盘分区),不是数据表。
解决 :看图标------表空间是硬盘/文件夹图标 ,Tables 是网格/表格图标,记住这个区别。
坑4:配了"固定用户"但不生效
现象:按组长指导配了固定用户,重启了软件,左侧还是空的。
原因:
-
"固定用户"改变的是登录窗口的下拉列表,不是当前会话的状态
-
你所谓的"重启"可能只是"断开重连",没有完全退出软件
解决 :File → Exit 完全退出,再打开,登录时下拉框选带IP的固定用户登录。
四、14版相比11g的"升级点"(其实是新人的坑)
| 变化 | 11g | 14版 | 新人的感受 |
|---|---|---|---|
| 登录流程 | 手动输入 | 固定用户一键选 | 省事了,但不知道"固定用户"是啥 |
| 连接配置 | 依赖 tnsnames.ora |
支持直连IP+端口+服务名 | 更稳定,但需要重新配置 |
| 对象树展示 | 简清单 | 增加了函数、包、类型等 | 更丰富,但视线被干扰 |
| 表空间位置 | 靠后 | 提前了 | 容易误点 |
五、给你的"保命"操作流
无论用哪个版本,拿到新环境后按这个顺序操作,5分钟找到表:
text
1. 登录后,看左侧顶部下拉框
├── 如果是 <当前用户> → 点开 Tables 看有没有表
│ ├── 有 → 搞定,开始干活
│ └── 空 → 切到 <全部用户>
└── 如果是 <全部用户> → 在用户名列表里找核心用户,展开其 Tables
2. 找不到第二个 Tables?→ 滚动到底部,找 Job classes 下方的 Tables
3. 配固定用户 → 完全退出重登 → 登录时选带IP的固定用户
六、一句话总结
11g是"打开即见表",14版是"打开后需要往下滚三滚,还要换用户才能见表"。
14版功能更强、连接更稳,但对新人不够友好。它的"优化"对老手是效率提升,对新人是认知门槛。掌握本文的差异点,你就能在任何版本的PL/SQL Developer里,5秒内找到数据表。
补充DBMS输出方面的差异
找DBMS输出在哪,真是一个巨坑
绕了好大一圈,最后发现,谜题就在谜面上。
无论是SQL窗口还是测试窗口,输出就在窗口名称旁边,以tab页的形式进行切换的。不同的是一个叫输出,另一个叫DBMS输出。
DBMS输出在14版里的变化,确实是新人最容易"以为没反应"的地方。
七、DBMS输出(DBMS_OUTPUT)的差异对比
| 对比维度 | PL/SQL Developer 11g(经典版) | PL/SQL Developer 14(免安装版) |
|---|---|---|
| DBMS_OUTPUT 默认状态 | 默认关闭,需要手动点击按钮开启 | 默认关闭,同样需要手动开启 |
| 开启按钮位置 | 在SQL窗口的工具栏中部 ,一个橙色/黄色的齿轮或"DBMS Output"标签页 | 在SQL窗口底部 ,需要先点击 "DBMS Output"页签 ,再点击绿色的加号/播放按钮启用 |
| 页签存在感 | 底部默认显示 DBMS Output 页签,一眼能看到 |
底部有多个页签(结果、DBMS Output、统计信息、执行计划等),DBMS Output 默认可能是隐藏或不显眼的,需要手动点击页签才能看到 |
| 输出显示位置 | 在底部独立的 DBMS Output 面板 | 同样在底部独立的页签内 ,但必须连接一个Session(DBMS Output 页签左上角点绿色加号),才会捕获输出 |
| 新人最容易踩的坑 | "写了dbms_output.put_line但看不到输出"------忘记点那个橙色按钮 |
"点了DBMS Output页签,里面一片空白"------没有点击页签左上角的绿色"+"号绑定当前会话 |
🚨 14版最致命的"操作盲点"
如果你习惯11g,用14版时最容易被卡住的操作是:
在14版里,即使你底部切换到了DBMS Output页签,它也不会自动捕获输出。你必须:
-
点击
DBMS Output页签(让它显示在前台) -
点击页签左上角的绿色"+"号(或"添加会话"按钮)
-
选择当前正在执行的SQL窗口会话
-
绑定成功后,
dbms_output.put_line的内容才会出现在这个页签里
如果不做第2步,你写再多put_line,底部永远是空白,你会以为代码没执行或者写错了。
📸 直观对比
| 11g版 | 14版 |
|---|---|
| 点击工具栏的橙色齿轮按钮 → 开启DBMS输出 | 点击底部 DBMS Output页签 → 点击左上角绿色"+"号 → 选择会话 |
| 一个动作 | 两个动作(切换页签 + 添加会话) |
| 按钮常驻工具栏,比较醒目 | 藏在页签里,容易被忽略 |
✅ 14版开启DBMS输出的标准操作流
text
1. 在SQL窗口里写完你的 PL/SQL 块
2. 看底部 → 点击 "DBMS Output" 页签(不要只看"结果"页签)
3. 在 DBMS Output 页签的左上角 → 点击 绿色"+"号(Add Session)
4. 在弹出的对话框里,选中当前连接(默认就是),点 OK
5. 回到SQL窗口,执行你的 PL/SQL
6. 切回 DBMS Output 页签 → 看到输出了!
💡 为什么14版要这样设计?
11g的"一键开启"虽然方便,但只能绑定默认会话 。14版支持多个SQL窗口同时开启DBMS输出,你可以让不同窗口的输出分别显示在不同的DBMS Output会话里,互不干扰。对于同时调试多个存储过程的场景,其实是进步。
但对新人来说,这个"进步"变成了"找不到输出"的困惑。
八、完整版差异总结(新增DBMS输出)
| 对比维度 | PL/SQL Developer 11g | PL/SQL Developer 14 |
|---|---|---|
| 登录方式 | 手动新建连接 | 固定用户下拉选择 |
| 对象面板 | Tables 在顶部显眼位置 | Tables 被挤到底部,可能重复出现 |
| 表空间位置 | 藏在表后面 | 提前到中部,容易误点 |
| 默认对象范围 | 当前用户 | 当前用户(但可能为空,需切全部用户) |
| DBMS_OUTPUT开启 | 工具栏橙色齿轮,一键开启 | 底部页签 + 绿色"+"号绑定会话,两动作 |
| DBMS_OUTPUT默认状态 | 页签一直在,点了就开 | 页签在,但不绑定会话就无输出 |
九、给新人的"极简登船指南"
text
登录:
→ 从固定用户下拉列表,选带IP的那个完整连接串 → 登录
找表:
→ 左侧顶部下拉框切到 <全部用户>
→ 找到核心用户名(如 DWHRPT)→ 展开 → 点 Tables
看DBMS输出(调试存储过程时):
→ 底部点 "DBMS Output" 页签
→ 左上角点绿色"+"号 → 选当前会话 → 执行代码 → 看到输出
Oracle各种类型的窗口:特点和适用场景
在 PL/SQL Developer 中,新建窗口类型丰富,各自针对不同开发场景设计。
以下是各窗口的特点与适用场景总结:
| 窗口类型 | 核心特点 | 适用场景 |
|---|---|---|
| 程序窗口 | 专为编写和调试存储过程、函数、包等PL/SQL程序单元设计,支持语法高亮、代码折叠、断点调试。 | 开发复杂业务逻辑、调试存储过程、查看变量值、单步执行代码。 |
| 测试窗口 | 提供交互式执行环境,可直接运行匿名块或调用存储过程,底部自带"DBMS输出"标签页,自动捕获DBMS_OUTPUT.PUT_LINE的输出内容。 |
快速验证代码片段、调试PL/SQL逻辑、查看输出结果,尤其适合需要DBMS_OUTPUT的场景。 |
| SQL窗口 | 专注于执行标准SQL语句(SELECT, INSERT, UPDATE, DELETE),支持结果集网格显示、数据编辑、导出。 | 查询数据、修改表记录、执行DDL语句、查看执行计划。 |
| 报告窗口 | 用于生成和查看数据库性能报告、对象依赖关系、统计信息等结构化报告。 | 分析数据库性能瓶颈、审查对象结构、生成审计报告。 |
| 命令窗口 | 模拟SQL*Plus命令行环境,支持SET SERVEROUTPUT ON等指令,适合执行脚本文件(@filename.sql)。 |
批量执行SQL脚本、导入数据、执行系统级命令、自动化任务。 |
| 解释计划窗口 | 专门用于分析和可视化SQL语句的执行计划,展示访问路径、连接方式、成本估算等。 | 优化慢查询、理解SQL执行效率、调整索引或表结构。 |
| 图表窗口 | 以图形化方式展示数据库对象(如表、视图、约束)之间的关系,支持ER图生成。 | 理解数据库结构、设计表关系、文档化数据模型。 |
💡 使用建议
- 若需查看
DBMS_OUTPUT输出,优先选择测试窗口,它内置输出面板,无需额外配置。 - 若执行复杂PL/SQL程序并需调试,使用程序窗口。
- 若仅需查询或修改数据,SQL窗口最为高效。
- 若需批量执行脚本或模拟命令行操作,命令窗口是最佳选择。