滚雪球学Oracle[2.2讲]:Oracle数据库软件的安装

news2024/10/6 19:24:40

全文目录:

    • 前言
    • 一、静默安装与响应文件配置
      • 1.1 什么是静默安装?
        • 静默安装的优势:
      • 1.2 响应文件的作用
        • 响应文件的结构
        • 案例演示:静默安装Oracle数据库
      • 1.3 响应文件配置技巧
      • 1.4 静默安装常见问题及解决方案
    • 二、多版本Oracle的共存与管理
      • 2.1 多版本共存的需求
        • 多版本共存的应用场景:
      • 2.2 多版本共存的挑战
      • 2.3 安装路径与Oracle Home的最佳实践
        • Oracle Home的最佳实践:
        • 案例演示:多版本共存的安装
      • 2.4 多版本管理的技巧
    • 三、安装路径与Oracle Home的最佳实践
      • 3.1 Oracle Home的结构
      • 3.2 Oracle Home配置的最佳实践
        • 案例演示:设置Oracle Home并验证
    • 四、总结与下期预告

前言

在上一篇文章【安装前的准备工作】中,我们讨论了Oracle数据库安装所需的硬件要求、操作系统配置、内存和磁盘规划等关键准备工作。这些准备工作为Oracle数据库的顺利安装和运行奠定了基础。了解如何配置内存、调整操作系统参数以及确保软件依赖是成功安装Oracle的第一步。

本期内容,我们将从准备阶段正式进入到Oracle数据库的安装环节。具体讲解如何通过静默安装方式实现无交互安装,并解析如何通过响应文件配置自动化安装,适合在无图形界面的服务器环境中进行部署。此外,我们将深入探讨如何在同一台服务器上实现多版本Oracle数据库的共存,以及如何管理和优化Oracle Home的安装路径和环境变量配置。

最后,我们会为下期内容【Oracle Listener配置与管理】进行预告,帮助大家了解如何管理客户端与数据库的通信机制。


一、静默安装与响应文件配置

1.1 什么是静默安装?

静默安装是通过命令行运行的Oracle数据库安装方式,用户无需进行图形界面的交互操作。它依赖于预先配置好的响应文件来自动完成整个安装流程。这种安装方法特别适用于服务器环境,或需要批量部署多个实例的情况。

静默安装的优势:
  • 高效部署:静默安装减少了人工交互,适用于大规模批量安装或远程部署。
  • 自动化流程:通过预配置的响应文件,可以实现Oracle数据库安装的自动化,节省时间并减少人为错误。
  • 适用于无图形界面的服务器:对于没有GUI界面的服务器,静默安装是一种必要的安装方式。

1.2 响应文件的作用

响应文件(Response File)是静默安装中用于自动提供安装参数的文件。它允许用户在不参与安装过程中手动输入的情况下,完成数据库的安装。响应文件包含了安装过程中所需的所有选项配置,包括安装路径、Oracle Home、数据库版本、字符集、系统参数等。

响应文件的结构

响应文件的主要参数如下:

  • oracle.install.option:安装类型,例如"INSTALL_DB_SWONLY"表示仅安装数据库软件。
  • ORACLE_HOME:指定Oracle软件的安装路径。
  • ORACLE_BASE:基础目录,通常是安装路径的上级目录,Oracle的相关文件都存储在该路径下。
  • oracle.install.db.config.starterdb.dbname:设置数据库名称。
  • oracle.install.db.config.starterdb.password.ALL:为数据库的管理用户(如SYS和SYSTEM)设置密码。
  • oracle.install.db.config.starterdb.memoryOption:配置内存管理选项。
案例演示:静默安装Oracle数据库
  1. 准备响应文件

    Oracle的安装包中包含了默认的响应文件模板。通常位于/response目录下。复制该文件并根据需求修改:

    cp /path/to/installer/response/db_install.rsp /home/oracle/db_install_custom.rsp
    
  2. 编辑响应文件

    使用文本编辑器打开db_install_custom.rsp,修改以下内容:

    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.config.starterdb.dbname=orcl
    oracle.install.db.config.starterdb.password.ALL=Oracle123
    
  3. 执行静默安装命令

    配置好响应文件后,通过命令行执行安装:

    ./runInstaller -silent -responseFile /home/oracle/db_install_custom.rsp
    
  4. 监控安装进度

    安装过程中,可以通过查看日志文件来跟踪安装进度和检查是否有错误:

    tail -f /u01/app/oraInventory/logs/installActions.log
    
  5. 安装后执行root脚本

    安装完成后,Oracle会要求以root用户身份执行脚本,完成相关权限配置:

    su - root
    /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
    

1.3 响应文件配置技巧

  • 模板文件的使用:Oracle提供的响应文件模板已经包含了常见配置,用户只需根据实际环境修改少量内容。
  • 批量安装:在多个服务器上进行批量安装时,可以将响应文件分发到各个服务器,减少重复配置。
  • 日志检查:静默安装没有图形界面反馈,因此实时查看安装日志非常重要,以便及时发现并解决问题。

1.4 静默安装常见问题及解决方案

  • 权限不足:确保Oracle用户和root用户具备正确的文件和目录权限,尤其是安装路径和Oracle Inventory目录。
  • 依赖软件未安装:在安装之前,检查操作系统是否已安装所需的软件包,可以使用包管理器如yumapt安装缺失的依赖。
  • 内存或硬盘不足:确保系统满足Oracle的硬件要求,尤其是内存和硬盘的空间配置。静默安装过程中无法直接显示此类错误,因此需要提前规划系统资源。

二、多版本Oracle的共存与管理

2.1 多版本共存的需求

在企业环境中,通常需要同时运行多个版本的Oracle数据库来满足不同应用程序的需求。例如,一些老旧应用程序只能兼容某个特定版本的Oracle,而新版本的应用程序则依赖更新的Oracle数据库版本。因此,多版本共存成为一种必然的选择。

多版本共存的应用场景:
  • 版本升级过渡期:为了确保数据库升级的平稳过渡,旧版本与新版本的共存可以避免突然切换导致的兼容性问题。
  • 开发测试环境:开发人员可能需要在同一台服务器上运行多个版本,以便测试不同版本的行为和特性。

2.2 多版本共存的挑战

虽然Oracle支持多版本共存,但同时管理多个版本的数据库会增加复杂性,尤其是在环境变量、监听器配置和端口管理方面。如果处理不当,可能会导致多个版本之间的冲突,影响数据库的正常运行。

2.3 安装路径与Oracle Home的最佳实践

为了在同一台服务器上安装和运行多个Oracle版本,合理配置ORACLE_HOME和安装路径至关重要。每个Oracle版本应有独立的安装路径,且应避免相互影响。

Oracle Home的最佳实践:
  • 独立的安装目录:为每个Oracle版本指定独立的安装路径,避免文件冲突。例如,Oracle 12c安装在/u01/app/oracle/product/12.2.0/dbhome_1,而Oracle 19c则安装在/u01/app/oracle/product/19.0.0/dbhome_1
  • 环境变量管理:通过不同的ORACLE_HOMEORACLE_SID环境变量,确保操作系统能够正确识别不同版本的Oracle。
  • 监听器端口配置:为每个版本的Oracle数据库监听器指定不同的端口,避免多个监听器同时占用同一个端口号(默认端口为1521)。
案例演示:多版本共存的安装
  1. 安装Oracle 12c

    为Oracle 12c配置单独的安装目录:

    ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    

    设置环境变量并执行安装:

    export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    ./runInstaller -silent -responseFile /home/oracle/db_install_12c.rsp
    
  2. 安装Oracle 19c

    为Oracle 19c配置独立的安装目录:

    ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    

    安装并指定环境变量:

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    ./runInstaller -silent -responseFile /home/oracle/db_install_19c.rsp
    
  3. 配置监听器端口

    为每个Oracle版本配置不同的监听器端口。例如,Oracle 12c的监听器端口配置为1521,而Oracle 19c配置为1522:

    # Oracle 12c
    LISTENER_PORT=1521
    
    # Oracle 19c
    LISTENER_PORT=1522
    
    
    
  4. 切换版本环境

    在不同的版本之间切换时,需要手动设置环境变量。例如,从Oracle 12c切换到Oracle 19c:

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    export PATH=$ORACLE_HOME/bin:$PATH
    export ORACLE_SID=orcl19
    

2.4 多版本管理的技巧

  • 环境隔离:通过虚拟机或容器技术,隔离不同的Oracle版本,进一步减少版本冲突的可能性。
  • 统一日志管理:将不同版本的Oracle日志文件存储在统一的目录中,以便于集中监控和管理。
  • 定期备份与恢复测试:在多版本共存的环境下,确保每个版本的数据库都经过定期备份,并且定期进行恢复测试,以确保在发生故障时能够快速恢复。

三、安装路径与Oracle Home的最佳实践

Oracle Home是Oracle软件的安装路径,通过合理规划和管理Oracle Home,可以提升系统的稳定性和维护效率。每个数据库实例运行时都依赖于ORACLE_HOME目录中的二进制文件和配置文件,因此确保Oracle Home的配置正确是数据库顺利运行的前提。

3.1 Oracle Home的结构

Oracle Home目录的典型结构包括以下几个关键子目录:

  • bin:存放Oracle的可执行文件,例如sqlplusexpdp等工具。
  • lib:存放Oracle的库文件。
  • dbs:存放数据库启动参数文件和密码文件。
  • network/admin:存放监听器配置文件和TNS配置文件。

3.2 Oracle Home配置的最佳实践

  • 避免与数据文件混合存放:建议将Oracle Home与数据文件分开存放,避免升级或安装过程中对数据文件的影响。将ORACLE_HOMEORACLE_BASE的路径分别设定为独立的磁盘或文件系统。
  • 定期备份Oracle Home:尽管Oracle Home不直接存放用户数据,但定期备份Oracle Home可以在软件损坏或崩溃后快速恢复环境。
  • 使用标准化的目录结构:在多个环境中保持一致的Oracle Home目录结构,便于管理和故障排查。
案例演示:设置Oracle Home并验证
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

# 验证Oracle Home设置
sqlplus / as sysdba

通过运行sqlplus可以验证是否成功配置Oracle Home。正确配置后,将进入SQL*Plus命令行界面。


四、总结与下期预告

通过本期内容的学习,我们详细介绍了Oracle数据库软件的安装流程,尤其是如何通过静默安装和响应文件实现无交互的自动化安装。此外,我们探讨了在同一台服务器上安装多个Oracle版本的最佳实践,并给出了合理管理Oracle Home的建议。对于企业级数据库环境,多版本共存和静默安装是提高效率和减少风险的重要手段。

在下一期内容中,我们将深入讲解【Oracle Listener配置与管理】,帮助大家更好地理解和优化数据库监听器,从而管理客户端与数据库实例之间的通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海贝音乐 4.3.1 完全免费,手机本地无损,支持在线获取歌词和封面

海贝音乐是一款专为HiFi用户设计的本地音乐播放器,支持在线获取封面和歌词,支持均衡器,完全免费,界面优美,无任何广告。 大小:43M 百度网盘:https://pan.baidu.com/s/1efDXtD62hoxVxx3R9ENwDA?…

DNABERT: 一个基于 Transformer 双向编码器表征的预训练 DNA 语言模型

本文结合 DNABERT 的原文,主要介绍了: Overview of DNABERT 开发 DNABERT 的背景 DNABERT 的 tokenization DNABERT 的模型架构 DNABERT 的预训练 基于微调 DNABERT 的应用 1. Overview of DNABERT 我们之前介绍了 BERT,它是一个基于 Transfo…

【ssh-xorg】SSH远程配置X11窗口回传

前言 我们通常在进行远程配置板端的时候往往会出现一个问题,在不连接显示屏或者启用VNC服务的前提下(或者使用其他软件提供的功能),我们无法在远程终端看到板端的新窗口,本文提供一种方式,在进行ssh远程连接时候制定参数-CX&…

SpringIoC容器的初识

一、SpringIoC容器的介绍 Spring IoC 容器,负责实例化、配置和组装 bean(组件)。容器通过读取配置元数据来获取有关要实例化、配置和组装组件的指令。配置元数据以 XML、Java 注解或 Java 代码形式表现。它允许表达组成应用程序的组件以及这…

Vueron引领未来出行:2026年ADAS激光雷达解决方案上市路线图深度剖析

Vueron ADAS激光雷达解决方案路线图分析:2026年上市展望 Vueron近期发布的ADAS激光雷达解决方案路线图,标志着该公司在自动驾驶技术领域迈出了重要一步。该路线图以2026年上市为目标,彰显了Vueron对未来市场趋势的精准把握和对技术创新的坚定…

如何实现 C/C++ 与 Python 的通信?

在现代编程中,C/C与Python的通信已经成为一种趋势,尤其是在需要高性能和灵活性的场景中。本文将深入探讨如何实现这两者之间的互通,包括基础和高级方法,帮助大家在混合编程中游刃有余。 C/C 调用 Python(基础篇&#…

AI 时代:产品经理不“AI”就出局?

即便你没想去做“AI 产品经理”,那你也不能成为一个不会用 AI 的产品经理。 产品经理肯定是所有互联网从业者中,最先捕捉到 AI 趋势的岗位。 但只知道 AI、关注 AI 还不够,仔细审视一下:你自己的工作,被 AI 提效了么…

打造自己的RAG解析大模型:Windows部署OCR服务(可商业应用)

在上一篇文章中,我们介绍了如何在 Windows 环境中配置 OCR 相关模型,并完成了模型验证。本篇文章将基于之前的内容,进一步讲解如何将文本检测、方向分类和文本识别模型进行串联,最终搭建一个基础的 OCR 应用服务。通过这些模型的串…

wxml语法-声明和绑定数据

文章目录 1、展示内容1.1、{{school}} 直接引用的是一个字符串或其他类型的简单值1.1.1、index.wxml1.1.2、index.js 1.2、{{obj.name}} 引用的是一个对象中的特定属性值1.2.1、index.wxml1.2.2、index.js 2、绑定属性值2.1、使用数据绑定的方式来动态设置元素的属性值2.1.1、i…

冯诺依曼体系|操作系统

目录 一、硬件:冯诺依曼体系 1.冯诺依曼体系结构 2.冯诺依曼体系结构组成 3.内存的重要性 (1)提升运行速度 (2)提升运行效率 二、软件:操作系统 1.什么是操作系统 (1)内部理…

代码随想录Day54

今天是国庆假期后的恢复做题的第一天,摆了那么久感觉还是有点没摆够哈哈哈哈!今天两道题都是困难题,两道题都去看讲解了,感觉这两道题是高度相似的,接雨水用单调递增栈来做,柱状图中最大的矩形用单调递减栈…

水凝胶发生器,不对称设计妙,医电应用前景广

大家好!今天来了解一种具有工程机械离子不对称性的水凝胶发生器——《A high-current hydrogel generator with engineered mechanoionic asymmetry》发表于《Nature Communications》。嘿!你能想象一种材料,它能像魔法一样在低频运动下产生高…

消息称苹果iPhone系列将完全放弃LCD屏幕

近日,据日经亚洲消息,苹果公司将于明年初推出搭载OLED显示屏的 iPhone SE 4,标志其整个iPhone系列已进入从 LCD 过渡到 OLED 技术的最后阶段,2025年及之后销售的所有iPhone机型均将搭载OLED屏幕。 由此,两家日本面板供…

【一起学NLP】Chapter3-使用神经网络解决问题

目录 使用神经网络解决问题Tip:数据集划分学习使用的代码Tip:epochTip:数据打乱Trainer类Tip-高速化计算 使用神经网络解决问题 import sys sys.path.append(..) # 为了引入父目录的文件而进行的设定 from dataset import spiral import matplotlib.pyplot as pltx,t spiral.…

解决银河麒麟桌面操作系统V10(ARM)中`apt-get update`“正在等待报头”问题

解决银河麒麟桌面操作系统V10(ARM)中apt-get update“正在等待报头”问题 1、问题描述2、 解决方法步骤一:打开终端步骤二:清理APT缓存步骤三:再次尝试更新软件源 💖The Begin💖点点关注&#x…

利士策分享,故事创作和造谣及假新闻之间如何界定?

利士策分享,故事创作和造谣及假新闻之间如何界定? 在这个信息爆炸的时代,一篇打着“人民网”旗号的虚假文章《低俗炒作博眼球,曝"瓜"文化不可取》在网络上迅速发酵,不仅误导了公众,更对无辜者造…

【源码+文档】基于SpringBoot+Vue校园智慧迎新服务平台

🚩如何选题? 如何选题、让题目的难度在可控范围,以及如何在选题过程以及整个毕设过程中如何与老师沟通,这些问题是需要大家在选题前需要考虑的,具体的方法我会在文末详细为你解答。 🚭如何快速熟悉一个项目…

MySQL【知识改变命运】03

表的基本操作 1:查看所有表2:创建表3:查看表结构4:修改表5: 删除表 前言:我们先了解一个知识: MySQL安装后会有MySQL服务——管理多个库——每个库管理多个表——每个表管理多行数据——数据行由…

《Windows PE》4.1导入表

导入表顾名思义,就是记录外部导入函数信息的表。这些信息包括外部导入函数的序号、名称、地址和所属的DLL动态链接库的名称。Windows程序中使用的所有API接口函数都是从系统DLL中调用的。当然也可能是自定义的DLL动态链接库。对于调用方,我们称之为导入函…

本田汽车投资SiLC Technologies:携手共促自动驾驶技术新飞跃

SiLC Technologies获本田汽车投资:加速自动驾驶技术革新 近日,硅谷光子学初创公司SiLC Technologies宣布获得本田汽车的投资,这一合作标志着双方将共同推进自动驾驶技术领域的革新与发展。本田此次投资不仅体现了对SiLC Technologies技术实力的认可,也彰显了本田在自动驾驶…