基于RHEL9,ORACLE LINUX 9安装Oracle 19c 数据库

文章讲述了在RHEL9上安装Oracle19C数据库遇到的问题,最初遇到安装错误,后来发现ORACLE19C已官方支持RHEL9,需下载特定补丁并替换,作者提供了解决方案和详细步骤,包括安装操作系统包、应用补丁和最终安装验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题背景

要基于RHEL9,ORACLE LINUX 9 或RHEL分支,安装ORACLE 19C 数据库,在一年前,没有人会告诉你能够成功,都会告诉你说19C只支持 RHEL7/8,在RHEL9上不支持,

如果你非要安装,在安装到11%时,就会报以下错误:

Error in invoking target 'libasmclntsh19.ohso libasmperl19.ohso client_sharedlib' of makefile '/u01/app/oracle/product/19.21.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/InstallActions2023-11-08_10-46-25PM/installActions2023-11-08_10-46-25PM.log' for details.

这个问题就无解了吗,想到23C都出来了,19C还要用一段时间,难道ORACLE19C 要放弃RHEL9这个平台吗?

我也曾经开SR,没有得到明确的答复,也在社区中发贴,大家都在等:

难道真的不能安装了吗?

2.ORACLE官方已经认证支持RHEL9上安装 Oracle 19c

最近有用户需要安装ORACLE 19C,于是上MOS 认证上搜一下,发现,ORACLE 19C 已经支持RHEL9了。

看看集群,也已经支持:

但ORALCE数据库和RAC必须是 19.19及以上版本才支持。

进一步搜MOS,发现已经有相关的文档了

赶紧看一下:

需要下载补丁,并替换:

  1. Downloading Patch 35775632 and copying stubs.tar to $ORACLE_HOME/lib/stubs
  2. Extracting files inside $ORACLE_HOME/lib/stubs/stubs.tar to the same location
  3. 具体操作步骤,见下图:

3.实际验证

1.安装操作系统 ORACLE LINUX 9.2
  安装过程略

2.需要安装的操作系统包:

 bc
binutils
compat-openssl11
elfutils-libelf
fontconfig
glibc
glibc-devel
ksh
libaio
libasan
liblsan
libX11
libXau
libXi
libXrender
libXtst
libxcrypt-compat
libgcc
libibverbs
libnsl
librdmacm
libstdc++
libxcb
libvirt-libs
make
policycoreutils
policycoreutils-python-utils
smartmontools
sysstat

Note - For 64-Bit Oracle Database Client Installs,below Packages are required
libnsl2
libnsl2-devel

3.下载Oracle 19.3 的安装介质

4.下载  stubs.tar from Patch 35775632 and extract
- Copy stubs.tar into $ORACLE_HOME/lib/stubs and extract (cmd: $ tar -xf stubs.tar)

5.应用ru 19.21
6.开始安装数据库软件,中间不再报错,顺序完成。

7.最后安装完成如下:

[root@dbserver ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)


[root@dbserver ~]# su - oracle
[oracle@dbserver ~]$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Nov 8 08:17:15 2023
Version 19.21.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

@ >conn / as sysdba
Connected to an idle instance.
SYS@orclcdb >startup
ORACLE instance started.

Total System Global Area 2365586792 bytes
Fixed Size                  9166184 bytes
Variable Size             520093696 bytes
Database Buffers         1828716544 bytes
Redo Buffers                7610368 bytes
Database mounted.
Database opened.
SYS@orclcdb >select name,open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
ORCLCDB   READ WRITE

SYS@orclcdb >select BANNER_FULL from v$version;

BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.21.0.0.0

SYS@orclcdb >! lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-NOV-2023 08:40:08

Copyright (c) 1991, 2023, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/19.21.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/dbserver/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-NOV-2023 08:40:08
Uptime                    0 days 0 hr. 0 min. 4 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/dbserver/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver)(PORT=1521)))
The listener supports no services
The command completed successfully

SYS@orclcdb >! lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-NOV-2023 08:40:32

Copyright (c) 1991, 2023, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-NOV-2023 08:40:08
Uptime                    0 days 0 hr. 0 min. 24 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/dbserver/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver)(PORT=1521)))
The listener supports no services
The command completed successfully

SYS@orclcdb >


至此,RHEL,ORACLE LINUX 9终于可以安装 ORACLE 19C了。

我已经把这个补丁包集成到ORACLE 19.21的安装包里面去了,后面只需要使用我的ORACLE 19.21安装包,就可以直接在RHEL/ORACLE LINUX 9以上版本安装了。

我集成的19.21包补丁情况:

[oracle@dbserver ~]$ $ORACLE_HOME/OPatch/opatch lspatches
35648110;OJVM RELEASE UPDATE: 19.21.0.0.231017 (35648110)
35655527;OCW RELEASE UPDATE 19.21.0.0.0 (35655527)
35643107;Database Release Update : 19.21.0.0.231017 (35643107)

OPatch succeeded.
 

安装 Oracle 19c 可以分为以下几个步骤: 1. 确认系统要求 2. 安装必要的依赖包 3. 创建 Oracle 用户和组 4. 配置内核参数 5. 安装 Oracle 19c 下面我们一步步来进行操作。 1. 确认系统要求 首先要确认你的系统满足以下要求: - 硬件要求:4 GB 内存及以上,40 GB 磁盘空间及以上。 - 操作系统要求:CentOS Stream Release 9 或者 RHEL 8.4+ - 系统用户要求:必须使用 root 用户安装。 2. 安装必要的依赖包 在安装 Oracle 19c 之前,需要安装一些必要的依赖包,这些依赖包可以使用 yum 命令进行安装,具体命令如下: ``` yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 ``` 3. 创建 Oracle 用户和组 在安装 Oracle 19c 之前,需要创建一个名为“oracle”的用户和一个名为“oinstall”的组。我们可以使用以下命令来创建: ``` groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle ``` 4. 配置内核参数 在安装 Oracle 19c 之前,需要对内核参数进行调整。可以通过修改 /etc/sysctl.conf 文件来实现。将以下参数添加到文件末尾: ``` fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr=1048576 fs.file-max=6815744 kernel.sem=250 32000 100 128 kernel.shmmni=4096 kernel.shmall=1073741824 kernel.shmmax=4398046511104 kernel.panic_on_oops=1 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576 net.ipv4.conf.all.rp_filter=2 net.ipv4.conf.default.rp_filter=2 ``` 然后执行以下命令使内核参数生效: ``` sysctl -p ``` 5. 安装 Oracle 19c 将下载好的 Oracle 19c 安装包上传到服务器上,解压缩后进入该目录,执行以下命令: ``` ./runInstaller ``` 然后按照图形化界面的提示进行安装即可。 安装完成后,需要执行以下命令来配置环境变量: ``` export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib ``` 至此,Oracle 19c 安装完成。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值