0

0

Oracle 19c RAC 遇到的几个问题

絕刀狂花

絕刀狂花

发布时间:2025-07-19 11:18:36

|

673人浏览过

|

来源于php中文网

原创

oracle19c 作为长期支持的大版本,是很多公司和个人选择的主流数据库版本,很多公司新上线的系统也都是以 19c 为主,也有很多企业渐渐地迁移数据库到19c,11204 版本已经逐渐退出了舞台。下面对 oracle 19c版本遇到的几个最主要的问题做个简单介绍。

1、Fock() 炸弹

19 RAC 使用 srvctl 无法正常启动,reboot 重启也不会随着 OS 启动而启动数据库实例。

现象如下图:

Oracle 19c RAC 遇到的几个问题

Alert 日志报错

Oracle 19c RAC 遇到的几个问题

对应 trace

Oracle 19c RAC 遇到的几个问题

猜测可能是资源限制问题,但查了很多都是正常。

ipcs –ma 查看 Oracle 共享内存段

Oracle 19c RAC 遇到的几个问题

ipcs -q

Oracle 19c RAC 遇到的几个问题

对应时间段的 OS message

Oracle 19c RAC 遇到的几个问题

Grid 用户资源限制情况,基本上都是无限制。

Oracle 19c RAC 遇到的几个问题

Oracle 用户资源限制情况,基本上都是无限制

Oracle 19c RAC 遇到的几个问题

使用 strace 跟踪启动过程

strace–o /tmp/strace2.log srvctl start database -d teststb –i teststb2

strace–o /tmp/strace1.log srvctl start database -d teststb -i teststb1

其他资源限制查看

Oracle 19c RAC 遇到的几个问题

cat /etc/security/limits.conf

Oracle 19c RAC 遇到的几个问题

cat /etc/systemd/system.conf

Oracle 19c RAC 遇到的几个问题

将此参数打开修改为 infinity 然后重启主机则恢复正常。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">cat /etc/systemd/system.conf|grepDefaultTasksMax#DefaultTasksMax=512DefaultTasksMax=infinity</code>

Database And ASM InstanceOra-27300 OS System Dependent Operation Fork Failed With Status 11 (Doc ID2331884.1)

systemd limited maximumnumber of tasks that may be created on the node.This setting will alsoaffect maxpid value on the OS.

主要是MAX_PID

Oracle 19c RAC 遇到的几个问题
修改DefaultTasksMax

从SLES 12 SP2开始引入了PID cgroup controller,限制fork()的并发数,避免fork()炸弹。由配置参数DefaultTasksMax控制,缺省值为512,该值比较小,不适用于数据库运行的环境,需要修改为大于等于65536,在此修改为infinity(无限制)。

如果在DBCA期间抛出如下图所示错误,则可能是由于DefaultTasksMax值过小导致的。为了避免DBCA出现错误,提前修改该参数值。

Oracle 19c RAC 遇到的几个问题
Oracle 19c RAC 遇到的几个问题

解决办法:

1)、查看当前值:

test1:~ #systemctl show --property DefaultTasksMax

DefaultTasksMax=512

易语言学习手册 十天学会易语言图解教程  pdf版
易语言学习手册 十天学会易语言图解教程 pdf版

十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第

下载

2)、编辑/etc/systemd/system.conf,取消DefaultTasksMax该行注释,并修改值为"infinity".

# vi /etc/systemd/system.conf

DefaultTasksMax=infinity

3)、reboot OS

4)、查看修改后的值

oracle@test1:~>systemctl show --property DefaultTasksMax

DefaultTasksMax=18446744073709551615

2、客户端问题 ORA-28040

前置条件:已安装Oracle11g客户端,配置好环境变量,用PL/SQL Developer登录数据库

解决方案:

在oracle 19C服务器端oracle用户下:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">cd $ORACLE_HOME/network/admin目录下 新建文件 sqlnet.oravi sqlnet.oraSQLNET.ALLOWED_LOGON_VERSION_SERVER=10;SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10;</code>

②在服务器端,管理员身份登录,重新修改密码。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">sqlplus / as sysdbaalter session set container=服务名; --如果使用 pdb 需要切换到 pdb 修改。alter user 用户名 identified by 密码;</code>

注意:配置完服务器端的sqlnet.ora文件后,务必要重新修改密码,否则仍登录失败

3、打补丁报错

打补丁报错 Prerequisite check "CheckActiveFilesAndExecutables" failed。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">testrac1:~# /app/app/19.0.0.0/grid/OPatch/opatchauto apply /app/soft/32226239OPatchautosession is initiated at Thu Mar  415:27:50 2022Systeminitialization log file is /app/app/19.0.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2022-03-04_03-27-53PM.log.Sessionlog file is /app/app/19.0.0.0/grid/cfgtoollogs/opatchauto/opatchauto2022-03-04_03-28-19PM.logTheid for this session is U4JFExecutingOPatch prereq operations to verify patch applicability on home/app/app/oracle/product/19.0.0.0/dbhome_1ExecutingOPatch prereq operations to verify patch applicability on home/app/app/19.0.0.0/gridPatchapplicability verified successfully on home /app/app/19.0.0.0/gridPatchapplicability verified successfully on home/app/app/oracle/product/19.0.0.0/dbhome_1Executingpatch validation checks on home /app/app/19.0.0.0/gridPatchvalidation checks successfully completed on home /app/app/19.0.0.0/gridExecutingpatch validation checks on home /app/app/oracle/product/19.0.0.0/dbhome_1Patchvalidation checks successfully completed on home/app/app/oracle/product/19.0.0.0/dbhome_1VerifyingSQL patch applicability on home /app/app/oracle/product/19.0.0.0/dbhome_1"/bin/sh-c 'cd /app/app/oracle/product/19.0.0.0/dbhome_1;ORACLE_HOME=/app/app/oracle/product/19.0.0.0/dbhome_1 ORACLE_SID=piccyx1/app/app/oracle/product/19.0.0.0/dbhome_1/OPatch/datapatch -prereq-verbose'" command failed with errors. Please refer to logs for more details.SQL changes, if any, can be analyzed by manually retrying the same command.SQLpatch applicability verified successfully on home/app/app/oracle/product/19.0.0.0/dbhome_1Preparingto bring down database service on home /app/app/oracle/product/19.0.0.0/dbhome_1Successfullyprepared home /app/app/oracle/product/19.0.0.0/dbhome_1 to bring down databaseserviceBringingdown CRS service on home /app/app/19.0.0.0/gridPrepatchoperation log file location: /app/app/grid/crsdata/testrac1/crsconfig/crs_prepatch_apply_inplace_testrac1_2022-03-04_03-29-01PM.logCRSservice brought down successfully on home /app/app/19.0.0.0/gridPerformingprepatch operation on home /app/app/oracle/product/19.0.0.0/dbhome_1Perpatchoperation completed successfully on home/app/app/oracle/product/19.0.0.0/dbhome_1Startapplying binary patch on home /app/app/oracle/product/19.0.0.0/dbhome_1Failedwhile applying binary patches on home /app/app/oracle/product/19.0.0.0/dbhome_1Executionof [OPatchAutoBinaryAction] patch action failed, check log for more details.Failures:PatchTarget : testrac1->/app/app/oracle/product/19.0.0.0/dbhome_1 Type[rac]Details:[---------------------------PatchingFailed---------------------------------Commandexecution failed during patching in home:/app/app/oracle/product/19.0.0.0/dbhome_1, host: testrac1.Commandfailed: /app/app/oracle/product/19.0.0.0/dbhome_1/OPatch/opatchauto  apply /app/soft/32226239 -oh/app/app/oracle/product/19.0.0.0/dbhome_1 -target_type rac_database -binary-invPtrLoc /app/app/19.0.0.0/grid/oraInst.loc -jre/app/app/19.0.0.0/grid/OPatch/jre -persistresult/app/app/oracle/product/19.0.0.0/dbhome_1/opatchautocfg/db/sessioninfo/sessionresult_testrac1_rac_2.ser-analyzedresult /app/app/oracle/product/19.0.0.0/dbhome_1/opatchautocfg/db/sessioninfo/sessionresult_analyze_testrac1_rac_2.serCommandfailure output: ==Followingpatches FAILED in apply:Patch:/app/soft/32226239/32218454Log:/app/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2022-03-04_15-30-20PM_1.logReason: Failed during Patching:oracle.opatch.opatchsdk.OPatchException: Prerequisite check"CheckActiveFilesAndExecutables" failed. Afterfixing the cause of failure Run opatchauto resume]OPATCHAUTO-68061:The orchestration engine failed.OPATCHAUTO-68061:The orchestration engine failed with return code 1OPATCHAUTO-68061:Check the log for more details.OPatchAutofailed.OPatchautosession completed at Thu Mar  4 15:31:152022Timetaken to complete the session 3 minutes, 25 seconds opatchauto failed with error code 42</code>

查看日志

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">tail -100f/app/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2022-03-04_15-30-20PM_1.log[Mar4, 2022 3:31:14 PM] [INFO]     Finishfuser command /bin/fuser /app/app/oracle/product/19.0.0.0/dbhome_1/bin/expdp atThu Mar 04 15:31:14 CST 2021[Mar4, 2022 3:31:14 PM] [INFO]    Followingactive executables are not used by opatch process :                                /app/app/oracle/product/19.0.0.0/dbhome_1/lib/libclntsh.so.19.1                                 /app/app/oracle/product/19.0.0.0/dbhome_1/lib/libsqlplus.so                              Followingactive executables are used by opatch process :[Mar4, 2022 3:31:14 PM] [INFO]    Prerequisite check "CheckActiveFilesAndExecutables" failed.                                    The detailsare: Following active executables are not used byopatch process :                                    /app/app/oracle/product/19.0.0.0/dbhome_1/lib/libclntsh.so.19.1                               /app/app/oracle/product/19.0.0.0/dbhome_1/lib/libsqlplus.so  Following active executables are used byopatch process :[Mar4, 2022 3:31:15 PM] [SEVERE]   OUI-67073:UtilSessionfailed: Prerequisite check "CheckActiveFilesAndExecutables" failed.[Mar4, 2022 3:31:15 PM] [INFO]     FinishingUtilSession at Thu Mar 04 15:31:15 CST 2022[Mar4, 2021 3:31:15 PM] [INFO]     Log filelocation: /app/app/oracle/product/19.0.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2022-03-04_15-30-20PM_1.log</code>

查看进程占用情况

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">fuser/app/app/oracle/product/19.0.0.0/dbhome_1/lib/libclntsh.so.19.1/app/app/oracle/product/19.0.0.0/dbhome_1/lib/libclntsh.so.19.1:89500m 109054m</code>

kill 掉占用的进程

kill-9 89500

kill-9 109054

验证没有进程占用

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">fuser/app/app/oracle/product/19.0.0.0/dbhome_1/lib/libsqlplus.sofuser /app/app/oracle/product/19.0.0.0/dbhome_1/lib/libclntsh.so.19.1</code>

继续打补丁

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">testrac1:~# /app/app/19.0.0.0/grid/OPatch/opatchauto resume</code>
4、CRS-6706 patchlevel 不一致

19.3.RAC 的 2 节点打补丁失败,导致2节点集群无法启动报错:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">[root@testrac2 soft]#/u01/app/19.0.0.0/grid/bin/crsctl start crsCRS-6706: OracleClusterware Release patch level ('4203896349') does not match Software patchlevel ('724960844'). Oracle Clusterware cannot be started.CRS-4000: Command Startfailed, or completed with errors.</code>

从报错补丁 patch level 不一致导致。然后查看 mos

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">1.  Run the following command as the root user tocomplete the patching set up behind the scenes:#GI_HOME/bin:>  ./clscfg -localpatch2.  Run the following command as the root user tolock the GI home:#GI_HOME/crs/install:>  ./rootcrs.sh -lock3.  Run the following command as the root user tostart the GI:#GI_HOME/bin:>  ./crsctl start crs执行:[root@testrac2 bin]#./clscfg -localpatch[root@testrac2install]# ./rootcrs.sh -lock[root@testrac2 bin]#./crsctl start crs</code>

然后集群可以启动。

参考文档:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">CRS-6706: OracleClusterware Release patch level ('nnn') does not match Software patch level('mmm') (文档 ID 1639285.1)Patching 12.2.0.1 GridInfrastructure gives error CRS-6706: Oracle Clusterware Release Patch Level('748994161') Does Not Match Software Patch Level (文档 ID 2348013.1)</code>
5、内存大页配置过低 ORA-27106

由于内存大页配置小于 SGA 导致数据库无法启动。可调大HugePages内存大页或者改小 SGA,对于HugePages内存大页设置问题后面单独说明。

Oracle 19c RAC 遇到的几个问题

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

1090

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

380

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2028

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

379

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

1580

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

585

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

438

2024.04.29

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

2

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.2万人学习

Django 教程
Django 教程

共28课时 | 4.8万人学习

Excel 教程
Excel 教程

共162课时 | 20.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号