云贝教育 |【技术文章】Linux x86-64 安装Oracle 23AI指南
mhr18 2024-10-02 17:04 18 浏览 0 评论
本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
前言
在信息技术日新月异的今天,企业级数据库系统扮演着数据管理与业务支撑的核心角色。Oracle数据库,作为全球范围内广泛应用的领先关系型数据库管理系统,其23版本中集成人工智能技术的最新进展,旨在帮助企业更好地处理、分析数据并利用AI能力。该版本可能包含了诸如新的数据类型、机器学习模型集成、自动优化等特性,以支持更高效的数据处理和智能决策。
本指南介绍如何在 Linux x86–64 上安装和配置 Oracle Database Free。
软件名称 | 版本号 |
Linux x86–64 | 9 |
Oracle Database Free | 23AI |
需要数据库安装包的童鞋,可以添加云贝助教,免费获取。
需要数据库安装包的童鞋,可以添加云贝助教,免费获取。
需要数据库安装包的童鞋,可以添加云贝助教,免费获取。
一、要求
您必须拥有 root 用户凭据才能安装 Oracle Database Free。
系统必须满足以下软件要求:
- 系统要求
- 交换空间要求
- 内核参数要求
1.1 系统要求
下表列出了 Oracle Database Free 的系统要求。
表 2-1 Oracle 数据库免费系统要求
需求 | 信息 |
操作系统 | 最低支持版本: 具有 Unbreakable Enterprise Kernel 7 的 Oracle Linux 9.2:5.15.0-201.135.6.el9uek.x86_64 或更高版本 具有 Red Hat 兼容内核的 Oracle Linux 9.2:5.14.0-284.30.1.el9_2.x86_64 或更高版本 注意:Oracle 建议您将 Oracle Linux 更新到最新的可用版本和发行级别。 |
网络协议 | 支持以下协议:
|
内存 | 至少 1 GB RAM。建议使用 2 GB 内存。 |
磁盘空间 | 至少 10 GB。 |
1.2 交换空间要求
对于 Oracle Database Free,Oracle 建议最小交换空间为 2 GB 或 RAM 大小的两倍,以较小者为准。
1.3 服务器组件内核参数要求
Oracle 数据库预安装 RPM 检查系统的内核参数设置。如果您系统的内核参数值小于此表中列出的值,则 Oracle 数据库预安装 RPM 会为您设置建议的最小内核参数值。
/etc/sysctl.d/97-oracle-database-sysctl.conf 文件中设置的值在系统重新启动后仍然有效。
表 1-2 Oracle Database Free 所需的内核参数设置
Kernel Parameter | Setting |
semmsl | 250 |
semmns | 32000 |
semopm | 100 |
semmni | 128 |
shmmax | 4398046511104 |
shmmni | 4096 |
shmall | 1073741824 |
file-max | 6815744 |
aio-max-nr | 1048576 |
ip_local_port_range | 9000–65500 |
panic_on_oops | 1 |
rmem_default | 262144 |
rmem_max | 4194304 |
wmem_default | 262144 |
wmem_max | 1048576 |
二、许可限制
本节涵盖以下主题:
- Oracle 数据库可用 CPU 限制
- Oracle数据库免安装和运行时限制
- Oracle 数据库免费用户数据限制
- Oracle 数据库可用 RAM 限制
2.1 Oracle 数据库可用 CPU 限制
Oracle Database Free 自动将自身限制为两个核心进行处理。例如,在具有 2 个双核 CPU(四核)的计算机上,如果大量数据库客户端尝试同时运行 CPU 密集型查询,则 Oracle Database Free 将以两个核心的速率处理查询,即使有更多的 CPU 容量可用。
2.2 Oracle数据库免安装和运行时限制
Oracle Database Free 限制每个逻辑环境只能安装一次。逻辑环境可以是虚拟主机(例如VM或容器),也可以是物理主机。如果您尝试在这样的逻辑环境中启动多个 Oracle Database Free 安装,则会显示 ORA-00442: Oracle Database Free 单实例冲突错误,并且您的数据库将无法启动。
这不会影响 Oracle 数据库标准版 2 或 Oracle 数据库企业版的任何现有安装或新安装。
2.3 Oracle 数据库免费用户数据限制
Oracle Database Free 中的最大用户数据量不能超过 12 GB。如果用户数据增长超过此限制,则系统将显示 ORA-12954:请求超出允许的最大数据库大小 12 GB 错误。
2.4 Oracle 数据库可用 RAM 限制
Oracle Database Free 的最大 RAM 量不能超过 2 GB,即使有更多可用内存也是如此。
三、免费安装Oracle数据库
您可以使用 RPM 包安装 Oracle Database Free。
基于 RPM 的安装执行安装前检查、提取数据库软件、将提取的软件的所有权重新分配给预配置的用户和组、维护 Oracle 清单,并运行为单实例 Oracle 配置 Oracle 数据库软件所需的所有 root 操作数据库创建和配置。
基于 RPM 的安装过程会检测何时未满足安装的最低要求,并提示您完成这些最低预安装要求。
本节涵盖以下主题:
- 使用 RPM 包免费安装 Oracle 数据库
- 执行静默安装
- 设置Oracle数据库自由环境变量
3.1 使用 RPM 包免费安装 Oracle 数据库
执行以下步骤以使用 RPM 包安装和配置 Oracle Database Free。
Oracle 数据库免费安装使用 /opt 下大约 9 GB 的磁盘空间。如果此磁盘分区没有所需的可用磁盘空间,则必须添加空间或将备用分区挂载为 /opt/oracle。该磁盘分区被定义为软件和数据库所在的 Oracle base。
注意:Oracle 数据库免费安装不支持该磁盘的符号链接 (symlink)。
3.1.1 使用RPM 安装 Oracle 数据库
- 使用 sudo 以 root 身份登录。
sudo -s
或
su - root
- 安装 Oracle 数据库预安装 RPM。
- Oracle Linux 8 和 Oracle Linux 9
dnf -y install oracle-database-preinstall-23ai
注意:需要服务器能访问外网
- 红帽企业 Linux 8
1)访问 Oracle yum 站点:
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/
2) 下载最新的 23ai Oracle 数据库预安装 RPM。
例如,oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm
3)安装最新的预安装 RPM。例如:
dnf -y install oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm
- 红帽企业 Linux 9
1) 访问 Oracle yum 站点:
https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/
2) 下载最新的 23ai Oracle 数据库预安装 RPM。
例如,oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
3) 安装最新的预安装 RPM。例如:
dnf -y install oracle-database-preinstall-23ai-1.0-2.el9.x86_64.rpm
- 访问 Oracle 数据库免费软件下载页面:
https://www.oracle.com/database/technologies/free-downloads.html
- 将执行基于 RPM 的安装所需的 oracle-database-free-23ai-1.0-1.el8.x86_64.rpm 或 oracle-database-free-23ai-1.0-1.el9.x86_64.rpm RPM 文件下载到目录你的选择。
- 安装数据库软件。
对于 Oracle Linux 8 和红帽企业 Linux 8
dnf -y install oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
对于 Oracle Linux 9 和红帽企业 Linux 9
dnf -y install oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
注意:查看 RPM 日志文件以确定系统配置更改。例如,查看 /var/log/oracle-database-preinstall-23ai/results/orakernel.log。
3.1.2 创建和配置 Oracle 数据库
配置脚本使用一个可插拔数据库 (FREEPDB1) 创建一个容器数据库 (FREE),并在默认端口 (1521) 上配置侦听器。
您可以通过编辑 /etc/sysconfig/oracle-free–23ai.conf 文件来修改配置参数。
该文件中设置的参数在静默模式安装过程:执行静默安装中进行了详细说明。
使用默认设置创建数据库:
- 使用 sudo 以 root 身份登录。
sudo -s
- 运行服务配置脚本:
/etc/init.d/oracle-free-23ai configure
在命令提示符处,指定 SYS、SYSTEM 和 PDBADMIN 管理用户帐户的密码。 Oracle 建议您的密码长度应至少为 8 个字符,至少包含 1 个大写字符、1 个小写字符和 1 个数字 [0-9]。
表 3-1 配置、数据库文件和日志位置
文件及目录 | 解释 |
/opt/oracle | Oracle base. 这是 Oracle Database Free 目录树的根。 |
/opt/oracle/product/23ai/dbhomeFree | Oracle home. 该主目录是安装 Oracle Database Free 的位置。它包含 Oracle Database Free 可执行文件和网络文件的目录。 |
/opt/oracle/oradata/FREE | 数据文件 |
/opt/oracle/diag 子目录 | 诊断日志。数据库警报日志是 /opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log |
/opt/oracle/cfgtoollogs/dbca/FREE | 数据库创建日志。 FREE.log 文件包含数据库创建脚本执行的结果 |
/etc/sysconfig/oracle-free-23ai.conf | 配置默认参数 |
/etc/init.d/oracle-free-23ai | 配置和服务脚本 |
3.2 执行静默安装
您可以使用静默模式安装 Oracle Database Free。您可以使用此模式通过应用程序执行 Oracle Database Free 的嵌入式安装或无人值守操作。
要执行静默安装,您必须输入管理帐户的密码作为脚本的参数,或在配置文件中指定它。
- 创建包装 shell 脚本来执行静默安装。该脚本(myscript.sh)应包含类似于以下内容的命令:
- 对于 Oracle Linux 8
#!/bin/bash
yum -y install /downloads/oracle-database-free-23ai-1.0-1.el8.x86_64.rpm > /free_logs/FREEsilentinstall.log 2>&1
/etc/init.d/oracle-free-23ai configure >> /free_logs/FREEsilentinstall.log 2>&1
- 对于 Oracle Linux 9
#!/bin/bash
yum -y install /downloads/oracle-database-free-23ai-1.0-1.el9.x86_64.rpm > /free_logs/FREEsilentinstall.log 2>&1
/etc/init.d/oracle-free-23ai configure >> /free_logs/FREEsilentinstall.log 2>&1
或者,您可以在脚本中输入密码,例如:
(echo "password"; echo "password";) | /etc/init.d/oracle-free-23ai configure >> /free_logs/FREEsilentinstall.log 2>&1
将密码替换为安全的密码。输入的密码长度至少为 8 个字符,至少包含 1 个大写字符、1 个小写字符和 1 个数字 [0-9]。
- 使包装器脚本可执行。
chmod +x myscript.sh
- 使用 sudo 以 root 身份运行脚本。
sudo ./myscript.sh
Oracle 数据库免费 Oracle 主目录为 /opt/oracle/product/23ai/dbhomeFREE
有关安装的详细信息,请查看 /free_logs/FREEsilentinstall.log 文件。
- 数据库使用默认设置进行配置。
除非您有特殊要求,否则无需修改这些参数。在修改配置文件 /etc/sysconfig/oracle-free-23ai.conf 之前,先复制该文件。在 RPM 安装之后和配置数据库之前进行修改。
/etc/sysconfig/oracle-free-23ai.conf 配置文件设置以下内容:
- LISTENER_PORT:数据库侦听器的有效侦听器数字端口值。不要为自动端口分配指定任何值。
- CHARSET:数据库的字符集。这设置为 AL32UTF8。
- DBFILE_DEST 数据库文件目录。默认情况下,数据库文件存储在 Oracle base /opt/oracle/oradata 子目录中。您还可以创建自己的数据库文件目录。但是,该文件路径的权限应该由oracle用户拥有。
- SKIP_VALIDATIONS:跳过内存和磁盘空间的验证。默认为 false。
- CONFIGURE_TDE:设置 CONFIGURE_TDE=true 以配置 TDE。默认值为 false。
- ENCRYPT_TABLESPACES:将此值保留为空,仅用于用户表空间。将此值设置为 ALL 以加密所有表空间。对于特定表空间,请使用 SYSTEM:true,SYSAUX:false.s
注意:当您修改并保存包含纯文本密码的文件时,仅向Oracle软件安装所有者(Oracle)用户提供文件的所有权。将文件上的权限更改为600。Oracle建议数据库管理员或其他管理员在不使用时删除包含纯文本密码的此类文件。
数据库创建日志位于 Oracle base 下的 /opt/oracle/cfgtoollogs/dbca/ 子目录中。
3.3 设置Oracle数据库环境变量
安装并配置Oracle Database Free后,请在使用Oracle Database Free之前设置环境。
使用 oraenv 和 coraenv 脚本设置环境变量。
例如,要在 Bourne、Bash 或 Korn shell 中设置环境变量而不由脚本提示,请以 Oracle 用户身份登录并运行以下命令:
export ORACLE_SID=FREE
export ORAENV_ASK=NO
. /opt/oracle/product/23ai/dbhomeFree/bin/oraenv
ORACLE_HOME = [] ? /opt/oracle/product/23ai/dbhomeFree
The Oracle base has been set to /opt/oracle
For C shell:
setenv ORACLE_SID FREE
setenv ORACLEENV_ASK NO
source /opt/oracle/product/23ai/dbhomeFree/bin/coraenv
Oracle 数据库软件的安装现已完成。
小结
本文为IT专业人士及系统工程师提供一份详实操性强、步骤清晰的安装与配置手册。我们深入浅出地讲解了如何在Linux x86-64平台上从零开始安装Oracle Database 23AI的全过程,确保每一步骤的准确性和安全性,以帮助读者构建一个健壮大的数据处理与分析环境。
参考
本文参考Oracle官方文档,喜欢阅读原文的小伙伴可以跳转链接
https://docs.oracle.com/en/database/oracle/oracle-database/23/xeinl/index.html
相关文章
相关推荐
- 如何检查 Linux 服务器是物理服务器还是虚拟服务器?
-
在企业级运维、故障排查和性能调优过程中,准确了解服务器的运行环境至关重要。无论是物理机还是虚拟机,都存在各自的优势与限制。在很多场景下,尤其是当你继承一台服务器而不清楚底层硬件细节时,如何快速辨识它是...
- 第四节 Windows 系统 Docker 安装全指南
-
一、Docker在Windows上的运行原理(一)架构限制说明Docker本质上依赖Linux内核特性(如Namespaces、Cgroups等),因此在Windows系统上无法直...
- C++ std:shared_ptr自定义allocator引入内存池
-
当C++项目里做了大量的动态内存分配与释放,可能会导致内存碎片,使系统性能降低。当动态内存分配的开销变得不容忽视时,一种解决办法是一次从操作系统分配一块大的静态内存作为内存池进行手动管理,堆对象内存分...
- Activiti 8.0.0 发布,业务流程管理与工作流系统
-
Activiti8.0.0现已发布。Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速、稳定的BPMN2流程引擎。Activiti可以...
- MyBatis动态SQL的5种高级玩法,90%的人只用过3种
-
MyBatis动态SQL在日常开发中频繁使用,但大多数开发者仅掌握基础标签。本文将介绍五种高阶技巧,助你解锁更灵活的SQL控制能力。一、智能修剪(Trim标签)应用场景:动态处理字段更新,替代<...
- Springboot数据访问(整合Mybatis Plus)
-
Springboot整合MybatisPlus1、创建数据表2、引入maven依赖mybatis-plus-boot-starter主要引入这个依赖,其他相关的依赖在这里就不写了。3、项目结构目录h...
- 盘点金州勇士在奥克兰13年的13大球星 满满的全是...
-
见证了两个月前勇士与猛龙那个史诗般的系列赛后,甲骨文球馆正式成为了历史。那个大大的红色标志被一个字母一个字母地移除,在周四,一切都成为了过去式。然而这座,别名为“Roaracle”(译注:Roar怒吼...
- Mybatis入门看这一篇就够了(mybatis快速入门)
-
什么是MyBatisMyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为M...
- Springboot数据访问(整合druid数据源)
-
Springboot整合druid数据源基本概念SpringBoot默认的数据源是:2.0之前:org.apache.tomcat.jdbc.pool.DataSource2.0及之后:com.z...
- Linux 中的 "/etc/profile.d" 目录有什么作用 ?
-
什么是/etc/profile.d/目录?/etc/profile.d/目录是Linux系统不可或缺的一部分保留配置脚本。它与/etc/profile文件相关联,这是一个启动脚本,该脚...
- 企业数据库安全管理规范(企业数据库安全管理规范最新版)
-
1.目的为规范数据库系统安全使用活动,降低因使用不当而带来的安全风险,保障数据库系统及相关应用系统的安全,特制定本数据库安全管理规范。2.适用范围本规范中所定义的数据管理内容,特指存放在信息系统数据库...
- Oracle 伪列!这些隐藏用法你都知道吗?
-
在Oracle数据库中,有几位特殊的“成员”——伪列,它们虽然不是表中真实存在的物理列,但却能在数据查询、处理过程中发挥出意想不到的强大作用。今天给大家分享Oracle伪列的使用技巧,无论...
- Oracle 高效处理数据的隐藏神器:临时表妙用
-
各位数据库搬砖人,在Oracle的代码世界里闯荡,处理复杂业务时,是不是总被数据“搅得头大”?今天给大家安利一个超实用的隐藏神器——临时表!当你需要临时存储中间计算结果,又不想污染正式数据表...
- Oracle 数据库查询:多表查询(oracle多表关联查询)
-
一、多表查询基础1.JOIN操作-INNERJOIN:返回两个表中满足连接条件的匹配行,不保留未匹配数据。SELECTa.emp_id,b.dept_nameFROMempl...
- 一文掌握怎么利用Shell+Python实现多数据源的异地备份程序
-
简介:在信息化时代,数据安全和业务连续性已成为企业和个人用户关注的焦点。无论是网站数据、数据库、日志文件,还是用户上传的文档、图片等,数据一旦丢失,损失难以估量。尤其是当数据分布在多个不同的目录、服务...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 如何检查 Linux 服务器是物理服务器还是虚拟服务器?
- 第四节 Windows 系统 Docker 安装全指南
- C++ std:shared_ptr自定义allocator引入内存池
- Activiti 8.0.0 发布,业务流程管理与工作流系统
- MyBatis动态SQL的5种高级玩法,90%的人只用过3种
- Springboot数据访问(整合Mybatis Plus)
- 盘点金州勇士在奥克兰13年的13大球星 满满的全是...
- Mybatis入门看这一篇就够了(mybatis快速入门)
- Springboot数据访问(整合druid数据源)
- Linux 中的 "/etc/profile.d" 目录有什么作用 ?
- 标签列表
-
- oracle位图索引 (74)
- oracle基目录 (50)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (53)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)