ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Windows下Oracle数据库安装与PL/SQL Developer配置全指南

Windows下Oracle数据库安装与PL/SQL Developer配置全指南 Oracle 数据库在很多 Java、大数据、运维和高校课程项目中都是绕不开的存储组件。和 MySQL 相比Oracle 的安装过程明显更长目录结构、服务模型、客户端连接方式也更复杂。新手第一次在 Windows 上跑通“下载、安装、配置 PL/SQL Developer、连接验证、卸载”这条完整链路往往会卡在解压路径、监听器、tnsnames.ora、环境变量这几个环节上。下面按“安装前准备 - 下载 - 安装 - PL/SQL Developer 配置 - 连接验证 - 排错 - 卸载 - 最佳实践”的完整顺序把过程一步步展开。每个步骤都会解释目的是什么、做完后如何验证、出错后往哪个方向查。适合没有接触过 Oracle 的初学者也适合需要给个人开发机或教学环境重装 Oracle 的开发者参考。1. 安装前必须搞清楚的版本、服务模型和环境要求1.1 版本选错后面的教程都会对不上号Oracle 的版本号非常多常见的有 11g、12c、18c、19c、21c、23ai。不同版本的安装界面、默认数据库名、默认服务名、是否支持多租户架构都不完全一致所以网上教程“照抄”之前先要确认教程使用的版本和你准备安装的版本是否对应。对于学习场景通常有三类选择Oracle 11g XE免费版安装包小教程资料多很多高校课程和培训资料仍在用它。缺点是版本较老新电脑上可能出现兼容性提示。Oracle 19c长期支持版本在企业中使用较广也是当前很多生产环境的常见选择。安装包较大安装过程更长。Oracle 21c XE、23ai Free 等较新版本适合体验新特性但针对性强的中文教程相对少一些。如果只是想学 SQL、做课程设计选 XE 系列会更快跑通。如果是为了提前适应公司环境建议装 19c。要注意不要从不明来源下载所谓“精简版”“绿色版”这类安装包容易被植入额外程序而且在卸载、打补丁时容易出现奇怪问题。不同版本安装完成后的默认数据库名和服务名也不同。例如 11g 的默认示例库常见为 ORCL 或 XE12c 之后引入了 CDB/PDB 多租户结构19c 默认 PDB 可能是 ORCLPDB1 或你在安装时指定的名称。下面涉及具体名称的地方请以你机器上实际安装看到的为准。1.2 安装后 Oracle 到底启动了什么安装 Oracle 并创建数据库之后Windows 服务里会出现一批以 Oracle 开头的服务其中最关键的是OracleServiceORCL对应数据库实例服务也就是承载内存结构和后台进程的核心服务。服务名里的 ORCL 通常就是实例 SID。OracleOraDB19Home1TNSListener监听器服务负责接收客户端的连接请求并把请求转发给对应实例。可以这样理解客户端要访问数据库首先连到监听器监听器根据客户端提供的服务名或 SID找到对应实例然后建立会话。所以连接失败时要判断是实例没起来、监听器没起来还是客户端提供的服务名写错了。SID 和 SERVICE_NAME 是两个容易被混淆的概念。SID 是数据库实例的系统标识SERVICE_NAME 是客户端连接时使用的服务名。在 11g 里二者通常一致在 12c 之后的多租户架构里一个实例下可能有多个 PDB每个 PDB 有对应的服务名客户端连接不同 PDB 时使用不同的 SERVICE_NAME。1.3 安装前先做一轮环境检查安装 Oracle 不像安装普通软件那样双击下一步就可以不管。建议动手前先按下面的清单检查一遍检查项建议值说明操作系统Windows 10/11 专业版或企业版家庭版也能装但部分环境可能缺少组件CPU 核心2 核及以上安装和运行都更稳定内存至少 4GB推荐 8GBXE 版本要求低一些企业版会更吃内存磁盘空间至少 10GB 可用安装包本身就有 1 到 3GB安装路径无中文、无空格例如 D:\oracle路径含中文或空格是各种诡异报错的常见来源账户权限使用管理员账户安装安装过程会写注册表和系统服务杀毒软件安装期间建议暂时退出部分安全软件会拦截安装程序写文件或注册表检查完这些再开始下载能省掉后面一大半排错时间。2. 从官网下载安装包先校验再解压2.1 官网下载的正确路径Oracle 的数据库安装包需要在官网下载下载页一般叫 Database Software Downloads。访问官网后选择数据库版本、操作系统平台点击下载即可。下载通常需要注册并登录 Oracle 账号这是正常流程。对于 XE 版本官方单独提供 Oracle Database XE 或 Oracle Database Free 下载入口安装包相对小适合学习。下载时还需要注意64 位版本和 32 位版本现在主流是 x64。安装包是完整的 ZIP 压缩包还是需要多个压缩包一起下载。有些版本会同时提供企业版和标准版初学选标准版或 XE 即可。不要在缺乏信任的小网站下载所谓“已破解”“免注册码”的安装包。这类文件无法验证完整性还可能携带恶意程序。PL/SQL Developer 同理它是一款商业软件官方提供试用版正式长期使用需要购买授权。2.2 解压路径、分卷包和文件组成安装包下载完成后不要急着双击。先确认文件大小和官网公布的大小一致有条件的话对比一下 SHA-256 校验值。如果文件名后缀是 .zip先解压再运行解压后的 setup.exe。解压时有几个关键点解压目标路径不要有中文和空格。比如解压到 D:\oracle\install不要放到 D:\软件\Oracle 安装包。如果安装包是多个 zip 分卷需要把分卷放到同一目录后按顺序解压确保文件不会缺少。11g 这类较早版本经常是两个 zip 包漏解压一个会导致安装时报“找不到文件”或“文件损坏”。解压后先看目录下有没有 setup.exe、install 文件夹、stage 文件夹这些是安装程序的关键组成。安装包解压后的目录并不是安装目录。安装程序会把文件复制到真正的 ORACLE_HOME这个过程由安装向导控制不要试图把解压目录当安装目录使用。注意整个安装过程中务必用管理员身份运行 setup.exe。右键点击 setup.exe选择“以管理员身份运行”否则安装到创建服务或写注册表步骤时可能没有权限。3. Windows 下安装 Oracle 数据库的最小完整流程3.1 创建并配置数据库以常见的企业版安装向导为例启动 setup.exe 后会经过以下几个阶段配置安全更新。这里可以取消勾选“我希望通过 My Oracle Support 接收安全更新”并点击下一步。此步骤不影响安装。选择“创建和配置数据库”。新手建议选择这个选项安装程序会在安装数据库软件的同时创建一个可用的数据库省去单独建库的步骤。如果选择“仅安装软件”后面还需要通过 DBCA 单独建库。选择系统类。桌面类适合个人机和教学环境服务器类适合生产服务器。配置选项不同新手选桌面类即可。选择企业版、标准版或 XE 版。企业版功能完整但安装体积大、内存占用高个人学习用标准版或 XE 更轻量。接下来进入数据库标识和口令设置全局数据库名常见写法是 orcl。可插拔数据库名新版安装向导会让你指定 PDB 名称例如 orclpdb1。管理员口令SYS、SYSTEM 和 PDBADMIN 等账号会使用这里设置的口令。口令需要满足复杂度要求建议包含大小写字母、数字和特殊字符并且一定要记住。安装向导中还有字符集选项。如果只在国内使用常见选择是 ZHS16GBK如果希望兼容多语言场景可以选择 AL32UTF8。字符集一旦创建数据库后修改很麻烦建议安装时就考虑清楚。3.2 等待安装并检查日志点击安装后安装进度条会经历“复制文件、链接生成、创建实例、执行配置脚本”等阶段。整个等待时间取决于磁盘性能和所选组件通常在 20 分钟到 1 小时不等。如果安装过程中弹出错误不要直接关闭安装程序。先查看日志常见日志位置在C:\Program Files\Oracle\Inventory\logs安装向导的“详细日志”也保留了报错堆栈。日志里出现的关键信息比安装界面上简单的一句“失败”有用得多。3.3 安装完成后验证服务和实例安装完成后打开 Windows 服务管理器找到 Oracle 相关的服务确认数据库服务处于“正在运行”状态。常见服务名如下表服务名作用OracleServiceORCL实例服务ORCL 是实例 SIDOracleOraDB19Home1TNSListener监听器服务OracleJobSchedulerORCL作业调度相关服务非核心OracleXETNSListenerXE 版本对应的监听器如果实例服务没有启动手动启动后再继续验证。接下来用 SQL*Plus 做本机验证打开命令行执行sqlplus / as sysdba进入 SQL*Plus 后执行SELECT instance_name, status FROM v$instance; SELECT name, open_mode FROM v$database;预期结果中实例状态是 OPEN数据库状态是 READ WRITE。如果能看到这两行输出说明数据库软件和实例基本正常。再用监听器命令验证网络层lsnrctl status输出中会出现监听节点的地址以及已注册的服务名例如 SERVICE 列表中会出现 orcl 或 orclpdb1。确认监听器在 1521 端口监听。之后还可以用 tnsping 做一次连通性检查tnsping orcltnsping 只验证服务名能否被解析、网络能否到达监听器并不验证账号密码是否正确。所以它通了只说明网络和监听层没问题。3.4 环境变量的作用和常见配置安装完成后环境变量不一定自动配置到位。为了让 sqlplus、tnsping 等命令在任意路径下可用建议配置以下环境变量变量名示例值作用ORACLE_HOMED:\app\Administrator\product\19.0.0\dbhome_1指向数据库软件安装根目录ORACLE_SIDORCL指定当前默认实例PATH追加 %ORACLE_HOME%\bin使 sqlplus、lsnrctl 等命令可用配置完成后重新打开命令提示符执行 where sqlplus 可以看到命令所在路径。如果找不到 sqlplus大概率是 PATH 没有生效或者 ORACLE_HOME 指向错误。注意ORACLE_SID 的值要和 Windows 服务中的实例名一致否则在命令行执行 sqlplus / as sysdba 时可能提示实例不存在。4. PL/SQL Developer 的安装与连接配置4.1 为什么还要装一个客户端工具Oracle 自带的 SQL*Plus 是命令行工具适合验证环境但做日常 SQL 编写、调试、表结构查看、数据导入导出时效率偏低。PL/SQL Developer 是 Windows 上常用的 Oracle 图形客户端工具提供了 SQL 窗口、命令窗口、对象浏览器、调试器等功能。需要说明的是PL/SQL Developer 是商业软件。官方提供试用版本从 Allround Automations 官网下载。正式使用请购买授权不要使用来路不明的注册码或破解文件这既涉及合规问题也无法保证文件安全。如果不希望使用商业软件Oracle 官方提供的 SQL Developer 是免费替代方案DBeaver 也支持连接 Oracle。文章后面仍以 PL/SQL Developer 为例因为它在国内教学和工作环境中使用很普遍。4.2 安装 PL/SQL Developer 并设置 OCI 库PL/SQL Developer 的安装过程比较简单下载安装包后一路 Next 即可。安装目录同样建议放在无中文、无空格的路径下比如 D:\PLSQLDeveloper。最容易出错的是首次启动时的连接配置。PL/SQL Developer 本身不包含 Oracle 客户端它依赖 OCIOracle Call Interface库来访问数据库。如果在安装 Oracle 的同一台机器上使用可以在安装 Oracle 后直接指定 ORACLE_HOME 下的 OCI 库如果是在没有安装 Oracle 的机器上远程连接需要先安装 Oracle Instant Client。安装完成后打开 PL/SQL Developer。首次启动会提示输入注册信息选择试用即可。进入主界面后在菜单栏选择 Tools - Preferences - Connection设置Oracle Home选择本机安装的 Oracle 主目录。OCI library选择 oci.dll 的完整路径。设置完成后保存重启 PL/SQL Developer确保 OCI 配置生效。位数匹配问题是一个高频坑如果本机安装的是 64 位 OraclePL/SQL Developer 也要使用 64 位版本或者使用 64 位 OCI 库。如果 PL/SQL Developer 是 32 位版本却指向 64 位 Oracle 的 oci.dll会出现无法加载 OCI 库、启动即报错的问题。新版 PL/SQL Developer 已经提供 64 位版本下载时注意区分。4.3 配置 tnsnames.ora 或使用直连方式PL/SQL Developer 连接 Oracle 有两种常见方式通过服务命名也就是读取 tnsnames.ora 中的配置在登录框的 Database 下拉列表里选择服务名。直接填写 host:port/service_name不依赖 tnsnames.ora。tnsnames.ora 文件通常位于 ORACLE_HOME 下的 network\admin 目录例如D:\app\Administrator\product\19.0.0\dbhome_1\network\admin\tnsnames.ora文件内容示例ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) ) ORCLPDB1 (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orclpdb1) ) )修改 tnsnames.ora 后不需要重启监听器但要保证文件编码保存正确避免中文注释导致解析失败。建议先用记事本检查确认没有乱码。如果客户端在远程机器上tnsnames.ora 里的 HOST 要填数据库服务器的 IP 或主机名不能写 localhost。4.4 第一次登录并验证 SQL 执行打开 PL/SQL Developer 登录窗口填写以下信息Usernamesystem也可以用 sys。Password安装数据库时设置的口令。Database选择 tnsnames.ora 中配置的服务名例如 ORCLPDB1。Connect as普通账号选 Normalsys 账号选 SYSDBA。点击 OK 后如果进入主界面连接成功。在 SQL 窗口执行最简单的验证语句SELECT 1 FROM dual;能返回数字 1说明 SQL 执行链路正常。再多做一步查询当前数据库名和实例状态SELECT name FROM
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进