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这个平台吗” />
难道真的不能安装了吗?
2.ORACLE官方已经认证支持RHEL9上安装 Oracle 19c
最近有用户需要安装ORACLE 19C,于是上MOS 认证上搜一下,发现,ORACLE 19C 已经支持RHEL9了。
看看集群,也已经支持:
但ORALCE数据库和RAC必须是 19.19及以上版本才支持。
进一步搜MOS,发现已经有相关的文档了
赶紧看一下:
需要下载补丁,并替换:
- DownloadingPatch 35775632and copying stubs.tar to $ORACLE_HOME/lib/stubs
- Extracting files inside $ORACLE_HOME/lib/stubs/stubs.tar to the same location
- 具体操作步骤,见下图:
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 Size9166184 bytes
Variable Size520093696 bytes
Database Buffers1828716544 bytes
Redo Buffers7610368 bytes
Database mounted.
Database opened.
SYS@orclcdb >select name,open_mode from v$database;
NAMEOPEN_MODE
——— ——————–
ORCLCDBREAD 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
————————
AliasLISTENER
VersionTNSLSNR for Linux: Version 19.0.0.0.0 – Production
Start Date08-NOV-2023 08:40:08
Uptime0 days 0 hr. 0 min. 4 sec
Trace Leveloff
SecurityON: Local OS Authentication
SNMPOFF
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
————————
AliasLISTENER
VersionTNSLSNR for Linux: Version 19.0.0.0.0 – Production
Start Date08-NOV-2023 08:40:08
Uptime0 days 0 hr. 0 min. 24 sec
Trace Leveloff
SecurityON: Local OS Authentication
SNMPOFF
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.