如何在Windows11系统上正确安装Oracle19c客户端?

老宇君_8438

老宇君_8438

2026-11-01

648人浏览

原创

Oracle 19c 客户端不能直接复用服务端 bin 目录,因其强依赖绑定路径的 oci.dll、oraclient19.dll 及 network\admin 配置结构,脱离原安装环境即报 ORA-12154、OCI.dll not found 或 TNS-03505;必须单独安装 Instant Client(仅连接)或 Database Client(含 expdp/rman 等)。

如何在windows11系统上正确安装oracle19c客户端?

Oracle 19c 客户端在 Windows 11 上可以正常安装,但不能直接复用服务端安装包里的 client 目录,必须单独下载并安装 Oracle Instant Client 或完整客户端(Oracle Database Client),否则 sqlplus、tnsping 等工具会缺失依赖或报 ORA-12154、OCI.dll not found。


为什么不能直接用服务端的 bin 目录当客户端?

Windows 11 下,服务端安装目录(如 D:\app\oracle\product\19.3\db_1\bin)虽含 sqlplus.exe,但它强依赖同级 oci.dll 和大量内部 DLL(如 oraclient19.dll、orageneric19.dll),且这些 DLL 又绑定特定路径下的 network\admin 配置结构。
直接拷贝 bin 到其他机器或用户环境,大概率触发:

  • sqlplus /nolog 启动即闪退或报错
  • tnsping ORCL 提示 TNS-03505: Failed to resolve name(因找不到 tnsnames.ora 搜索路径)
  • 第三方工具(如 Navicat、DBeaver)连接时报 ORA-12560: TNS:protocol adapter error(OCI 初始化失败)

根本原因:服务端的运行时环境是“绑定安装路径 + 注册表 + 系统服务”的整体,不可移植。


该用 Instant Client 还是 Database Client?

取决于你的真实需求:

  • 只连远程 Oracle 数据库(如云 RAC、公司测试库) → 用 Oracle Instant Client(轻量、免安装、绿色)
  • 需要运行 expdp/impdp、rman、dbca 或本地监听配置 → 必须装 Oracle Database Client(完整版,带 GUI 和命令行工具集)

两者都支持 Windows 11,但 Instant Client 不包含 tnsping、sqlldr、exp/imp(旧版导出工具),而 Database Client 全都有。

注意:Oracle Instant Client Basic 和 Basic Light 均不含 sqlplus;要命令行交互,必须额外下载 Instant Client SQL*Plus 包,并确保版本号严格一致(例如都是 19.22.0.0.0)。

windows-screenshot-ocr
windows-screenshot-ocr

Windows全屏截图(自动标记鼠标位置)+ 原生OCR文字识别。本地运行,无需联网和API Key,适用于截图分析和自动化OCR场景。

下载

安装 Instant Client 的关键实操步骤

  • 下载地址:https://www.php.cn/link/c4a0727b5773cede3b2b960165f11c3a
  • 必须下载两个 ZIP 包(版本号完全一致):
    • instantclient-basic-windows.x64-19.22.0.0.0dbru.zip
    • instantclient-sqlplus-windows.x64-19.22.0.0.0dbru.zip
  • 解压到纯英文无空格路径,例如:D:\oracle\instantclient_19_22
  • 设置系统环境变量(管理员权限下操作):
    • PATH 开头追加:D:\oracle\instantclient_19_22
    • TNS_ADMIN 新增,值为:D:\oracle\instantclient_19_22\network\admin(该目录需手动创建)
  • 在 TNS_ADMIN 目录下新建 tnsnames.ora,内容示例:
    ORCL =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
      (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = orcl)
      )
    )
    
  • 验证:CMD 中执行 tnsping ORCL 和 sqlplus username/password@ORCL

⚠️ 常见坑:

  • tnsping 成功但 sqlplus 报 ORA-12154 → 检查 TNS_ADMIN 是否生效(echo %TNS_ADMIN%),或 tnsnames.ora 文件编码是否为 ANSI(非 UTF-8 BOM)
  • sqlplus 启动后中文乱码 → 在 CMD 属性中将字体改为「Lucida Console」或「Consolas」,并执行 chcp 437(非 chcp 65001)

Database Client 安装时最易忽略的三件事

  • 安装程序仍会检查 Windows 版本 → 若弹出“不支持当前操作系统”,右键 setup.exe → 属性 → 兼容性 → 勾选「以兼容模式运行」→ 选 Windows 10,再以管理员身份运行;若仍失败,CMD 管理员窗口中执行:setup.exe -ignoreSysPrereqs -ignorePrereq
  • 安装类型必须选「Administrator」(不是 Runtime 或 Custom)→ 否则 netca(网络配置助手)和 tnsping 不会被安装
  • 安装完成不要急着配 tnsnames.ora → 先运行一次 netca(图形向导),它会自动创建 %ORACLE_HOME%\network\admin 并写入默认 sqlnet.ora,避免后续手工配置路径错位

最后确认:打开 CMD,输入 where tnsping 和 where sqlplus,输出路径应同属一个 %ORACLE_HOME%\bin,否则说明环境变量污染或多个 Oracle 客户端冲突。

Windows 11 的 UAC 和 Defender 对注册表写入更敏感,Database Client 安装过程中若卡在“正在注册产品”,请临时禁用 Windows Defender 实时防护——这不是可选项,是必要动作。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle windows windows11

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

2023.08.16

1061

5

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

2023.09.15

3153

5

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

2023.09.18

3150

5

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

2023.09.19

1789

3

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2023.09.19

2413

7

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

2023.09.19

3309

4

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4749

19

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.08

257

5

oracle四舍五入怎么操作
oracle四舍五入怎么操作

oracle四舍五入操作可以使用ROUND函数来实现,其语法为“ROUND(number, decimal_places)”,其中,number是要进行四舍五入的数值,decimal_places是指定的小数位数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.14

866

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程