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.
 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐