ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Oracle SQL Developer 21.4.3 x64 安装配置与实战技巧详解

Oracle SQL Developer 21.4.3 x64 安装配置与实战技巧详解 简介SQL Developer 21.4.3 正式版是 Oracle 官方发布的免费数据库开发工具面向数据库管理员、开发人员及数据分析师无需安装 Oracle 客户端即可直接连接和管理多种数据库。该版本为 x64 位压缩包整体大小 435.95MB内含 2512 个文件涵盖 jar 程序库、xml 配置文件、dll 动态链接库及 sql 脚本等类型组件完整且目录结构清晰。资源已通过 MD5 与 SHA1 校验确保原版无篡改。已有 816 人学习下载适合追求稳定高效、希望摆脱 PL/SQL 授权困扰的用户使用。解压后即可运行大幅降低环境配置成本能够显著提升日常数据库开发与运维效率。 sqldeveloper-21.4.3.063.0100-x64 这个文件名玩过 Oracle 数据库的朋友应该一眼就能认出来这是 Oracle SQL Developer 的 21.4.3 版本安装包x64 是 64 位系统的版本。作为日常要和 Oracle、MySQL 打交道的开发或 DBASQL Developer 几乎是我每台机器上必装的一个工具。它免费、跨平台从写 SQL 到跑执行计划、做数据导入导出甚至把其他数据库迁移到 Oracle都能在一个界面里完成。这篇博文我就围绕这个 21.4.3 x64 版结合我自己的实际使用经验把从下载安装到日常高频操作、再到遇到过的各种坑完整梳理一遍。内容面向刚接触 SQL Developer 的新手也适合想把这工具用得更顺手的老手。看完你至少能少走几次弯路。1. 安装之前先把文件名的信息榨干1.1 版本号到底说了什么sqldeveloper-21.4.3.063.0100 这个字符串不是随便起的Oracle 的版本号体系里21 代表主版本对应的是 2021 年发布的功能版本。细心的朋友会发现 21.4.3 后面还有一截 063.0100这是构建号和内部修订号实际使用中不需要记它但如果你遇到某个 Bug向 Oracle 提工单时需要完整提供这个版本号所以别随便删掉安装包文件名里的部分内容。21.4.3 相比早期版本我在实际体验中感受比较明显的是对高分辨率屏幕的支持更好4K 屏下界面缩放不再糊成一团自动补全和代码模板更智能对 Oracle 21c 数据库的新特性支持比较完整比如区块链表、SQL 宏这些。日常写 PL/SQL、调存储过程稳定性也比 19.x 和 20.x 时代强不少。注意21.4.3 之后的版本命名方式变了Oracle 把 SQL Developer 改成了版本号 23.x、24.x 这样的命名。如果你看到 sqldeveloper-23.1.0 这类文件不要觉得是跳版本只是 Oracle 改了版本命名规则。1.2 运行环境不只是装了 JDK 就行x64 结尾说明这是 64 位编译版本操作系统需要 64 位的 Windows、Linux 或 macOS。Windows 上我建议至少 Windows 10 1809 以上Win7 虽然官方说支持但新版 JDK 在 Win7 上兼容性问题比较多不推荐。SQL Developer 本身是 Java 写的桌面应用所以必须有 JDK 才能跑。这里有个关键点21.4.3 版本要求 JDK 11 或 JDK 8。我自己测试过JDK 17 也能启动但界面偶尔会出现字体渲染异常不推荐在生产环境这么干。建议直接用 JDK 11原因有几个JDK 8 太老对 21c 数据库的一些新特性支持和 SSL/TLS 加密算法支持不完整JDK 11 是 LTS 版本稳定官方文档里明确支持 JDK 11后续排查问题不会被人一句你环境不对打发Linux 环境注意别用 OpenJ9 之类的 JVM我用过 IBM 的 OpenJ9 跑 SQL Developer启动没问题但连接数据库时偶尔报奇怪的握手错误换成 OpenJDK HotSpot 就好了。2. 安装与首次启动别在第一步就踩坑2.1 下载和安装其实是解压SQL Developer 的 Windows 版本下载下来通常是一个 zip 包不是 exe 安装程序。这一点很多新手会困惑不知道怎么安装。其实它本身就是绿色软件解压到某个目录就能用。我的习惯是解压到D:\oracle\sqldeveloper这类不含空格和中文的路径下。路径里有中文或空格容易在某些 JDBC 连接和导入导出场景下触发奇怪的文件路径问题我踩过这个坑后来一律用纯英文路径。解压完目录结构大概是这样sqldeveloper/主程序目录sqldeveloper/bin/启动脚本Windows 下是sqldeveloper.exe和sqldeveloper64w.exeide/底层 NetBeans 平台文件jdbc/自带 JDBC 驱动不要手动去改目录里的 jar 包或配置文件除非你知道自己在做什么。这个目录结构是 NetBeans 平台的标准布局乱动会导致启动失败。2.2 配置 JDK 路径解压后直接双击sqldeveloper64w.exe启动第一次运行会弹出对话框让你选择 Java 路径。这里要注意它不一定能自动识别你系统装的 JDK特别是你装了多个 JDK 版本的时候。为了避免每次启动都问可以在配置文件里写死 JDK 路径。配置文件在sqldeveloper/sqldeveloper/bin/sqldeveloper.conf用文本编辑器打开找到SetJavaHome这一行改成你的 JDK 实际路径比如SetJavaHome D:\Java\jdk-11.0.21改完保存重启 SQL Developer。以后再也不会弹窗问 Java 路径了。如果打开配置文件发现没有SetJavaHome这行可以直接在文件末尾加上效果一样。配置里还有一个AddVMOption的参数-Xmx 内存相关的写法也会用到这里我放到后面调优部分细说。2.3 首次启动后的基础设置第一次启动会进入欢迎页问你要不要导入之前的偏好设置。如果是全新安装选No就行。启动后建议第一时间做两个设置第一检查界面语言。21.4.3 默认会根据系统语言自动切换如果你的系统是中文SQL Developer 可能显示中文界面。有的人喜欢中文但我是建议至少保持菜单是英文为什么因为你在网上搜资料、查官方文档时菜单项、报错信息都是英文如果你的界面是中文对应起来会非常痛苦。设置入口在Tools-Preferences-Environment-Language。第二检查数据库连接驱动。默认情况下 SQL Developer 自带 Oracle 驱动可以直接连 Oracle 数据库。但要连 MySQL、PostgreSQL 这种非 Oracle 数据库需要额外装驱动。虽然 21.4.3 在Preferences-Database-Third Party JDBC Drivers里有引导界面但实测连接 MySQL 8 还是会遇到时区、加密插件等问题建议直接用 MySQL Connector/J 8.x 版本不要用老旧的 5.x。3. 连接数据库与日常开发实操3.1 创建连接三种方式怎么选SQL Developer 左上角有一个绿色的加号图标点开就是新建连接界面。这里很多新人会卡住因为不知道该填什么。连接类型有三种我逐个说TNS 方式适合有 tnsnames.ora 文件的环境连接名直接下拉选择即可。公司里如果有专门的 DBA 维护了 TNS 文件用这种方式最省事。但要注意SQL Developer 默认读取的 TNS 文件路径需要手动指定在Preferences-Database-Advanced里设置TNS Names File的完整路径。Basic 方式最常用也是我推荐新手使用的方式。填主机名、端口、SID 或服务名。这里有个经典坑Oracle 12c 之后的数据库默认用的是服务名Service Name不是 SID。很多新手在 SID 里填了服务名连接报ORA-12505: TNS:listener does not currently know of SID given in connect descriptor。连 12c 以上版本直接选服务名填ORCLPDB1或实际的服务名别死磕 SID。Custom JDBC 方式高级玩家用的自己写 JDBC URL。适合需要通过代理、特殊协议连接的场景。日常用不上了解一下即可。连接界面的角色字段默认是 default。如果要用 SYSDBA 权限登录需要在这里选 SYSDBA 或 SYSOPER。否则你哪怕用户名是 sys连接上之后也不是管理员权限。提示连接失败时第一个要排查的是监听状态。在命令行执行lsnrctl status看监听是否启动以及是否注册了对应服务。很多连接错误其实不是 SQL Developer 的问题是监听没起来。3.2 SQL 工作台的使用技巧连上数据库后点连接名左侧的箭头展开会看到表、视图、存储过程等对象节点。双击表名可以打开表数据编辑界面但说实话这个界面在数据量大时很卡我只用来快速查看小表。真正日常用的是右键连接名 -打开 SQL 工作表或者快捷键AltF10。打开的这个 SQL Worksheet 是写 SQL 的主战场。几个高频快捷键CtrlEnter执行当前语句F5执行整个脚本F10查看执行计划CtrlF7自动格式化 SQL提到格式化SQL Developer 的自动格式化功能是我用过最顺手的一档。写了一段乱糟糟的 SQL按CtrlF7就能把缩进、大小写、换行捋顺。默认风格可能不太合你胃口可以在工具-首选项-代码编辑器-格式化程序里调整关键字大小写、缩进宽度等细节。我习惯把关键字调成大写缩进 3 空格执行计划用DBMS_XPLAN风格输出写复杂报表 SQL 时特别舒服。查看执行计划这块F10 走的是解释计划但F10显示的是在 SQL Developer 会话里执行 EXPLAIN PLAN 的结果对于复杂查询我通常还会用SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,ALLSTATS LAST))这种真实执行统计的方式来看这样能看出实际行数和预估行数的差异排查索引失效问题更直接。3.3 数据导出与导入常见需求日常工作中最频繁的需求之一把查询结果导出成 Excel 或 CSV。SQL Developer 的做法是在 SQL Worksheet 里执行查询得到结果集右键结果集区域选择导出格式选 CSV、Excelxlsx或 XML指定导出路径和文件名这里有个容易忽略的细节导出 Excel 时如果数据量超过 6 万行会提示需要选择 XLSX 格式因为老式 XLS 格式上限是 65536 行。另外导出 CSV 时如果字段里有中文或特殊字符编码建议选 UTF-8否则用 Excel 打开可能乱码。如果是需要把整张表的结构和数据都搬到另一个库可以用工具 - 数据库导出向导。它可以生成 DDL 脚本并导出数据。但说实话如果只是小表迁移我更推荐直接用CREATE TABLE AS SELECT这种 SQL 方式简单直接。如果是几十万行以上的大表用数据库自带的 Data Pumpexpdp/impdp效率远高于 SQL Developer 的导出向导。还有一个我很常用的功能从其他数据库迁移到 Oracle。SQL Developer 自带迁移工作台支持从 MySQL、SQL Server、Access 等迁移到 Oracle。实测过从 MySQL 8 迁移一张带自增主键、索引、外键的表整个流程非常顺滑官方迁移向导会帮你把AUTO_INCREMENT转成 Oracle 的 Identity 列把DATETIME转成TIMESTAMP基本不用手工改 DDL。不过迁移前最好先对比一下字段类型映射有些边缘类型如TINYINT(1)可能被识别为NUMBER而不是BOOLEAN需要手动修正。4. 常见问题排查与调优4.1 启动慢或卡死很多用户反映 21.4.3 启动特别慢双击图标后要等半分钟甚至更久。这个问题我排查过多次核心原因通常是两个一是机器上 JDK 版本太老导致 JVM 启动慢。换 JDK 11 之后启动速度有明显改善。二是内存配置不合理。SQL Developer 默认堆内存比较保守数据量大、打开多个连接时容易频繁 GC表现为界面卡顿。可以手动改大内存配置文件还是刚才的sqldeveloper.conf添加或修改AddVMOption -Xms256m AddVMOption -Xmx2g-Xms是初始内存-Xmx是最大内存。机器内存 8G 以下建议-Xmx1g16G 内存建议直接给到2g。改完重启生效。别一次给太大比如-Xmx8g反而会因为 JVM 预留过多内存导致系统其他程序变慢。4.2 中文乱码SQL Developer 显示中文乱码主要发生在三种场景数据库字符集不一致、查询结果集乱码、导入导出文件乱码。查询结果乱码最常见的原因是客户端字符集和数据库字符集不匹配。命令行下可以用SELECT USERENV(LANGUAGE) FROM DUAL;查看会话语言和字符集。SQL Developer 里通常不需要手动设置 NLS_LANG它会自动读取 -Duser.language 参数。但如果你的系统默认编码不是 UTF-8比如 Windows 中文版 老版本 SQL Developer就会乱码。解决办法是在sqldeveloper.conf里加上AddVMOption -Dfile.encodingUTF-8 AddVMOption -Duser.languagezh AddVMOption -Duser.countryCN注意这三个参数要一起设只设 file.encoding 可能导致界面菜单正常但工具栏文字显示乱码。改完重启。如果你连的是 AL32UTF8 字符集的库这套配置基本能解决 99% 的乱码问题。4.3 连接报错速查我整理了自己遇到过的几个高频报错和解决办法错误码错误信息常见原因解决办法ORA-12541TNS:no listener监听没启动或端口不对检查监听状态确认端口是否是 1521ORA-12514listener does not currently know of serviceSID/服务名填错确认你连的是 SID 还是服务名12c 后多租户库要填 PDB 的服务名ORA-01017invalid username/password用户名或密码错误角色选错确认密码确认角色是否是 default 或 SYSDBAORA-28040No matching authentication protocol客户端和服务端加密协议不匹配21.4.3 连老版本 11g 数据库时容易出现需要调整服务端的 SQLNET.ALLOWED_LOGON_VERSIONSocket read timed out网络不通或防火墙拦截检查网络连通性telnet 测试端口其中 ORA-28040 现在越来越常见因为新版 SQL Developer 默认使用新版本加密协议而 11g 或老 12.1 默认协议较旧。这种时候通常需要 DBA 在数据库服务器上修改sqlnet.ora加上SQLNET.ALLOWED_LOGON_VERSION_CLIENT8然后重启监听。作为客户端这边暂时没有特别干净的解决办法建议遇到这种问题直接找 DBA 协调别自己乱改客户端参数。4.4 连接多套环境频繁切换的体验优化如果你的工作涉及多套环境开发库、测试库、生产库每个库的账号密码都不一样SQL Developer 的命名连接保存功能就很有用。在连接界面保存密码勾选上下次打开直接双击连接就能进去。但我个人的一个习惯是生产库连接从不在 SQL Developer 里保存密码甚至连接名都写得很明确比如PROD_CRM_READONLY。因为在团队协作环境里如果别人用了你的电脑而你保存了生产库密码这是很大的安全隐患。权限上能用只读账号就不用 DBA 账号这是底线。另外一个需要留意的点SQL Developer 会把连接信息保存在用户目录下路径大概是C:\Users\你的用户名\AppData\Roaming\SQL Developer或~/.sqldeveloper。如果你想让同事用自己的连接配置直接把整个文件夹拷过去覆盖即可。但这里有个后续版本兼容问题21.4.3 的连接配置如果被新版本比如 23.x打开过再拿回旧版本读取时偶尔会闪退。所以不要跨大版本覆盖连接配置。5. 实际使用中的一点心得21.4.3 x64 这个版本我用了大概一年半总的来说是 SQL Developer 进入 21 系之后比较稳定的大版本日常写 SQL、调存储过程、做数据对比没出过大问题。有一些细节上的使用习惯我觉得很值得分享。第一善用查找数据库对象功能快捷键是CtrlShiftD或CtrlN不同版本略有差异可以直接搜索表名、视图名、包名不用手动展开树形目录。表多的时候这个功能能省很多时间。第二把常用脚本存成SQL 片段。工具-首选项-数据库-SQL 片段可以把SELECT * FROM table WHERE rownum100这类高频语句存进去下次输入简写自动补全。我用得最多的一个片段就是查表结构SELECT * FROM all_tab_columns WHERE table_name :tab配合绑定变量提示效率很高。第三如果你经常要导数据到 Excel 给业务同事建议把导出的格式固定为 xlsx并且导出的列头用别名标记好中文含义。SQL Developer 支持在 SQL 里用AS 字段名指定列头导出时中文列头能正确写入 Excel省去业务同事再手工改列名的麻烦。其实工具这东西没有绝对最好的只有顺不顺手。SQL Developer 的优势是免费、官方持续更新、对 Oracle 系功能支持最完整。如果你主力数据库就是 Oracle它基本是你最省心的选择。希望这篇基于 sqldeveloper-21.4.3.063.0100-x64 的实战分享能帮你把这个工具真正用起来少踩我当年踩过的那些坑。本文还有配套的精品资源点击获取
返回列表