【Oracle 19c 及 21c】Windows 平台客户端包差异
创始人
2025-05-31 08:07:27
0

很久不关注 Oracle Database12c 以后的变化了,最近试着安装、测试一下,在下载 Windows 端客户端时发现和以前的 11g12c 大不相同,于是研究了一下,觉得有必要写一篇文章记录一下。

文章目录

  • 一、简介
  • 二、client 类型安装包
    • 2.1 选择安装类型
    • 2.2 创建或选择 Oracle 主目录用户
    • 2.3 设置 Oracle 基目录和软件安装目录
    • 2.4 执行先决条件检查
    • 2.5 概要
    • 2.6 安装
  • 三、client 类型安装包
  • 四、安装目录对比
  • 五、与 Oracle SQL Developer 的比较

一、简介

Oracle Database 21c - Windows 平台下载页面
在这里插入图片描述

Oracle 19c(19.3) - Windows 平台下载页面
在这里插入图片描述

说明

  • 圈红区域:表示 64 位和 32 位操作系统的区别。请选择适合你操作系统位数的安装包下载。

  • 圈黄区域:表示“client_home”类型安装包,将该安装包解压到一个满足 Oracle 要求的文件夹下,然后运行 setup.exe 使用图形化界面安装即可。

    该方式不会额外生成新的 client 目录,安装位置即为解压位置,节省磁盘空间。

    在这里插入图片描述
    该方式下还会额外打开一个 cmd 窗口,一直伴随到安装过程结束。在这里插入图片描述- 圈蓝区域:表示“client”类型安装包,同样,将该安装包解压到一个满足 Oracle 要求的文件夹下,然后运行 setup.exe 使用图形化界面安装即可。

    该方式最全面、安装包大小最大且具有高度可选择性,提供不同需求的安装需求(管理员、运行时、即使客户端、定制),但全面、灵活的代价就是耗费磁盘空间,该方式解压目录和安装目录是两个不同的目录。

    在这里插入图片描述

注意

  1. 满足 Oracle 要求的文件夹表示满足 Oracle 对目录或文件夹的命名解析规范的文件夹,在 Windows 平台尤其要注意不要将解压目录或安装目录选择在包含空格的文件夹下(比如“Program Files”),否则会导致 Oracle 安装程序无法识别目录而极速闪退,这个闪退速度很快,一般是看不到报错信息的。
  2. Oracle 客户端安装前无需单独下载部署 JDKJRE 环境,Oracle 客户端安装包自包含了 JRE

下面分别详细介绍“client”和“client_home”类型的安装包的区别。

二、client 类型安装包

2.1 选择安装类型

  • 笔者在安装时考虑到后面会安装 RAC 而选择的是“管理员”安装类型。
  • 如果是应用或 PL/SQL 开发者,建议采用“运行时”安装类型。
  • 如果只想使用 SQL*PLUS 客户端功能,请选择“即时客户机”类型,只使用基本的客户端功能。
  • 如果想自定义组合使用 Oracle 客户端组件,请选择“定制”类型。该安装类型也可用于安装完成之后再次补充安装其他组件。

选择适合你需求的安装类型,点击“下一步”(此后不再赘述)。
在这里插入图片描述

2.2 创建或选择 Oracle 主目录用户

遵循下图 Oracle 的建议,使用非管理员账户且非 Windows 内置账户的账户,一般为“oracle”,注意 Windows 系统用户名不区分大小写。

如果你是第一次安装且不存在“oracle”系统用户,则选择“创建新 Windows 用户”;如果你想使用已经创建的“oracle”系统用户,则选择“使用现有 Windows 用户”;不建议选择“使用 Windows 内置用户”。
在这里插入图片描述

2.3 设置 Oracle 基目录和软件安装目录

注意,软件安装目录必须位于 Oracle 基目录内。
在这里插入图片描述

2.4 执行先决条件检查

应该就是类似 Oracle CVU 的预安装验证工具,自动检查你所使用的环境与安装配置是否满足 Oracle Database Client 的安装要求。通过后自动跳至下一步。

在这里插入图片描述

2.5 概要

即让你检查并确认安装的配置信息是否有误。
在这里插入图片描述

2.6 安装

点击“安装”即开始安装过程,如无报错,最终会显示“完成”,点击后自动关闭安装程序。此处由于我已经安装过了,不再进行安装了,所以没有截图。

三、client 类型安装包

安装过程与“client_home”类似,除了第一步无法选择安装类型,因而不再赘述。
在这里插入图片描述

四、安装目录对比

笔者使用 WinMerge 工具进行文件夹比对,来查看两种安装包安装结果的差异。

在这里插入图片描述
在这里插入图片描述

如上两图所示,二者并没有重要的差异,应该都是如下图所示的目录位置的差异。

在这里插入图片描述

由此证明了“client_home”等同于“client”的“管理员”安装类型。

注意
除了需要的安装目录外,Oracle 客户端安装程序还自动生成了下图中的三个目录,并添加ORACLE_HOME环境变量到系统变量,并将 Oracle 客户端的“bin”目录添加到PATH环境变量中。
在这里插入图片描述

五、与 Oracle SQL Developer 的比较

client_home”和“client”两种安装包安装完成后的安装目录下都包含“sqldeveloper”目录,因而有必要比较一下它们和单独下载安装 Oracle SQL Developer 的差异。

因为上面已经比较过前二者的目录结构差异,二者是一样的,所以此处只查看其中的一个即可。

在这里插入图片描述

查看 Oracle SQL Developer 的安装目录。
在这里插入图片描述

仅通过肉眼查看即可发现存在很大差异。查看“安装目录\sqldeveloper\sqldeveloper\bin”目录中的“README.md”可以发现仅安装了 SQLcl 工具。

在这里插入图片描述

在这里插入图片描述

modules”目录的差异:

在这里插入图片描述

sqldeveloper”的差异:

在这里插入图片描述

因而,如果需要使用 Oracle SQL Developer ,则需要单独下载安装。该工具在国内企业很少使用,它们一般使用 PL/SQL Developer ,且非正版的(呵呵),很多时候需要打工人自己下载安装,然后一有开发软件安全合规检查时就禁用又不给员工采购所需的开发工具;而在一些外企会使用,笔者曾面试过某一外资银行的岗位,一个印度的面试官在我说出平时使用的开发工具是 PL/SQL Developer 感到十分诧异,以为我说错了,将 SQL Developer 说成 PL/SQL Developer 了。由此可见一斑,国内外在开发、测试、运维等 IT 方面存在很大差异。

相关内容

热门资讯

单片机stm32新建工程后的编... STM32学习之新建工程模板_stm32工程模板_榕林子的博客-CSDN博客 1、按基本模板新建全新...
【Selenium自动化测试】... JS调用 有些页面操作不能依靠WebDriver 提供的API 来实现,如浏览器滚动条...
苹果笔要不要买原装的?平价又好... 随着科技的不断进步,各种电容笔的生产厂家也随着越来越多。一支优秀的电容笔不仅能大大提高...
3分钟彻底搞懂Web UI自动... 大家好,我是凡哥。 今天,我们来聊聊Web UI自动化测试中的POM设...
[Delphi]一个功能完备的... 本软件使用Delphi 10.3.3编写和测试, 源码中用到了System.NetEncoding和...
java中单例模式的实现 文章目录单例模式前言1.饿汉模式1.1 特点1.2 代码实现2. 懒汉模式2.1 特点2.2 代码实...
Kubernetes集群 服务... Kubernetes集群 服务暴露 Nginx Ingress Controller 一、ingre...
【软件环境安装部署】华为云服务... RabbitMQ 简介 一、什么是RabbitMQ? RabbitMQ简称MQ是一套实...
雪花算法:生成全局唯一 ID ... 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮...
删除的文件还能找回吗?快速找回...   删除的文件还能找回吗?有使用电脑,就会有删除。可以直接或间接的删除电脑上的照片、视...
算法基础-回溯算法 回溯算法大致分为以下几类: 组合:组合、组合总和、电话号码的字母组合 分...
【Vue3实践】(四)优雅使用... 文章目录1.前言2.属性透传3.依赖注入4.组件插槽(slot)4.1....
【Java学习笔记】41.Ja... 前言 本章介绍Java的文档注释和Java 8 新特性。 Java 文档注释 Java 支持三种注释...
SQL注入之DnsLog注入 一、原理 DnsLog注入并不是一种攻击方式,而是一种让无回显的攻击,变...
【机器学习算法复现】随机森林,... 随机森林就是通过集成学习的Bagging思想将多棵树集成的一种算法:它的基本单元就是决...
sheng的学习笔记-IO多路... 基础概念IO分为几种:同步阻塞的BIO,同步非阻塞的NIO,...
栈----数据结构 栈🔆栈的概念🔆栈的结构🔆栈的实现🔆括...
SpringMVC拦截器和拦截... 文章目录1.拦截器概述2.拦截器和过滤器的区别3.拦截器开发4.拦截器的执行流程5.拦截器链配置1....
springMVC01- 文章目录今日目标一、SpringMVC简介1 SpringMVC概述问题导入1.1 SpringMV...
python基础语法【模块 包... 模块 包 异常捕获 1.模块 python一个py文件就是一个模块 1.1 使用方法 1)前提&#x...