在日常使用中,如果只是通过 SQL*Plus 或 SQL Developer 连接 Oracle 数据库,其实并不需要安装完整的 Oracle 客户端。
Oracle 官方提供了一个轻量级客户端 ------ Instant Client:
- 体积小(几十 MB)
- 安装简单
- 功能够用(支持 sqlplus、JDBC、ODBC 等)
本文以 Windows 64 位 为例,介绍如何通过 Instant Client + SQL*Plus 连接 Oracle 数据库。
一、准备工作说明
为什么不用完整 Oracle 客户端?
完整 Oracle Client:
- 安装包几百 MB
- 配置步骤多
- 对只做连接测试或日常查询来说偏重
Instant Client:
- 只需解压
- 无需复杂安装
- 非常适合开发、运维、测试场景
二、下载 Instant Client 和 SQL*Plus
1️⃣ 下载地址
Oracle 官方下载页面:
https://www.oracle.com/database/technologies/instant-client/downloads.html
2️⃣ 选择版本
- 操作系统:Windows x64
- Instant Client 版本:示例使用 21.10(也可选择其他稳定版本)
3️⃣ 需要下载的两个包
在下载列表中,至少需要以下两个文件:
- Instant Client Basic Package
- Instant Client SQL*Plus Package
注意:
只下载 Basic 包是无法使用 sqlplus 的,必须额外下载 sqlplus 工具包。
三、解压并合并文件
1️⃣ 解压到同一目录
例如创建目录:
X:\Oracle\
将两个压缩包解压到同一个目录下,最终结构类似:
X:\Oracle\
└─ instantclient_21_10\
├─ sqlplus.exe
├─ oci.dll
├─ oraocci21.dll
└─ ...
⚠️ 关键点:
- Basic 包和 sqlplus 包必须解压到同一个
instantclient_xx_xx目录中 - 不要嵌套多层目录
四、配置系统环境变量
1️⃣ 配置 PATH
将 Instant Client 目录加入系统 PATH,例如:
X:\Oracle\instantclient_21_10
2️⃣ 新增环境变量(推荐)
| 变量名 | 说明 |
|---|---|
NLS_LANG |
客户端字符集 |
TNS_ADMIN |
tnsnames.ora 文件所在目录 |
示例:
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
TNS_ADMIN=X:\Oracle\instantclient_21_10
如果数据库字符集是 UTF8,可根据实际情况调整
NLS_LANG
五、配置 tnsnames.ora
在目录:
X:\Oracle\instantclient_21_10
新建文件 tnsnames.ora,示例如下:
ini
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.being.com)
)
)
参数说明:
| 配置项 | 说明 |
|---|---|
orcl |
本地连接别名 |
HOST |
Oracle 服务器 IP |
PORT |
监听端口(默认 1521) |
SERVICE_NAME |
数据库服务名 |
六、使用 SQL*Plus 测试连接
方式一:使用 tnsnames.ora 别名
打开 cmd,执行:
bash
sqlplus username/password@orcl
方式二:使用 EZCONNECT 直连
无需配置 tnsnames.ora:
bash
sqlplus username/password@192.168.0.102:1521/orcl
如果成功进入:
SQL>
说明连接配置完成 🎉
七、常见问题提醒
-
sqlplus 不是内部或外部命令
- 检查 PATH 是否配置正确
-
ORA-12154
- tnsnames.ora 配置错误或 TNS_ADMIN 未生效
-
乱码问题
- 检查
NLS_LANG是否与数据库字符集匹配
- 检查