尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

PLSQL Developer免安装版制作指南:集成Instant Client实现解压即用

PLSQL Developer免安装版制作指南:集成Instant Client实现解压即用 简介PLSQL Developer 15.0.2 x64免安装集成版专为Oracle开发人员与DBA打造解压即用内置64位Oracle 21.6驱动无需单独安装客户端即可直连云端或本地最新数据库实例。压缩包为7z格式共1377个文件体积73.08MB以png、svg、bmp、ico等图形资源与tpl界面模板为主辅以dll运行库、sql脚本、cpp源码和exe可执行程序形成一套完整绿色工具链目录结构层次分明便于按需检索和二次定制。功能上涵盖SQL编辑器语法高亮与自动完成、PL/SQL断点调试、数据增删改查、表/视图/存储过程等对象管理、导入导出、SVN/Git版本控制集成、作业调度、多连接切换和性能监控无论是快速编写存储过程、排查性能瓶颈还是管理多环境实例都能游刃有余。该资源已有594人学习下载尤其适合需在多台机器快速部署Oracle工作环境的工程师以及教学演示与应急维护场景是一份免安装、省配置、开箱即用的高效数据库管理利器。1. 为什么我会折腾一个免安装版的PLSQL Developer最近帮几个同事配Oracle开发环境每次都要重新下载安装包、装Oracle客户端、配环境变量、折腾tnsnames.ora一套流程下来少说半小时起步。最烦的是不同机器上装出来的效果还不一样有人装完连不上库有人启动就报错有人中文显示乱码。次数多了我就琢磨能不能做一个免安装版本解压就能用省掉这些重复劳动。PLSQL Developer这个工具本身其实是个绿色软件安装过程大部分工作就是把文件拷到指定目录、写注册表、配置OCI库路径。换个思路想如果我把官方安装版装好、配置好再把整个目录压缩打包理论上到另一台机器上照样能跑。再加上PLSQL Developer连接Oracle数据库必须依赖Oracle客户端组件OCI那我顺手把Oracle Instant Client也集成进去做到零依赖、解压即用这不就一劳永逸了当时我用的版本是PLSQL Developer 15.0.2 x64对应的Oracle客户端选了Instant Client 19c这个组合在Windows 10/11 x64下实测很稳。整个打包过程踩了不少坑比如OCI库版本匹配、tnsnames.ora路径、中文乱码、注册码失效这些一步步理清楚之后其实原理并不复杂。这篇文章就把我的完整方案写出来包括目录结构、配置要点、常见问题和排查思路给有同样需求的人一个可以直接抄作业的参考。如果你正在用PLSQL Developer连接Oracle数据库或者经常需要在不同电脑之间切换开发环境这篇文章应该对你有用。哪怕你只是手头电脑装不上Oracle完整客户端也可以从这里找到解决办法。2. 免安装版的原理搞清楚PLSQL Developer到底依赖什么想做好免安装先得弄明白这个工具的运行机制。2.1 PLSQL Developer本身确实是绿色软件先说结论PLSQL Developer本体不依赖安装程序。官方提供的安装包实质工作就是释放文件到安装目录然后在注册表里写一些配置项。真正运行的时候它读的是安装目录下的可执行文件、插件目录、偏好设置文件注册表只是辅助。所以我做了个实验用官方安装包装好PLSQL Developer 15.0.2把整个安装目录直接拷到另一台没装过的电脑上双击exe照样能启动。这个特性是后续做免安装的前提。2.2 真正麻烦的是Oracle客户端OCIPLSQL Developer本身不直接和数据库通信它是通过Oracle客户端接口Oracle Call Interface即OCI来连接数据库的。这个OCI不是一个单独的文件而是一整套动态链接库和配置文件由Oracle客户端提供。如果没有装Oracle客户端或Oracle数据库服务端PLSQL Developer启动时会报这个经典错误Initialization error Could not initialize ....OCIDLL.dll Make sure you have the 32bit Oracle Client installed这就是为什么单纯拷一个PLSQL Developer目录过去根本连不上数据库的原因——缺了OCI这一层。2.3 Instant Client解决OCI依赖的关键Oracle官方提供了一个轻量级客户端叫Instant Client不用安装解压即用只要几十到几百MB。它包含了PLSQL Developer连接数据库所需的OCI核心组件ocidll、ociw32dll等。把Instant Client和PLSQL Developer放在同一个免安装包里面就齐活了。选型的时候注意两点位数必须一致PLSQL Developer 15.0.2 x64版配Instant Client x64你要是混搭了32位的Instant Client还是跑不起来。同理如果你用的是32位的PLSQL Developer就得配32位Instant Client。版本向下兼容Instant Client 19c可以连接Oracle 11g到19c的数据库覆盖了我日常碰到的大部分场景。如果你们库是老版本比如Oracle 9i/10g那建议选Instant Client 12c或11g版本兼容性更好。下表是我测过的几个组合PLSQL Developer版本Instant Client版本连接Oracle 11g连接Oracle 12c/19c兼容性说明15.0.2 x6419c x64可以可以推荐组合15.0.2 x6412.2 x64可以可以老库更稳12.x 32位11.2 32位可以一般老版本工具慎选2.4 免安装包的技术构成总结一个可用的PLSQL Developer免安装包本质上是这样的结构工具目录/ ├── PLSQL Developer主程序、插件、语言文件 ├── Instant ClientOCI依赖组件 └── 配置文件tnsnames.ora、sqlnet.ora等理解了这一层后面那些报错就都好判断了——无非是哪个依赖没找到、路径没配对、或者位数不一致。这个思路跟很多绿色软件的打包逻辑是一致的只是Oracle的OCI体系比普通软件稍微绕一点。3. 集成Oracle Instant Client目录布局与配置细节3.1 推荐的文件目录结构我最终采用的目录结构是这样的你可以直接照搬D:\PLSQL_Green\ ├── PLSQL\ # PLSQL Developer主目录 │ ├── plsqldev.exe │ ├── PlugIns\ │ ├── Language\ # 语言文件 │ └── ... ├── instantclient_19c\ # Oracle Instant Client目录 │ ├── oci.dll │ ├── tnsnames.ora │ ├── sqlnet.ora │ └── ... └── 使用说明.txt这里有个非常关键的细节目录路径尽量不要带中文和空格。我曾经放在C:\Users\张三\Desktop\PLSQL绿色版下面结果PLSQL Developer在加载OCI库时路径解析出错折腾了半天才找到问题。放到D:\PLSQL_Green这类纯英文路径下什么问题都没有。3.2 配置tnsnames.ora文件tnsnames.ora是Oracle客户端的通讯录里面定义了连接标识符和对应的数据库地址。把这个文件直接放在Instant Client目录下然后在PLSQL Developer里指定要读取的目录即可。一个典型的tnsnames.ora内容如下ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 192.168.1.100)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) )有几个常见配置误区要提醒HOST不要写localhost或127.0.0.1除非你的数据库就在本机。很多新手在这里被卡住。PORT默认是1521如果你们DBA改过端口记得同步修改。SERVICE_NAME要问DBA要准确值不是随便猜的。3.3 配置sqlnet.ora可选但建议sqlnet.ora主要控制连接行为和诊断参数。最简单的配置只需要一行SQLNET.AUTHENTICATION_SERVICES (NONE)这个设置会避开Windows操作系统认证的干扰。如果有些场景需要本机sysdba登录管理可以改为SQLNET.AUTHENTICATION_SERVICES (NTS)接下来在PLSQL Developer里把OCI库指向Instant Client目录。打开PLSQL Developer进入Tools工具→ Preferences首选项→ Connection连接做两件事Oracle Home选择Instant Client的目录比如D:\PLSQL_Green\instantclient_19cOCI library选择该目录下的oci.dll文件填好之后点Apply应用重启PLSQL Developer它就能通过这个OCI库读取tnsnames.ora在登录界面的Database下拉框里看到你配置的连接标识符比如ORCL。3.4 潜在的用户目录问题PLSQL Developer会把用户偏好配置存在两个位置一个在安装目录下的user.prefs文件另一个在用户文档目录下的Preferences文件夹。免安装版由于目录可以随处移动第一次启动时可能提示找不到用户偏好文件这通常没影响让它重建一个就行。4. 开始打包做一个真正解压即用的7z压缩包4.1 打包前的检查清单在我把整个目录压成7z之前先在当前目录下做了最后一遍运行测试确认以下项目全部通过双击plsqldev.exe能正常启动无报错弹窗登录界面能正常显示Database下拉列表用测试账号成功连上开发库在SQL Window里执行SELECT 1 FROM DUAL返回正确结果中文查询结果能正常显示这五步都过了打包才是有意义的。否则压缩包里带的是一堆有问题的文件到处分发等于到处埋雷。4.2 7z打包参数与策略推荐使用7-Zip压缩比高、免安装、命令行友好。我用的是标准压缩算法参数如下7z a -t7z -mx5 -mmton PLSQL_15.0.2_x64_Green.7z D:\PLSQL_Green\*-mx5压缩等级取中间值兼顾压缩率和打包速度-mmton开启多线程多核CPU上能快不少-t7z指定7z格式压缩后我的包大概在300MB左右。如果你是通过网络分发这个大小可以接受。如果是U盘拷贝那更没问题。如果你想进一步压缩体积有两个思路排除非必要文件比如语言文件里你只保留简体中文和英语把其他语言目录删掉清理Help文档和示例这些在实际开发中很少翻但占空间4.3 压缩过程中需要注意的坑打包前一定要先退出PLSQL Developer进程否则它在运行中会占用文件句柄压缩出来的包可能缺文件或者损坏。另外杀毒软件有时候会误报plsqldev.exe或oci.dll。这是PLSQL Developer和Oracle客户端的常见问题不是因为包有毒。我在多台机器上实测过Windows Defender和360都会偶尔拦截。遇到这种情况添加信任目录就行。给同事们分发时也要提前打好招呼免得他们以为我发的包有问题。5. 首次部署实测新电脑上用免安装包连Oracle全流程到这里文章才算是到了见证成果的环节。我拿一台从未装过Oracle的Windows 11 x64电脑做了一次完整测试全流程记录下来你可以按这个步骤一步步来。5.1 解压与启动解压PLSQL_15.0.2_x64_Green.7z到目标目录建议放在D:\PLSQL_Green或者C:\PLSQL_Green这种路径。右键解压就行这里没什么技术含量唯一要注意的就是压缩包里的所有内容要保证解压完整。我的习惯是先看文件总数和总大小跟压缩包属性对比一下确认没漏文件。解压完成后双击D:\PLSQL_Green\PLSQL\plsqldev.exe正常情况会直接进入登录界面没有任何报错。5.2 登录连接测试启动后会看到登录窗口在Username、Password里输入数据库账号Database下拉框里选择tnsnames.ora里配置的连接标识符比如ORCLConnect as选Normal。点击OK如果顺利的话就能进入主界面整个启动到登录的过程也就十几秒。如果Database下拉框是空的那就说明PLSQL Developer没能从你指定的Instant Client目录里读到tnsnames.ora。这时按顺序排查打开Tools工具→ Preferences首选项→ Connection连接确认Oracle Home和OCI library路径是否正确确认tnsnames.ora是否真的存在于Instant Client目录下文件名拼写是否正确少个s、多个空格都不行用文本编辑器打开tnsnames.ora确认内容格式正确括号是否配对重启PLSQL Developer再看一次5.3 验证中文显示与SQL执行登录成功后打开SQL WindowSQL窗口执行一条简单SQL验证连接没问题SELECT SYSDATE FROM DUAL;如果返回了当前数据库时间说明连接正常。再执行一条带中文的SQL验证字符集配置SELECT 中文测试 FROM DUAL;如果返回的问号或者乱码那十有八九是NLS_LANG环境变量没配好。在系统环境变量里加上NLS_LANGSIMPLIFIED CHINESE_CHINA.ZHS16GBK如果你们数据库的字符集是AL32UTF8则需要设为NLS_LANGSIMPLIFIED CHINESE_CHINA.AL32UTF8具体用哪个得看SELECT USERENV(LANGUAGE) FROM DUAL的返回值。这个细节我在第6节专门展开讲因为它坑了很多人。6. 部署之后的三大高频问题乱码、注册码、权限6.1 中文乱码90%是NLS_LANG设置问题乱码问题在免安装版里特别常见因为免安装版没有安装器的帮忙环境变量全靠自己配。乱码分两种情况界面乱码PLSQL Developer的菜单和按钮显示成方块或乱码。这个其实和数据库没关系是工具界面语言包的问题。在Tools → Preferences → User Interface → Language里选Chinese或者简体中文重启就好了。查询结果乱码SQL窗口里查出来的中文显示乱码。这个就是NLS_LANG和数据库字符集不匹配导致的。判断依据是执行这条SQLSELECT USERENV(LANGUAGE) FROM DUAL;如果你的数据库返回的是SIMPLIFIED CHINESE_CHINA.AL32UTF8那环境变量就设AL32UTF8版本如果返回SIMPLIFIED CHINESE_CHINA.ZHS16GBK就设GBK版本。这个方向搞对乱码基本能解决。我的经验是旧库Oracle 11g及之前通常用ZHS16GBK新库12c以上倾向AL32UTF8。但别猜查它一下最稳。6.2 注册码免安装版如何保留激活信息PLSQL Developer 15.0.2是商业软件需要注册码才能正常使用不然只有30天试用期。注册信息会存在用户偏好文件里具体位置在工具目录下的user.prefs文件或者当前Windows用户目录的Preferences文件夹下。如果你在自己电脑上激活了注册信息其实是被写到了Preferences目录下的user.prefs里。要做免安装分发可以把激活后的user.prefs一并打包进去。但这里我不展开具体怎么获取注册码只说机制——因为这个文件包含了偏好设置和注册信息所以你完全可以自己激活后取出这个文件放入包里。有一点要特别提醒分发商业软件的注册信息可能涉及版权问题所以如果你是给团队做内部工具建议让每个同事用自己合法的注册码。你可以做一个不带注册码的干净包让各自激活也可以出一份激活配置说明文档避免法律风险。如果你没有授权也可以选择官方免费的试用版只是每次打开会提示剩余天数。这个提示不影响基本使用但对于长期开发来说还是不太方便所以我个人建议优先解决授权问题再分发。6.3 权限问题Windows 10/11下最常见的启动失败在Windows 10/11上免安装版最容易踩的坑就是权限。如果是放在C:\Program Files这类系统保护目录下双击exe可能直接没反应或者提示权限不足。因为PLSQL Developer会往自己的安装目录写入user.prefs等配置文件普通用户权限写不进去。解决办法有几个按推荐顺序排列把整个目录放在普通用户可写的位置比如D:\PLSQL_Green而不是Program Files右键plsqldev.exe → 属性 → 兼容性 → 勾选以管理员身份运行此程序在目录上右键 → 属性 → 安全 → 给Users用户组添加完全控制权限我的做法是三者结合放在D盘根目录然后给Users用户组写权限再把以管理员身份运行勾上。这样同事们的电脑上基本不会出幺蛾子。如果你是企业域环境还有可能遇到组策略限制禁止在非Program Files目录运行exe。这种情况就得找IT管理员加白名单这属于管理层面的问题了不是技术能绕过去的。7. 目录写权限的一个隐藏坑说到权限我想起来一个特别隐蔽的问题值得单独拎出来讲讲。很多人在自己电脑上用管理员账号测试免安装包一切正常但同事们用的是普通域账号就出问题了。症状是PLSQL Developer能打开但每次启动都恢复默认设置比如你设置好的字体、颜色方案、快捷键重启之后全没了。这个现象的根本原因是普通用户对安装目录没有写权限PLSQL Developer的偏好设置文件user.prefs写不进去所以每次启动只能读不到就重建一个默认的然后关闭时又写不回去等于无效。解决方式我在上一节提到过在目录安全属性里给Users用户组加修改权限。具体操作是右键PLSQL_Green目录 → 属性 → 安全点击编辑 → 添加输入Users点击检查名称在权限列表里勾选修改和写入应用确定做完这一步普通域账号启动PLSQL Developer后偏好修改就能正常保存了。这个坑我当初排查了一下午才定位到因为自己测试永远用的是管理员根本复现不了同事的问题。8. 分发与后续维护几个实用建议8.1 写给初次使用者的说明文件免安装包做出来如果只丢给同事一个压缩包他们还是不会用。我专门写了一份使用说明.txt放在包根目录内容包括解压路径要求纯英文路径、放在D盘或者C盘非系统保护目录启动方式双击plsqldev.exe建议右键属性勾选管理员权限登录配置步骤选择Oracle Home、OCI库路径、tnsnames.ora乱码处理方案NLS_LANG配置方法杀毒软件误报说明添加信任目录这份说明文件真的帮我省了很多事。以前同事问为什么连不上我远程看半天现在直接让他们看说明按步骤排查80%的问题都能自行解决。8.2 多版本维护的问题有段时间我同时维护着两个包的版本一个是PLSQL Developer 15.0.2 x64对应Instant Client 19c另一个是旧工具配Instant Client 12c因为有些老系统只支持老客户端。时间长了容易搞混所以我在压缩包命名上花了点功夫PLSQL_15.0.2_x64_IC19c_Green.7z PLSQL_12.1_x86_IC12c_Green.7z把工具版本、位数、客户端版本都体现在文件名里至少自己不会搞混。如果你也有多个环境建议学这个命名方式。8.3 包的体积优化和更新频率个人使用的话包越精简越好。如果你是维护团队环境我建议在每次数据库环境有大升级时重新做一版比如从Oracle 12c升到19c该换Instant Client就换该调整NLS_LANG就调整。平时小维护没必要重新打包分发一份说明文件就够了。8.4 关于更新机制的一个想法免安装版的免是优点也是缺点。官方安装版可以通过自带的检查更新功能升级但我们这个绿色的包得手动替换。我的做法是建立一个共享目录比如公司内网的共享盘把最新版本放上去顺便写清楚版本更新记录。同事要升级就自己下载替换最多花五分钟不用等我挨个帮他们弄。9. 个人使用体验总结这套免安装方案我在团队里用了大半年说几点真实感受最直观的好处是省时。以前新同事入职配环境我得在旁边看他装Oracle客户端、配环境变量一折腾就是半小时。现在直接把压缩包发过去让他解压、看说明、配一下登录参数十分钟之内就能连上库干活。IT支持的工作量降了不止一半。稳定性方面目前没有发现比标准安装版更差的情况。毕竟PLSQL Developer本身是绿色软件Instant Client是官方免安装组件两者的组合在原理上就没有安装式软件那些花里胡哨的注册表和系统目录依赖跑起来反而更清爽不会有残留服务、自动更新这些幺蛾子。缺点也有。一是杀毒软件偶尔误报需要提前跟同事打招呼二是没有开始菜单快捷方式和卸载入口某些习惯安装式操作的人会不适应三是平台路径绑定太死要固定在某个目录下运行换位置要更新配置。但总体而言对于Oracle开发环境这种重依赖场景免安装集成包的优点远大于缺点。如果你也被Oracle环境折腾过不妨试试自己做一个。只要按本文的方案走一遍你也能拥有一个走到哪用到哪的PLSQL Developer。最后分享一个我自己的习惯打包完成之后我会额外压缩一个只包含Instant Client目录的小包单独留存。因为Instant Client是通用的以后换了新版本的PLSQL Developer或者要给别的工具用直接拿这个就能用不用整个大包重新解压。这种细节用到的时候才发现能省很多事。本文还有配套的精品资源点击获取
返回列表