戰(zhàn)技巧詳解)
簡(jiǎn)介SQL Developer 21.4.3 正式版是 Oracle 官方發(fā)布的免費(fèi)數(shù)據(jù)庫(kù)開(kāi)發(fā)工具面向數(shù)據(jù)庫(kù)管理員、開(kāi)發(fā)人員及數(shù)據(jù)分析師無(wú)需安裝 Oracle 客戶(hù)端即可直接連接和管理多種數(shù)據(jù)庫(kù)。該版本為 x64 位壓縮包整體大小 435.95MB內(nèi)含 2512 個(gè)文件涵蓋 jar 程序庫(kù)、xml 配置文件、dll 動(dòng)態(tài)鏈接庫(kù)及 sql 腳本等類(lèi)型組件完整且目錄結(jié)構(gòu)清晰。資源已通過(guò) MD5 與 SHA1 校驗(yàn)確保原版無(wú)篡改。已有 816 人學(xué)習(xí)下載適合追求穩(wěn)定高效、希望擺脫 PL/SQL 授權(quán)困擾的用戶(hù)使用。解壓后即可運(yùn)行大幅降低環(huán)境配置成本能夠顯著提升日常數(shù)據(jù)庫(kù)開(kāi)發(fā)與運(yùn)維效率。 sqldeveloper-21.4.3.063.0100-x64 這個(gè)文件名玩過(guò) Oracle 數(shù)據(jù)庫(kù)的朋友應(yīng)該一眼就能認(rèn)出來(lái)這是 Oracle SQL Developer 的 21.4.3 版本安裝包x64 是 64 位系統(tǒng)的版本。作為日常要和 Oracle、MySQL 打交道的開(kāi)發(fā)或 DBASQL Developer 幾乎是我每臺(tái)機(jī)器上必裝的一個(gè)工具。它免費(fèi)、跨平臺(tái)從寫(xiě) SQL 到跑執(zhí)行計(jì)劃、做數(shù)據(jù)導(dǎo)入導(dǎo)出甚至把其他數(shù)據(jù)庫(kù)遷移到 Oracle都能在一個(gè)界面里完成。這篇博文我就圍繞這個(gè) 21.4.3 x64 版結(jié)合我自己的實(shí)際使用經(jīng)驗(yàn)把從下載安裝到日常高頻操作、再到遇到過(guò)的各種坑完整梳理一遍。內(nèi)容面向剛接觸 SQL Developer 的新手也適合想把這工具用得更順手的老手。看完你至少能少走幾次彎路。1. 安裝之前先把文件名的信息榨干1.1 版本號(hào)到底說(shuō)了什么sqldeveloper-21.4.3.063.0100 這個(gè)字符串不是隨便起的Oracle 的版本號(hào)體系里21 代表主版本對(duì)應(yīng)的是 2021 年發(fā)布的功能版本。細(xì)心的朋友會(huì)發(fā)現(xiàn) 21.4.3 后面還有一截 063.0100這是構(gòu)建號(hào)和內(nèi)部修訂號(hào)實(shí)際使用中不需要記它但如果你遇到某個(gè) Bug向 Oracle 提工單時(shí)需要完整提供這個(gè)版本號(hào)所以別隨便刪掉安裝包文件名里的部分內(nèi)容。21.4.3 相比早期版本我在實(shí)際體驗(yàn)中感受比較明顯的是對(duì)高分辨率屏幕的支持更好4K 屏下界面縮放不再糊成一團(tuán)自動(dòng)補(bǔ)全和代碼模板更智能對(duì) Oracle 21c 數(shù)據(jù)庫(kù)的新特性支持比較完整比如區(qū)塊鏈表、SQL 宏這些。日常寫(xiě) PL/SQL、調(diào)存儲(chǔ)過(guò)程穩(wěn)定性也比 19.x 和 20.x 時(shí)代強(qiáng)不少。注意21.4.3 之后的版本命名方式變了Oracle 把 SQL Developer 改成了版本號(hào) 23.x、24.x 這樣的命名。如果你看到 sqldeveloper-23.1.0 這類(lèi)文件不要覺(jué)得是跳版本只是 Oracle 改了版本命名規(guī)則。1.2 運(yùn)行環(huán)境不只是裝了 JDK 就行x64 結(jié)尾說(shuō)明這是 64 位編譯版本操作系統(tǒng)需要 64 位的 Windows、Linux 或 macOS。Windows 上我建議至少 Windows 10 1809 以上Win7 雖然官方說(shuō)支持但新版 JDK 在 Win7 上兼容性問(wèn)題比較多不推薦。SQL Developer 本身是 Java 寫(xiě)的桌面應(yīng)用所以必須有 JDK 才能跑。這里有個(gè)關(guān)鍵點(diǎn)21.4.3 版本要求 JDK 11 或 JDK 8。我自己測(cè)試過(guò)JDK 17 也能啟動(dòng)但界面偶爾會(huì)出現(xiàn)字體渲染異常不推薦在生產(chǎn)環(huán)境這么干。建議直接用 JDK 11原因有幾個(gè)JDK 8 太老對(duì) 21c 數(shù)據(jù)庫(kù)的一些新特性支持和 SSL/TLS 加密算法支持不完整JDK 11 是 LTS 版本穩(wěn)定官方文檔里明確支持 JDK 11后續(xù)排查問(wèn)題不會(huì)被人一句你環(huán)境不對(duì)打發(fā)Linux 環(huán)境注意別用 OpenJ9 之類(lèi)的 JVM我用過(guò) IBM 的 OpenJ9 跑 SQL Developer啟動(dòng)沒(méi)問(wèn)題但連接數(shù)據(jù)庫(kù)時(shí)偶爾報(bào)奇怪的握手錯(cuò)誤換成 OpenJDK HotSpot 就好了。2. 安裝與首次啟動(dòng)別在第一步就踩坑2.1 下載和安裝其實(shí)是解壓SQL Developer 的 Windows 版本下載下來(lái)通常是一個(gè) zip 包不是 exe 安裝程序。這一點(diǎn)很多新手會(huì)困惑不知道怎么安裝。其實(shí)它本身就是綠色軟件解壓到某個(gè)目錄就能用。我的習(xí)慣是解壓到D:\oracle\sqldeveloper這類(lèi)不含空格和中文的路徑下。路徑里有中文或空格容易在某些 JDBC 連接和導(dǎo)入導(dǎo)出場(chǎng)景下觸發(fā)奇怪的文件路徑問(wèn)題我踩過(guò)這個(gè)坑后來(lái)一律用純英文路徑。解壓完目錄結(jié)構(gòu)大概是這樣sqldeveloper/主程序目錄sqldeveloper/bin/啟動(dòng)腳本W(wǎng)indows 下是sqldeveloper.exe和sqldeveloper64w.exeide/底層 NetBeans 平臺(tái)文件jdbc/自帶 JDBC 驅(qū)動(dòng)不要手動(dòng)去改目錄里的 jar 包或配置文件除非你知道自己在做什么。這個(gè)目錄結(jié)構(gòu)是 NetBeans 平臺(tái)的標(biāo)準(zhǔn)布局亂動(dòng)會(huì)導(dǎo)致啟動(dòng)失敗。2.2 配置 JDK 路徑解壓后直接雙擊sqldeveloper64w.exe啟動(dòng)第一次運(yùn)行會(huì)彈出對(duì)話(huà)框讓你選擇 Java 路徑。這里要注意它不一定能自動(dòng)識(shí)別你系統(tǒng)裝的 JDK特別是你裝了多個(gè) JDK 版本的時(shí)候。為了避免每次啟動(dòng)都問(wèn)可以在配置文件里寫(xiě)死 JDK 路徑。配置文件在sqldeveloper/sqldeveloper/bin/sqldeveloper.conf用文本編輯器打開(kāi)找到SetJavaHome這一行改成你的 JDK 實(shí)際路徑比如SetJavaHome D:\Java\jdk-11.0.21改完保存重啟 SQL Developer。以后再也不會(huì)彈窗問(wèn) Java 路徑了。如果打開(kāi)配置文件發(fā)現(xiàn)沒(méi)有SetJavaHome這行可以直接在文件末尾加上效果一樣。配置里還有一個(gè)AddVMOption的參數(shù)-Xmx 內(nèi)存相關(guān)的寫(xiě)法也會(huì)用到這里我放到后面調(diào)優(yōu)部分細(xì)說(shuō)。2.3 首次啟動(dòng)后的基礎(chǔ)設(shè)置第一次啟動(dòng)會(huì)進(jìn)入歡迎頁(yè)問(wèn)你要不要導(dǎo)入之前的偏好設(shè)置。如果是全新安裝選No就行。啟動(dòng)后建議第一時(shí)間做兩個(gè)設(shè)置第一檢查界面語(yǔ)言。21.4.3 默認(rèn)會(huì)根據(jù)系統(tǒng)語(yǔ)言自動(dòng)切換如果你的系統(tǒng)是中文SQL Developer 可能顯示中文界面。有的人喜歡中文但我是建議至少保持菜單是英文為什么因?yàn)槟阍诰W(wǎng)上搜資料、查官方文檔時(shí)菜單項(xiàng)、報(bào)錯(cuò)信息都是英文如果你的界面是中文對(duì)應(yīng)起來(lái)會(huì)非常痛苦。設(shè)置入口在Tools-Preferences-Environment-Language。第二檢查數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)。默認(rèn)情況下 SQL Developer 自帶 Oracle 驅(qū)動(dòng)可以直接連 Oracle 數(shù)據(jù)庫(kù)。但要連 MySQL、PostgreSQL 這種非 Oracle 數(shù)據(jù)庫(kù)需要額外裝驅(qū)動(dòng)。雖然 21.4.3 在Preferences-Database-Third Party JDBC Drivers里有引導(dǎo)界面但實(shí)測(cè)連接 MySQL 8 還是會(huì)遇到時(shí)區(qū)、加密插件等問(wèn)題建議直接用 MySQL Connector/J 8.x 版本不要用老舊的 5.x。3. 連接數(shù)據(jù)庫(kù)與日常開(kāi)發(fā)實(shí)操3.1 創(chuàng)建連接三種方式怎么選SQL Developer 左上角有一個(gè)綠色的加號(hào)圖標(biāo)點(diǎn)開(kāi)就是新建連接界面。這里很多新人會(huì)卡住因?yàn)椴恢涝撎钍裁?。連接類(lèi)型有三種我逐個(gè)說(shuō)TNS 方式適合有 tnsnames.ora 文件的環(huán)境連接名直接下拉選擇即可。公司里如果有專(zhuān)門(mén)的 DBA 維護(hù)了 TNS 文件用這種方式最省事。但要注意SQL Developer 默認(rèn)讀取的 TNS 文件路徑需要手動(dòng)指定在Preferences-Database-Advanced里設(shè)置TNS Names File的完整路徑。Basic 方式最常用也是我推薦新手使用的方式。填主機(jī)名、端口、SID 或服務(wù)名。這里有個(gè)經(jīng)典坑Oracle 12c 之后的數(shù)據(jù)庫(kù)默認(rèn)用的是服務(wù)名Service Name不是 SID。很多新手在 SID 里填了服務(wù)名連接報(bào)ORA-12505: TNS:listener does not currently know of SID given in connect descriptor。連 12c 以上版本直接選服務(wù)名填ORCLPDB1或?qū)嶋H的服務(wù)名別死磕 SID。Custom JDBC 方式高級(jí)玩家用的自己寫(xiě) JDBC URL。適合需要通過(guò)代理、特殊協(xié)議連接的場(chǎng)景。日常用不上了解一下即可。連接界面的角色字段默認(rèn)是 default。如果要用 SYSDBA 權(quán)限登錄需要在這里選 SYSDBA 或 SYSOPER。否則你哪怕用戶(hù)名是 sys連接上之后也不是管理員權(quán)限。提示連接失敗時(shí)第一個(gè)要排查的是監(jiān)聽(tīng)狀態(tài)。在命令行執(zhí)行l(wèi)snrctl status看監(jiān)聽(tīng)是否啟動(dòng)以及是否注冊(cè)了對(duì)應(yīng)服務(wù)。很多連接錯(cuò)誤其實(shí)不是 SQL Developer 的問(wèn)題是監(jiān)聽(tīng)沒(méi)起來(lái)。3.2 SQL 工作臺(tái)的使用技巧連上數(shù)據(jù)庫(kù)后點(diǎn)連接名左側(cè)的箭頭展開(kāi)會(huì)看到表、視圖、存儲(chǔ)過(guò)程等對(duì)象節(jié)點(diǎn)。雙擊表名可以打開(kāi)表數(shù)據(jù)編輯界面但說(shuō)實(shí)話(huà)這個(gè)界面在數(shù)據(jù)量大時(shí)很卡我只用來(lái)快速查看小表。真正日常用的是右鍵連接名 -打開(kāi) SQL 工作表或者快捷鍵AltF10。打開(kāi)的這個(gè) SQL Worksheet 是寫(xiě) SQL 的主戰(zhàn)場(chǎng)。幾個(gè)高頻快捷鍵CtrlEnter執(zhí)行當(dāng)前語(yǔ)句F5執(zhí)行整個(gè)腳本F10查看執(zhí)行計(jì)劃CtrlF7自動(dòng)格式化 SQL提到格式化SQL Developer 的自動(dòng)格式化功能是我用過(guò)最順手的一檔。寫(xiě)了一段亂糟糟的 SQL按CtrlF7就能把縮進(jìn)、大小寫(xiě)、換行捋順。默認(rèn)風(fēng)格可能不太合你胃口可以在工具-首選項(xiàng)-代碼編輯器-格式化程序里調(diào)整關(guān)鍵字大小寫(xiě)、縮進(jìn)寬度等細(xì)節(jié)。我習(xí)慣把關(guān)鍵字調(diào)成大寫(xiě)縮進(jìn) 3 空格執(zhí)行計(jì)劃用DBMS_XPLAN風(fēng)格輸出寫(xiě)復(fù)雜報(bào)表 SQL 時(shí)特別舒服。查看執(zhí)行計(jì)劃這塊F10 走的是解釋計(jì)劃但F10顯示的是在 SQL Developer 會(huì)話(huà)里執(zhí)行 EXPLAIN PLAN 的結(jié)果對(duì)于復(fù)雜查詢(xún)我通常還會(huì)用SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,ALLSTATS LAST))這種真實(shí)執(zhí)行統(tǒng)計(jì)的方式來(lái)看這樣能看出實(shí)際行數(shù)和預(yù)估行數(shù)的差異排查索引失效問(wèn)題更直接。3.3 數(shù)據(jù)導(dǎo)出與導(dǎo)入常見(jiàn)需求日常工作中最頻繁的需求之一把查詢(xún)結(jié)果導(dǎo)出成 Excel 或 CSV。SQL Developer 的做法是在 SQL Worksheet 里執(zhí)行查詢(xún)得到結(jié)果集右鍵結(jié)果集區(qū)域選擇導(dǎo)出格式選 CSV、Excelxlsx或 XML指定導(dǎo)出路徑和文件名這里有個(gè)容易忽略的細(xì)節(jié)導(dǎo)出 Excel 時(shí)如果數(shù)據(jù)量超過(guò) 6 萬(wàn)行會(huì)提示需要選擇 XLSX 格式因?yàn)槔鲜?XLS 格式上限是 65536 行。另外導(dǎo)出 CSV 時(shí)如果字段里有中文或特殊字符編碼建議選 UTF-8否則用 Excel 打開(kāi)可能亂碼。如果是需要把整張表的結(jié)構(gòu)和數(shù)據(jù)都搬到另一個(gè)庫(kù)可以用工具 - 數(shù)據(jù)庫(kù)導(dǎo)出向?qū)?。它可以生?DDL 腳本并導(dǎo)出數(shù)據(jù)。但說(shuō)實(shí)話(huà)如果只是小表遷移我更推薦直接用CREATE TABLE AS SELECT這種 SQL 方式簡(jiǎn)單直接。如果是幾十萬(wàn)行以上的大表用數(shù)據(jù)庫(kù)自帶的 Data Pumpexpdp/impdp效率遠(yuǎn)高于 SQL Developer 的導(dǎo)出向?qū)?。還有一個(gè)我很常用的功能從其他數(shù)據(jù)庫(kù)遷移到 Oracle。SQL Developer 自帶遷移工作臺(tái)支持從 MySQL、SQL Server、Access 等遷移到 Oracle。實(shí)測(cè)過(guò)從 MySQL 8 遷移一張帶自增主鍵、索引、外鍵的表整個(gè)流程非常順滑官方遷移向?qū)?huì)幫你把AUTO_INCREMENT轉(zhuǎn)成 Oracle 的 Identity 列把DATETIME轉(zhuǎn)成TIMESTAMP基本不用手工改 DDL。不過(guò)遷移前最好先對(duì)比一下字段類(lèi)型映射有些邊緣類(lèi)型如TINYINT(1)可能被識(shí)別為NUMBER而不是BOOLEAN需要手動(dòng)修正。4. 常見(jiàn)問(wèn)題排查與調(diào)優(yōu)4.1 啟動(dòng)慢或卡死很多用戶(hù)反映 21.4.3 啟動(dòng)特別慢雙擊圖標(biāo)后要等半分鐘甚至更久。這個(gè)問(wèn)題我排查過(guò)多次核心原因通常是兩個(gè)一是機(jī)器上 JDK 版本太老導(dǎo)致 JVM 啟動(dòng)慢。換 JDK 11 之后啟動(dòng)速度有明顯改善。二是內(nèi)存配置不合理。SQL Developer 默認(rèn)堆內(nèi)存比較保守?cái)?shù)據(jù)量大、打開(kāi)多個(gè)連接時(shí)容易頻繁 GC表現(xiàn)為界面卡頓??梢允謩?dòng)改大內(nèi)存配置文件還是剛才的sqldeveloper.conf添加或修改AddVMOption -Xms256m AddVMOption -Xmx2g-Xms是初始內(nèi)存-Xmx是最大內(nèi)存。機(jī)器內(nèi)存 8G 以下建議-Xmx1g16G 內(nèi)存建議直接給到2g。改完重啟生效。別一次給太大比如-Xmx8g反而會(huì)因?yàn)?JVM 預(yù)留過(guò)多內(nèi)存導(dǎo)致系統(tǒng)其他程序變慢。4.2 中文亂碼SQL Developer 顯示中文亂碼主要發(fā)生在三種場(chǎng)景數(shù)據(jù)庫(kù)字符集不一致、查詢(xún)結(jié)果集亂碼、導(dǎo)入導(dǎo)出文件亂碼。查詢(xún)結(jié)果亂碼最常見(jiàn)的原因是客戶(hù)端字符集和數(shù)據(jù)庫(kù)字符集不匹配。命令行下可以用SELECT USERENV(LANGUAGE) FROM DUAL;查看會(huì)話(huà)語(yǔ)言和字符集。SQL Developer 里通常不需要手動(dòng)設(shè)置 NLS_LANG它會(huì)自動(dòng)讀取 -Duser.language 參數(shù)。但如果你的系統(tǒng)默認(rèn)編碼不是 UTF-8比如 Windows 中文版 老版本 SQL Developer就會(huì)亂碼。解決辦法是在sqldeveloper.conf里加上AddVMOption -Dfile.encodingUTF-8 AddVMOption -Duser.languagezh AddVMOption -Duser.countryCN注意這三個(gè)參數(shù)要一起設(shè)只設(shè) file.encoding 可能導(dǎo)致界面菜單正常但工具欄文字顯示亂碼。改完重啟。如果你連的是 AL32UTF8 字符集的庫(kù)這套配置基本能解決 99% 的亂碼問(wèn)題。4.3 連接報(bào)錯(cuò)速查我整理了自己遇到過(guò)的幾個(gè)高頻報(bào)錯(cuò)和解決辦法錯(cuò)誤碼錯(cuò)誤信息常見(jiàn)原因解決辦法ORA-12541TNS:no listener監(jiān)聽(tīng)沒(méi)啟動(dòng)或端口不對(duì)檢查監(jiān)聽(tīng)狀態(tài)確認(rèn)端口是否是 1521ORA-12514listener does not currently know of serviceSID/服務(wù)名填錯(cuò)確認(rèn)你連的是 SID 還是服務(wù)名12c 后多租戶(hù)庫(kù)要填 PDB 的服務(wù)名ORA-01017invalid username/password用戶(hù)名或密碼錯(cuò)誤角色選錯(cuò)確認(rèn)密碼確認(rèn)角色是否是 default 或 SYSDBAORA-28040No matching authentication protocol客戶(hù)端和服務(wù)端加密協(xié)議不匹配21.4.3 連老版本 11g 數(shù)據(jù)庫(kù)時(shí)容易出現(xiàn)需要調(diào)整服務(wù)端的 SQLNET.ALLOWED_LOGON_VERSIONSocket read timed out網(wǎng)絡(luò)不通或防火墻攔截檢查網(wǎng)絡(luò)連通性telnet 測(cè)試端口其中 ORA-28040 現(xiàn)在越來(lái)越常見(jiàn)因?yàn)樾掳?SQL Developer 默認(rèn)使用新版本加密協(xié)議而 11g 或老 12.1 默認(rèn)協(xié)議較舊。這種時(shí)候通常需要 DBA 在數(shù)據(jù)庫(kù)服務(wù)器上修改sqlnet.ora加上SQLNET.ALLOWED_LOGON_VERSION_CLIENT8然后重啟監(jiān)聽(tīng)。作為客戶(hù)端這邊暫時(shí)沒(méi)有特別干凈的解決辦法建議遇到這種問(wèn)題直接找 DBA 協(xié)調(diào)別自己亂改客戶(hù)端參數(shù)。4.4 連接多套環(huán)境頻繁切換的體驗(yàn)優(yōu)化如果你的工作涉及多套環(huán)境開(kāi)發(fā)庫(kù)、測(cè)試庫(kù)、生產(chǎn)庫(kù)每個(gè)庫(kù)的賬號(hào)密碼都不一樣SQL Developer 的命名連接保存功能就很有用。在連接界面保存密碼勾選上下次打開(kāi)直接雙擊連接就能進(jìn)去。但我個(gè)人的一個(gè)習(xí)慣是生產(chǎn)庫(kù)連接從不在 SQL Developer 里保存密碼甚至連接名都寫(xiě)得很明確比如PROD_CRM_READONLY。因?yàn)樵趫F(tuán)隊(duì)協(xié)作環(huán)境里如果別人用了你的電腦而你保存了生產(chǎn)庫(kù)密碼這是很大的安全隱患。權(quán)限上能用只讀賬號(hào)就不用 DBA 賬號(hào)這是底線(xiàn)。另外一個(gè)需要留意的點(diǎn)SQL Developer 會(huì)把連接信息保存在用戶(hù)目錄下路徑大概是C:\Users\你的用戶(hù)名\AppData\Roaming\SQL Developer或~/.sqldeveloper。如果你想讓同事用自己的連接配置直接把整個(gè)文件夾拷過(guò)去覆蓋即可。但這里有個(gè)后續(xù)版本兼容問(wèn)題21.4.3 的連接配置如果被新版本比如 23.x打開(kāi)過(guò)再拿回舊版本讀取時(shí)偶爾會(huì)閃退。所以不要跨大版本覆蓋連接配置。5. 實(shí)際使用中的一點(diǎn)心得21.4.3 x64 這個(gè)版本我用了大概一年半總的來(lái)說(shuō)是 SQL Developer 進(jìn)入 21 系之后比較穩(wěn)定的大版本日常寫(xiě) SQL、調(diào)存儲(chǔ)過(guò)程、做數(shù)據(jù)對(duì)比沒(méi)出過(guò)大問(wèn)題。有一些細(xì)節(jié)上的使用習(xí)慣我覺(jué)得很值得分享。第一善用查找數(shù)據(jù)庫(kù)對(duì)象功能快捷鍵是CtrlShiftD或CtrlN不同版本略有差異可以直接搜索表名、視圖名、包名不用手動(dòng)展開(kāi)樹(shù)形目錄。表多的時(shí)候這個(gè)功能能省很多時(shí)間。第二把常用腳本存成SQL 片段。工具-首選項(xiàng)-數(shù)據(jù)庫(kù)-SQL 片段可以把SELECT * FROM table WHERE rownum100這類(lèi)高頻語(yǔ)句存進(jìn)去下次輸入簡(jiǎn)寫(xiě)自動(dòng)補(bǔ)全。我用得最多的一個(gè)片段就是查表結(jié)構(gòu)SELECT * FROM all_tab_columns WHERE table_name :tab配合綁定變量提示效率很高。第三如果你經(jīng)常要導(dǎo)數(shù)據(jù)到 Excel 給業(yè)務(wù)同事建議把導(dǎo)出的格式固定為 xlsx并且導(dǎo)出的列頭用別名標(biāo)記好中文含義。SQL Developer 支持在 SQL 里用AS 字段名指定列頭導(dǎo)出時(shí)中文列頭能正確寫(xiě)入 Excel省去業(yè)務(wù)同事再手工改列名的麻煩。其實(shí)工具這東西沒(méi)有絕對(duì)最好的只有順不順手。SQL Developer 的優(yōu)勢(shì)是免費(fèi)、官方持續(xù)更新、對(duì) Oracle 系功能支持最完整。如果你主力數(shù)據(jù)庫(kù)就是 Oracle它基本是你最省心的選擇。希望這篇基于 sqldeveloper-21.4.3.063.0100-x64 的實(shí)戰(zhàn)分享能幫你把這個(gè)工具真正用起來(lái)少踩我當(dāng)年踩過(guò)的那些坑。本文還有配套的精品資源點(diǎn)擊獲取