外观
Oracle SQL Developer 使用指南
SQL Developer 简介
Oracle SQL Developer 是 Oracle 官方提供的免费集成开发环境(IDE),专为 Oracle 数据库的开发和管理而设计。它提供了图形化界面,支持 SQL 开发、PL/SQL 编程、数据库管理、数据建模等功能,是 Oracle 数据库专业人员的必备工具。
SQL Developer 的主要功能
- SQL 开发:编写、执行和调试 SQL 语句
- PL/SQL 编程:开发、调试和测试 PL/SQL 程序单元
- 数据库管理:管理数据库对象、用户和权限
- 数据建模:创建和修改数据模型
- 数据导入/导出:在不同格式之间导入和导出数据
- 版本控制:集成 Git、SVN 等版本控制系统
- 性能调优:分析 SQL 执行计划,优化 SQL 性能
- 数据库监控:监控数据库性能和状态
- 云集成:支持 Oracle Cloud 数据库
SQL Developer 版本
- SQL Developer:标准版,适用于大多数开发和管理任务
- SQL Developer Data Modeler:数据建模工具,用于创建和管理数据模型
- SQL Developer Web:基于浏览器的版本,无需安装客户端
安装与配置
1. 系统要求
硬件要求:
- CPU:至少 1 GHz 处理器
- 内存:至少 2 GB RAM(推荐 4 GB 或更多)
- 磁盘空间:至少 1 GB 可用空间
- 分辨率:至少 1024x768
软件要求:
- 操作系统:Windows、macOS、Linux
- Java 运行时环境(JRE):
- SQL Developer 19.1 及以下:Java 8
- SQL Developer 20.2 及以上:Java 11
- Oracle 数据库:支持 Oracle 数据库 10g 及以上版本
2. 下载与安装
下载 SQL Developer:
- 访问 Oracle SQL Developer 下载页面
- 选择适合您操作系统的版本
- 下载安装包(有包含 JDK 和不包含 JDK 两个版本)
- 接受许可协议
安装步骤:
Windows 系统:
- 解压下载的 ZIP 文件到任意目录
- 运行
sqldeveloper.exe启动程序
macOS 系统:
- 解压下载的 ZIP 文件
- 将
SQLDeveloper.app拖放到 Applications 文件夹 - 双击
SQLDeveloper.app启动程序
Linux 系统:
- 解压下载的 ZIP 文件到任意目录
- 运行
sqldeveloper.sh启动程序
3. 首次配置
启动 SQL Developer:
- 首次启动时,系统会提示您指定 Java 可执行文件的位置(如果未包含 JDK)
- 选择适当的 Java 版本并点击 "确定"
配置首选项:
- 数据库 → NLS:设置日期、时间和数字格式
- 代码编辑器 → 字体:设置编辑器字体和大小
- 代码编辑器 → 自动完成:配置代码自动完成选项
- 数据库 → 高级:设置连接超时和其他高级选项
- 文件 → 导出首选项:备份首选项设置
配置代理服务器(如果需要):
- 工具 → 首选项 → 环境 → 网络连接
- 选择 "使用代理服务器"
- 输入代理服务器地址、端口和认证信息
数据库连接管理
1. 创建数据库连接
基本连接:
- 点击 "新建连接" 按钮或选择 "文件" → "新建" → "数据库连接"
- 填写连接信息:
- 连接名称:连接的唯一标识
- 用户名:数据库用户名
- 密码:数据库密码(可选保存)
- 主机名:数据库服务器主机名或 IP 地址
- 端口:数据库监听端口(默认 1521)
- SID 或 服务名:数据库 SID 或服务名
- 点击 "测试" 按钮验证连接
- 点击 "保存" 按钮保存连接
高级连接选项:
- 使用 TNS 别名:选择 "连接类型" → "TNS",然后选择 TNS 别名
- 使用 SSH 隧道:在 "SSH" 选项卡中配置 SSH 隧道
- 使用高级连接字符串:在 "高级" 选项卡中输入自定义连接字符串
- 使用 Oracle 钱包:配置使用 Oracle 钱包进行认证
连接管理:
- 编辑连接:右键点击连接 → "编辑"
- 删除连接:右键点击连接 → "删除"
- 复制连接:右键点击连接 → "复制"
- 导出连接:"文件" → "导出" → "数据库连接"
- 导入连接:"文件" → "导入" → "数据库连接"
2. 连接类型
| 连接类型 | 描述 | 适用场景 |
|---|---|---|
| 基本 | 使用主机名、端口和 SID/服务名 | 直接连接到数据库服务器 |
| TNS | 使用 tnsnames.ora 中的 TNS 别名 | 复杂网络环境,多实例配置 |
| LDAP | 使用 LDAP 目录服务解析服务名 | 企业级环境,集中管理服务名 |
| 本地 | 连接到本地数据库实例 | 开发和测试环境 |
| SSH | 通过 SSH 隧道连接 | 安全网络环境,需要加密传输 |
SQL 开发功能
1. SQL 编辑器
打开 SQL 编辑器:
- 点击 "新建 SQL 文件" 按钮
- 或右键点击连接 → "打开 SQL 工作表"
SQL 编辑器功能:
- 语法高亮:自动高亮 SQL 语法
- 代码折叠:折叠和展开 SQL 代码块
- 行号显示:显示代码行号
- 代码格式化:格式化 SQL 代码(右键 → "格式化" 或 Ctrl+F7)
- 代码模板:使用预定义的代码模板(Ctrl+Alt+Space)
- 智能提示:自动提示表名、列名和函数
- 查询历史:查看和重用历史 SQL 语句
执行 SQL 语句:
- 执行当前语句:F9 或 "执行语句" 按钮
- 执行选定语句:F9 或 "执行语句" 按钮
- 执行所有语句:Ctrl+Enter 或 "执行脚本" 按钮
- 执行并解释计划:Ctrl+F10 或 "解释计划" 按钮
结果集管理:
- 查看结果:在 "结果" 选项卡中查看执行结果
- 导出结果:右键点击结果集 → "导出"
- 编辑数据:点击 "编辑数据" 按钮修改结果集中的数据
- 排序和过滤:点击列标题进行排序,使用过滤功能筛选数据
- 结果集比较:比较不同查询的结果集
2. PL/SQL 开发
创建 PL/SQL 程序单元:
- 右键点击连接下的 "程序单元" → "新建"
- 选择程序单元类型:函数、过程、包、包体或触发器
- 填写程序单元名称和其他信息
- 点击 "确定" 生成模板代码
PL/SQL 编辑器功能:
- 语法高亮:自动高亮 PL/SQL 语法
- 代码提示:自动提示 PL/SQL 结构和关键字
- 错误检测:实时检测语法错误
- 代码导航:快速导航到程序单元定义
- 变量重命名:批量重命名变量
- 代码模板:使用 PL/SQL 代码模板
调试 PL/SQL:
- 在 PL/SQL 代码中设置断点(点击行号旁边的空白处)
- 右键点击代码编辑器 → "调试"
- 输入调试参数(如果需要)
- 使用调试工具栏控制执行:
- 继续(F8)
- 单步进入(F7)
- 单步跳过(F9)
- 单步退出(Shift+F8)
- 暂停
- 停止
- 在 "调试" 面板中查看变量值和调用堆栈
编译 PL/SQL:
- 编译当前程序单元:Ctrl+Shift+F9
- 编译所有程序单元:右键点击 "程序单元" → "编译所有"
- 查看编译错误:在 "编译器" 面板中查看错误信息
数据库对象管理
1. 浏览数据库对象
对象导航器:
- 展开连接节点查看数据库对象
- 点击 "刷新" 按钮更新对象列表
- 使用搜索框快速查找对象
对象类型:
- 表:查看和管理表结构
- 视图:查看和管理视图定义
- 索引:查看和管理索引
- 序列:查看和管理序列
- 触发器:查看和管理触发器
- 程序单元:查看和管理 PL/SQL 程序单元
- 包:查看和管理包和包体
- 类型:查看和管理用户定义类型
- 同义词:查看和管理同义词
- 目录:查看和管理目录对象
- 数据库链接:查看和管理数据库链接
2. 管理表
创建表:
- 右键点击 "表" → "新建"
- 在 "列" 选项卡中添加列:
- 列名:列的名称
- 数据类型:列的数据类型
- 大小:数据类型的大小
- 精度和小数位数:对于数字类型
- 是否可为空:是否允许空值
- 默认值:列的默认值
- 在 "约束条件" 选项卡中添加约束:
- 主键约束
- 外键约束
- 唯一约束
- 检查约束
- 在 "存储" 选项卡中设置存储参数
- 点击 "确定" 创建表
修改表:
- 右键点击表 → "编辑"
- 修改表结构:
- 添加、修改或删除列
- 添加、修改或删除约束
- 修改存储参数
- 点击 "应用" 保存更改
表数据操作:
- 查看数据:右键点击表 → "查看数据"
- 编辑数据:右键点击表 → "编辑数据"
- 插入数据:在数据编辑器中点击 "插入行" 按钮
- 删除数据:在数据编辑器中选择行 → 点击 "删除行" 按钮
- 导入数据:右键点击表 → "导入数据"
- 导出数据:右键点击表 → "导出"
3. 管理索引
创建索引:
- 右键点击 "索引" → "新建"
- 填写索引信息:
- 索引名称:索引的名称
- 表名:要索引的表
- 索引类型:B树、位图、函数基础等
- 列:要包含在索引中的列
- 排序顺序:升序或降序
- 点击 "确定" 创建索引
查看索引信息:
- 右键点击索引 → "查看"
- 查看索引的详细信息,包括列、类型、状态等
- 查看索引的使用情况
删除索引:
- 右键点击索引 → "删除"
- 确认删除操作
4. 管理用户和权限
创建用户:
- 右键点击 "其他用户" → "新建"
- 填写用户信息:
- 用户名:用户的名称
- 密码:用户的密码
- 默认表空间:用户的默认表空间
- 临时表空间:用户的临时表空间
- 概要文件:用户的概要文件
- 在 "角色" 选项卡中授予角色
- 在 "系统权限" 选项卡中授予系统权限
- 在 "对象权限" 选项卡中授予对象权限
- 点击 "确定" 创建用户
管理权限:
- 授予权限:右键点击用户 → "编辑" → "系统权限"/"对象权限"
- 撤销权限:右键点击用户 → "编辑" → "系统权限"/"对象权限"
- 查看权限:右键点击用户 → "查看" → "权限"
管理角色:
- 创建角色:右键点击 "角色" → "新建"
- 修改角色:右键点击角色 → "编辑"
- 删除角色:右键点击角色 → "删除"
数据导入与导出
1. 数据导出
导出格式:
- CSV:逗号分隔值格式
- Excel:Microsoft Excel 格式
- XML:可扩展标记语言格式
- JSON:JavaScript 对象表示法格式
- SQL 插入语句:生成 SQL INSERT 语句
- 加载器格式:生成 SQL*Loader 控制文件
导出表数据:
- 右键点击表 → "导出"
- 选择导出格式
- 配置导出选项:
- 导出文件路径
- 编码格式
- 是否包含标题行
- 是否导出约束
- 点击 "下一步" 选择要导出的列
- 点击 "完成" 开始导出
导出查询结果:
- 执行查询获取结果集
- 右键点击结果集 → "导出"
- 选择导出格式和选项
- 点击 "完成" 开始导出
2. 数据导入
导入格式:
- CSV:逗号分隔值格式
- Excel:Microsoft Excel 格式
- XML:可扩展标记语言格式
- JSON:JavaScript 对象表示法格式
- SQL 插入语句:执行 SQL INSERT 语句
- 加载器格式:使用 SQL*Loader 加载数据
导入数据到表:
- 右键点击表 → "导入数据"
- 选择导入文件和格式
- 配置导入选项:
- 文件编码
- 字段分隔符
- 是否包含标题行
- 导入模式(插入、更新、替换等)
- 点击 "下一步" 映射源列到目标列
- 点击 "完成" 开始导入
导入数据创建新表:
- 右键点击 "表" → "导入数据"
- 选择导入文件和格式
- 配置导入选项
- 点击 "下一步" 配置新表的名称和列
- 点击 "完成" 创建表并导入数据
数据建模
1. 数据模型er集成
启动数据模型er:
- 选择 "工具" → "数据模型er"
- 或点击 "数据模型er" 按钮
数据模型类型:
- 逻辑模型:描述业务实体和关系
- 关系模型:描述数据库表和关系
- 物理模型:描述特定数据库的物理实现
2. 创建数据模型
从数据库导入:
- 选择 "文件" → "导入" → "数据字典"
- 选择数据库连接
- 选择要导入的对象类型
- 点击 "下一步" 选择具体对象
- 点击 "完成" 导入数据模型
从头创建:
- 选择 "文件" → "新建" → "数据模型"
- 在逻辑模型中添加实体:
- 点击 "实体" 工具
- 在画布上绘制实体
- 双击实体编辑属性
- 添加关系:
- 点击 "关系" 工具
- 连接两个实体
- 编辑关系属性
- 转换为关系模型:
- 选择 "工具" → "转换为关系模型"
- 转换为物理模型:
- 选择 "工具" → "转换为物理模型"
导出数据模型:
- 导出为 DDL:生成创建数据库对象的 SQL 语句
- 导出为图像:生成模型的图像文件
- 导出为报告:生成模型的详细报告
- 导出为 XML:生成模型的 XML 表示
性能调优工具
1. SQL 调优顾问
使用 SQL 调优顾问:
- 编写 SQL 语句
- 右键点击 SQL 语句 → "运行 SQL 调优顾问"
- 等待分析完成
- 查看调优建议:
- 创建索引
- 重构 SQL
- 收集统计信息
- 使用并行执行
- 应用调优建议
2. 执行计划分析
查看执行计划:
- 编写 SQL 语句
- 点击 "解释计划" 按钮或按 Ctrl+F10
- 在 "执行计划" 面板中查看执行计划:
- 操作类型
- 访问路径
- 成本
- cardinality
- 字节数
执行计划操作:
- TABLE ACCESS FULL:全表扫描
- TABLE ACCESS BY INDEX ROWID:通过索引 ROWID 访问表
- INDEX UNIQUE SCAN:索引唯一扫描
- INDEX RANGE SCAN:索引范围扫描
- INDEX FULL SCAN:索引全扫描
- NESTED LOOPS:嵌套循环连接
- HASH JOIN:哈希连接
- SORT MERGE JOIN:排序合并连接
- FILTER:过滤操作
- SORT:排序操作
执行计划分析技巧:
- 查找全表扫描(特别是大表)
- 分析连接方法的选择
- 检查索引的使用情况
- 查看成本估算是否合理
- 比较不同执行计划的性能
3. 实时 SQL 监控
启用实时 SQL 监控:
- 编写 SQL 语句
- 点击 "实时 SQL 监控" 按钮
- 执行 SQL 语句
- 在 "实时 SQL 监控" 面板中查看执行情况:
- 执行进度
- 等待事件
- 资源使用情况
- 并行执行情况
监控长时间运行的 SQL:
- 查看当前正在执行的 SQL
- 分析 SQL 的执行状态
- 识别性能瓶颈
- 终止或暂停执行中的 SQL
高级功能
1. 版本控制集成
配置版本控制:
- 选择 "工具" → "首选项" → "版本控制"
- 选择版本控制系统(Git、SVN 等)
- 配置版本控制客户端路径
使用版本控制:
- 将文件添加到版本控制:右键点击文件 → "版本控制" → "添加"
- 提交更改:右键点击文件 → "版本控制" → "提交"
- 更新文件:右键点击文件 → "版本控制" → "更新"
- 查看历史:右键点击文件 → "版本控制" → "历史"
- 比较版本:右键点击文件 → "版本控制" → "比较版本"
2. 数据库复制
复制数据库对象:
- 选择 "工具" → "数据库复制"
- 选择源数据库连接
- 选择目标数据库连接
- 选择要复制的对象类型
- 选择具体对象
- 配置复制选项
- 点击 "下一步" 开始复制
复制数据:
- 在复制过程中选择 "复制数据"
- 配置数据复制选项
- 监控复制进度
3. 调试器高级功能
条件断点:
- 设置断点
- 右键点击断点 → "编辑断点"
- 输入条件表达式
- 点击 "确定"
监视表达式:
- 在调试模式下,选择 "视图" → "调试" → "监视"
- 点击 "+" 按钮添加监视表达式
- 输入要监视的变量或表达式
修改变量值:
- 在调试模式下,在 "局部变量" 或 "监视" 面板中
- 右键点击变量 → "设置值"
- 输入新值
4. 脚本库
使用脚本库:
- 选择 "视图" → "脚本库"
- 浏览预定义脚本
- 双击脚本查看内容
- 点击 "运行" 按钮执行脚本
创建自定义脚本:
- 选择 "脚本库" → "用户定义的脚本"
- 右键点击 "用户定义的脚本" → "新建文件夹"
- 右键点击文件夹 → "新建脚本"
- 编辑脚本内容
- 保存脚本
5. 扩展功能
安装扩展:
- 选择 "帮助" → "检查更新"
- 浏览可用的扩展
- 选择要安装的扩展
- 点击 "安装" 按钮
常用扩展:
- Oracle SQL Developer 数据模型er:高级数据建模功能
- Oracle REST Data Services:RESTful 服务开发
- Oracle Cloud:Oracle Cloud 集成
- Git 客户端:Git 版本控制集成
- PL/SQL 调试器:增强的 PL/SQL 调试功能
快捷键与技巧
1. 常用快捷键
| 快捷键 | 功能 |
|---|---|
| F5 | 执行脚本 |
| F9 | 执行当前语句 |
| Ctrl+Enter | 执行脚本 |
| Ctrl+F7 | 格式化 SQL |
| Ctrl+F10 | 解释计划 |
| Ctrl+Shift+F9 | 编译 PL/SQL |
| Ctrl+Space | 代码提示 |
| Ctrl+Alt+Space | 代码模板 |
| Ctrl+D | 删除当前行 |
| Ctrl+Z | 撤销 |
| Ctrl+Y | 重做 |
| Ctrl+F | 查找 |
| Ctrl+H | 替换 |
| Ctrl+N | 新建文件 |
| Ctrl+O | 打开文件 |
| Ctrl+S | 保存文件 |
2. 实用技巧
提高代码编辑效率:
- 使用代码模板:输入模板名称并按 Tab 键
- 使用键盘快捷键:熟练使用常用快捷键
- 自定义代码模板:选择 "工具" → "首选项" → "数据库" → "SQL 编辑器" → "代码模板"
- 使用多光标编辑:按住 Ctrl 键并点击鼠标添加多个光标
提高查询效率:
- 使用绑定变量:在 SQL 中使用 :变量名 格式
- 使用查询构建器:点击 "查询构建器" 按钮可视化构建查询
- 使用 SQL 历史:点击 "SQL 历史" 面板查看历史查询
- 使用片段:将常用 SQL 保存为片段
提高管理效率:
- 使用过滤器:在对象导航器中使用过滤器快速查找对象
- 使用标签页:在多个编辑器标签页之间切换
- 使用分割视图:分割编辑器视图同时查看多个文件
- 使用工作区:保存和恢复工作区布局
故障排除技巧:
- 查看日志:选择 "视图" → "日志"
- 启用调试日志:选择 "帮助" → "诊断" → "启用调试"
- 重置首选项:删除系统目录中的 SQL Developer 配置文件夹
- 检查 Java 版本:确保使用兼容的 Java 版本
常见问题(FAQ)
Q1: SQL Developer 连接数据库失败怎么办?
A1: 解决连接失败的方法:
- 检查网络连接:确保可以 ping 通数据库服务器
- 检查监听状态:在服务器上执行
lsnrctl status检查监听器状态 - 检查连接信息:验证主机名、端口、服务名/SID 是否正确
- 检查用户名和密码:确保用户名和密码正确
- 检查防火墙设置:确保防火墙允许数据库端口的访问
- 检查 TNS 配置:如果使用 TNS 连接,检查 tnsnames.ora 文件
- 使用 SQL*Plus 测试:使用 SQL*Plus 测试连接,确认数据库是否可访问
Q2: SQL Developer 运行缓慢怎么办?
A2: 提高 SQL Developer 性能的方法:
- 增加内存分配:编辑 sqldeveloper.conf 文件,增加
AddVMOption -Xmx值 - 禁用不必要的扩展:选择 "帮助" → "检查更新" → "已安装",禁用不需要的扩展
- 清理缓存:选择 "工具" → "首选项" → "数据库" → "工作表",点击 "清除缓存"
- 减少历史记录:选择 "工具" → "首选项" → "数据库" → "工作表",减少 SQL 历史记录数量
- 关闭不必要的标签页:关闭不使用的编辑器标签页
- 优化数据库连接:在连接属性中设置适当的超时值
- 使用较新版本:升级到最新版本的 SQL Developer
Q3: 如何在 SQL Developer 中调试 PL/SQL?
A3: 调试 PL/SQL 的步骤:
- 确保用户有调试权限:授予用户 DEBUG CONNECT SESSION 和 DEBUG ANY PROCEDURE 权限
- 设置断点:在 PL/SQL 代码中点击行号旁边的空白处设置断点
- 启动调试:右键点击代码编辑器 → "调试"
- 输入参数:如果 PL/SQL 程序有参数,输入参数值
- 控制执行:使用调试工具栏控制执行流程
- 查看变量:在 "局部变量" 面板中查看变量值
- 修改变量:右键点击变量 → "设置值" 修改变量值
- 结束调试:点击 "停止" 按钮结束调试
Q4: 如何导出 SQL Developer 的首选项和配置?
A4: 导出和导入首选项的方法:
导出首选项:
- 选择 "文件" → "导出首选项"
- 选择要导出的首选项类别
- 选择导出文件路径
- 点击 "确定"
导入首选项:
- 选择 "文件" → "导入首选项"
- 选择导入文件路径
- 选择要导入的首选项类别
- 点击 "确定"
备份配置:
- 定期导出首选项,以便在重新安装时恢复
- 备份系统目录中的 SQL Developer 配置文件夹
Q5: 如何在 SQL Developer 中使用版本控制?
A5: 使用版本控制的方法:
配置版本控制:
- 选择 "工具" → "首选项" → "版本控制"
- 选择版本控制系统(如 Git、SVN)
- 配置版本控制客户端路径
将文件添加到版本控制:
- 右键点击文件 → "版本控制" → "添加"
提交更改:
- 右键点击文件 → "版本控制" → "提交"
- 输入提交消息
- 点击 "确定"
更新文件:
- 右键点击文件 → "版本控制" → "更新"
查看历史:
- 右键点击文件 → "版本控制" → "历史"
Q6: 如何在 SQL Developer 中生成 ER 图?
A6: 生成 ER 图的方法:
使用数据模型er:
- 选择 "工具" → "数据模型er"
- 选择 "文件" → "导入" → "数据字典"
- 选择数据库连接
- 选择要包含在 ER 图中的表
- 点击 "完成" 导入
- 在画布上排列表和关系
使用内置 ER 图功能:
- 在对象导航器中选择多个表
- 右键点击选择的表 → "生成 ER 图"
- 查看生成的 ER 图
Q7: 如何在 SQL Developer 中导入和导出数据?
A7: 导入和导出数据的方法:
导出数据:
- 右键点击表 → "导出"
- 选择导出格式(CSV、Excel、SQL 等)
- 配置导出选项
- 点击 "完成" 开始导出
导入数据:
- 右键点击表 → "导入数据"
- 选择导入文件和格式
- 配置导入选项
- 点击 "完成" 开始导入
导入到新表:
- 选择 "工具" → "导入数据"
- 选择导入文件和格式
- 配置新表的名称和列
- 点击 "完成" 创建表并导入数据
Q8: 如何在 SQL Developer 中分析 SQL 执行计划?
A8: 分析 SQL 执行计划的方法:
生成执行计划:
- 编写 SQL 语句
- 点击 "解释计划" 按钮或按 Ctrl+F10
分析执行计划:
- 查看执行计划的层次结构(自顶向下或自底向上)
- 分析访问路径(全表扫描、索引扫描等)
- 查看成本估算
- 检查连接方法(嵌套循环、哈希连接、排序合并连接)
- 识别性能瓶颈
使用 SQL 调优顾问:
- 右键点击 SQL 语句 → "运行 SQL 调优顾问"
- 查看调优建议
- 应用适当的建议
比较执行计划:
- 对同一 SQL 的不同版本生成执行计划
- 比较成本和访问路径
- 选择最优的执行计划
