
簡介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 的實戰分享能幫你把這個工具真正用起來少踩我當年踩過的那些坑。本文還有配套的精品資源點擊獲取