Skip to content

Oracle 客户端安装

客户端安装前准备

系统要求

Windows 系统

  • 操作系统:Windows 10 (64-bit)、Windows 11 (64-bit)、Windows Server 2016/2019/2022
  • 内存:至少 2GB RAM
  • 磁盘空间:至少 1.5GB 可用空间
  • 处理器:至少 1GHz 处理器,推荐 2GHz 或更高
  • 网络:100Mbps 或更快的网络连接

Linux 系统

  • 操作系统:Red Hat Enterprise Linux 7.5+、Oracle Linux 7.5+、SUSE Linux Enterprise Server 12+、Ubuntu 18.04+ (64-bit)
  • 内存:至少 2GB RAM
  • 磁盘空间:至少 1.5GB 可用空间
  • 处理器:至少 1GHz 处理器,推荐 2GHz 或更高
  • 网络:100Mbps 或更快的网络连接

macOS 系统

  • 操作系统:macOS 10.15 (Catalina) 或更高版本
  • 内存:至少 2GB RAM
  • 磁盘空间:至少 1.5GB 可用空间
  • 处理器:Intel 或 Apple Silicon 处理器

软件准备

  1. 下载 Oracle 客户端软件

    • 从 Oracle 官方网站下载对应版本的客户端软件
    • 选择适合的客户端类型:
      • Instant Client:轻量级客户端,适合简单连接需求
      • Full Client:完整客户端,包含所有工具和功能
      • Administrator:管理员客户端,包含完整管理工具
  2. 验证安装包完整性

    • 检查下载文件的 MD5 或 SHA256 哈希值
    • 确保下载的安装包与官方提供的哈希值匹配

网络准备

  1. 确认网络连接

    • 确保客户端机器能够连接到 Oracle 数据库服务器
    • 测试网络连通性:ping <数据库服务器IP>
  2. 确认端口可达

    • 测试数据库监听端口是否可达:telnet <数据库服务器IP> <监听端口>(默认端口 1521)
  3. DNS 配置

    • 确保客户端机器能够解析数据库服务器的主机名
    • 如需使用主机名连接,确保 DNS 配置正确或在 hosts 文件中添加相应条目

Windows 系统客户端安装

完整客户端安装

  1. 启动安装程序

    • 双击下载的 Oracle 客户端安装程序
    • 在欢迎界面点击"下一步"
  2. 选择安装类型

    • 选择"管理员"或"完整"安装类型
    • 点击"下一步"
  3. 指定安装位置

    • 接受默认安装路径或点击"浏览"选择自定义路径
    • 点击"下一步"
  4. 执行先决条件检查

    • 安装程序会自动检查系统是否满足安装要求
    • 如有警告,根据提示进行修复
    • 点击"下一步"
  5. 配置安全更新

    • 可选:填写电子邮件地址以接收安全更新
    • 或选择"我希望通过 My Oracle Support 接收安全更新"并填写账户信息
    • 点击"下一步"
  6. 查看安装摘要

    • 确认安装配置信息
    • 点击"安装"
  7. 完成安装

    • 等待安装过程完成
    • 点击"完成"

Instant Client 安装

  1. 下载 Instant Client 包

    • 从 Oracle 官方网站下载 Instant Client 基本包和所需的附加包(如 SQL*Plus)
  2. 解压安装包

    • 创建一个目录,例如 C:\oracle\instantclient_21_3
    • 将下载的所有 ZIP 文件解压到该目录
  3. 配置环境变量

    • 右键点击"此电脑" → "属性" → "高级系统设置" → "环境变量"
    • 在"系统变量"中添加或修改以下变量:
      • ORACLE_HOME:设置为 Instant Client 目录路径(例如 C:\oracle\instantclient_21_3
      • PATH:在末尾添加 ;%ORACLE_HOME%
      • TNS_ADMIN:可选,设置为存放 tnsnames.ora 文件的目录
  4. 创建网络配置文件

    • %ORACLE_HOME% 目录下创建 network\admin 子目录
    • 在该目录中创建 tnsnames.ora 文件,配置数据库连接信息

Linux 系统客户端安装

RPM 包安装

  1. 下载 RPM 包

    • 从 Oracle 官方网站下载对应版本的 Oracle 客户端 RPM 包
  2. 安装依赖包

    • 以 root 用户身份执行:
      bash
      yum install -y libaio glibc libnsl compat-libcap1
  3. 安装客户端包

    • 以 root 用户身份执行:
      bash
      rpm -ivh oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
      rpm -ivh oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm
      rpm -ivh oracle-instantclient19.3-devel-19.3.0.0.0-1.x86_64.rpm

ZIP 包安装(Instant Client)

  1. 下载 ZIP 包

    • 从 Oracle 官方网站下载 Instant Client 基本包和所需的附加包
  2. 解压安装包

    • 创建安装目录:
      bash
      mkdir -p /opt/oracle/instantclient_21_3
    • 解压所有 ZIP 文件到该目录:
      bash
      unzip oracle-instantclient-basic-linux.x64-21.3.0.0.0.zip -d /opt/oracle/
      unzip oracle-instantclient-sqlplus-linux.x64-21.3.0.0.0.zip -d /opt/oracle/
  3. 配置环境变量

    • 编辑 /etc/profile/home/<用户>/.bash_profile 文件,添加以下内容:
      bash
      export ORACLE_HOME=/opt/oracle/instantclient_21_3
      export PATH=$ORACLE_HOME:$PATH
      export TNS_ADMIN=$ORACLE_HOME/network/admin
      export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
    • 使环境变量生效:
      bash
      source /etc/profile  # 或 source ~/.bash_profile
  4. 创建网络配置目录

    • 创建 tnsnames.ora 文件存放目录:
      bash
      mkdir -p $ORACLE_HOME/network/admin

macOS 系统客户端安装

DMG 包安装

  1. 下载 DMG 包

    • 从 Oracle 官方网站下载对应版本的 Oracle 客户端 DMG 安装包
  2. 挂载 DMG 包

    • 双击下载的 DMG 文件进行挂载
  3. 运行安装程序

    • 双击挂载后的安装程序
    • 按照安装向导的提示完成安装

Instant Client 安装

  1. 下载 ZIP 包

    • 从 Oracle 官方网站下载 Instant Client 基本包和所需的附加包
  2. 解压安装包

    • 创建安装目录:
      bash
      mkdir -p /opt/oracle/instantclient_21_3
    • 解压所有 ZIP 文件到该目录
  3. 配置环境变量

    • 编辑 ~/.bash_profile~/.zshrc 文件,添加以下内容:
      bash
      export ORACLE_HOME=/opt/oracle/instantclient_21_3
      export PATH=$ORACLE_HOME:$PATH
      export TNS_ADMIN=$ORACLE_HOME/network/admin
      export DYLD_LIBRARY_PATH=$ORACLE_HOME:$DYLD_LIBRARY_PATH
    • 使环境变量生效:
      bash
      source ~/.bash_profile  # 或 source ~/.zshrc
  4. 创建网络配置目录

    • 创建 tnsnames.ora 文件存放目录:
      bash
      mkdir -p $ORACLE_HOME/network/admin

客户端网络配置

tnsnames.ora 配置

  1. 创建 tnsnames.ora 文件

    • $TNS_ADMIN 目录下创建 tnsnames.ora 文件
  2. 配置连接字符串

    • 编辑 tnsnames.ora 文件,添加数据库连接配置:
      txt
      ORCL = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.example.com)(PORT = 1521)) 
          (CONNECT_DATA = 
            (SERVER = DEDICATED) 
            (SERVICE_NAME = orcl.example.com) 
          ) 
        )
    • 其中:
      • ORCL:连接标识符
      • HOST:数据库服务器主机名或 IP 地址
      • PORT:数据库监听端口
      • SERVICE_NAME:数据库服务名

sqlnet.ora 配置

  1. 创建 sqlnet.ora 文件

    • $TNS_ADMIN 目录下创建 sqlnet.ora 文件
  2. 基本配置

    • 编辑 sqlnet.ora 文件,添加基本配置:
      txt
      SQLNET.AUTHENTICATION_SERVICES = (NTS)
      NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
  3. 高级配置

    • 如需配置连接超时、加密等高级选项,可根据需要添加相应参数

连接测试

使用 SQL*Plus 测试连接

  1. 启动 SQL*Plus

    • 在命令提示符或终端中执行:
      bash
      sqlplus <用户>/<>@<连接标识>
    • 例如:
      bash
      sqlplus scott/tiger@ORCL
  2. 验证连接

    • 如果连接成功,会显示 SQL*Plus 提示符 SQL>
    • 执行简单的 SQL 语句测试,例如:
      sql
      SELECT * FROM dual;
    • 如能正常返回结果,则连接测试成功

使用 EZCONNECT 测试连接

  1. 直接使用连接字符串

    • 无需配置 tnsnames.ora,直接使用 EZCONNECT 格式连接:
      bash
      sqlplus <用户>/<>@//<主机>:<>/<服务>
    • 例如:
      bash
      sqlplus scott/tiger@//dbserver.example.com:1521/orcl.example.com
  2. 验证连接

    • 如能成功连接并执行 SQL 语句,则测试成功

使用 Oracle Net Manager 测试连接

  1. 启动 Oracle Net Manager

    • 在 Windows 系统中,从开始菜单启动 "Oracle - OraClient19Home1" → "配置和移植工具" → "Oracle Net Manager"
    • 或在命令提示符中执行:netmgr
  2. 创建或选择服务命名

    • 在左侧导航树中选择 "服务命名"
    • 点击 "+" 按钮添加新的服务命名
  3. 配置服务命名

    • 按照向导提示填写服务名称、网络协议、主机名、端口和服务名
    • 点击 "测试" 按钮
  4. 验证连接

    • 在测试对话框中输入用户名和密码
    • 点击 "确定" 进行测试
    • 如显示 "测试成功",则连接正常

客户端配置最佳实践

环境变量配置

  1. Windows 系统

    • 对于多个 Oracle 客户端版本,建议使用不同的环境变量配置
    • 可创建批处理文件切换不同版本的环境变量
  2. Linux/macOS 系统

    • 对于多个 Oracle 客户端版本,可在不同用户的配置文件中设置不同的环境变量
    • 或创建不同的脚本切换环境变量

网络配置优化

  1. 使用本地命名解析

    • 对于频繁连接的数据库,建议在 tnsnames.ora 中配置连接标识符
    • 这样可以减少连接时的解析时间
  2. 配置连接超时

    • 在 sqlnet.ora 中配置合理的连接超时时间,避免连接挂起
      txt
      SQLNET.OUTBOUND_CONNECT_TIMEOUT=10
  3. 启用连接池

    • 对于应用程序,建议启用连接池以提高性能
    • 配置合适的连接池大小和超时参数

安全配置

  1. 密码安全

    • 避免在命令行中直接指定密码
    • 使用 Oracle Wallet 或其他密码管理工具存储密码
  2. 网络加密

    • 如需提高安全性,可配置网络传输加密
    • 在 sqlnet.ora 中添加加密配置

常见问题(FAQ)

Q1: 安装 Oracle 客户端时提示缺少依赖包,如何解决?

A1: 根据操作系统类型,安装相应的依赖包:

  • Windows:通常安装程序会自动处理依赖,如有缺少,根据提示安装相应的 Visual C++ Redistributable
  • Linux:使用系统包管理器安装缺少的依赖,例如:
    bash
    yum install -y libaio glibc libnsl compat-libcap1
  • macOS:确保安装了最新的 Xcode Command Line Tools

Q2: 连接数据库时提示 "ORA-12154: TNS: 无法解析指定的连接标识符",如何解决?

A2: 可能的原因和解决方法:

  • tnsnames.ora 配置错误:检查文件中的连接标识符是否正确,确保格式无误
  • TNS_ADMIN 环境变量未设置:确认 TNS_ADMIN 环境变量指向正确的目录
  • 网络问题:检查网络连接是否正常,数据库服务器是否可达
  • 服务名错误:确认使用的服务名与数据库配置一致

Q3: 连接数据库时提示 "ORA-12541: TNS: 无监听程序",如何解决?

A3: 可能的原因和解决方法:

  • 数据库监听未启动:在数据库服务器上启动监听器:
    bash
    lsnrctl start
  • 监听端口错误:确认使用的端口与数据库监听端口一致
  • 防火墙阻止:检查防火墙设置,确保监听端口未被阻止
  • 主机名或 IP 错误:确认连接字符串中的主机名或 IP 地址正确

Q4: 如何在同一台机器上安装多个版本的 Oracle 客户端?

A4: 安装多个版本的 Oracle 客户端时的注意事项:

  • 选择不同的安装目录:为每个版本指定不同的安装路径
  • 使用不同的环境变量:通过环境变量切换不同版本的客户端
  • 注意 PATH 顺序:确保当前使用的客户端版本在 PATH 环境变量中优先级最高
  • 避免版本冲突:确保应用程序使用正确版本的客户端库

Q5: Instant Client 和完整客户端有什么区别,如何选择?

A5: 两者的主要区别:

  • Instant Client

    • 优点:轻量级,安装简单,占用空间小
    • 缺点:仅包含基本功能,缺少一些管理工具
    • 适用场景:简单的连接需求,空间受限的环境
  • 完整客户端

    • 优点:包含所有工具和功能,支持完整的管理操作
    • 缺点:安装复杂,占用空间大
    • 适用场景:需要使用完整管理工具的环境,开发和测试环境

选择建议:根据实际需求选择合适的客户端类型,一般来说,生产环境的应用服务器使用 Instant Client 即可,而开发和管理工作站建议安装完整客户端。