主要内容包括:
- 集群软件主要组件介绍
- 集群软件的启动顺序
- 集群启动问题故障诊断
- 集群启动问题案例分析
- 集群启动问题数据收集技巧
- RAC 数据库启动问题诊断
培训资料下载:
Doc ID 2906499.2
Q&A :
Q1. 对于高版本的linux,init服务是否发生了变化?
A1. 是的。 Linux 7 以后,由服务管理的初始化程序,用于管理它的 systemctl 命令, 但是 init.ohasd 仍然存在。
通过以下命令验证 ohasd 服务
# systemctl status oracle-ohasd.service
Q2. ora.storage 资源具体是做什么用的?
A2. 在12c之前的版本中,如果启动时 OCR 存储发生问题会导致 CRSD 中 OCR服务器发生故障并异常关闭。
通常在这种情况下,用户可能会关注CRSD 相关进程的问题,检查CRSD日志文件来进行分析。
在12c之后,为了防止不必要的crsd服务异常关闭和更容易进行问题诊断。
添加了 ora.storage 资源。当集群启动时,发现ora.storage offline,说明此时是ocr 发生了问题,需要检查ocr 为什么不可以读取。
Q3. 请问专家,是否网络丢包也会引起集群启动问题?
A3. 是的,网络丢包也是一种网络问题。
我们可以通过OSWatcher netstat 输出里的 IP 信息看到 fragments dropped after timeout, packet reassembles failed 持续大量增长。
说明网络层出现了IP 丢包问题,此时也会导致cssd 或 crsd 无法与其他节点的进程进行通信,从而无法正常启动集群。
有时,网络丢包还会导致集群的asm 或 DB 实例发生实例驱逐。
对于网络丢包的问题,建议客户参考Oracle一个专门讲网络问题的文档Doc ID 563566.1,
此时可以适当增加 OS 的 IP buffer,或者对于私网流量大的集群,建议启用 jumbo frame.
它可以使MTU 从1500 ,增加到 9000,这样就减少了网络IP 层的分包和组包,从而减少影响集群稳定性的因素。
Q4. 如何同时停掉所有服务器节点的 crs?
A4. crsctl stop cluster -all 可以停止所有节点的cluster 服务进程(除了ohasd 的服务进程)。
参考文档:https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/oracle-clusterware-control-crsctl-utility-reference.html#GUID-5F74BE9A-1F85-4E60-B321-693FC70500A3
Q5. 19c后,修改public网段,集群无法启动
A5. 请按照文档 “如何修改集群的公网信息(包括 VIP) (Doc ID 1674442.1)” 来修改public 公网信息以免问题的产生。
Q6. tfactl收集的日志包我们自己能看吗?除了上传到MOS以外,有自己可以用的分析工具吗?
A6.TFA主要是把各类问题的相关文件都集成打包到了一起,您可以解压查看其中文件。
Q7. 今天分享的案例适用于Oracle哪个版本呢?
A7. 主要是19c,很多问题是各个版本通用的。
Q8. 如果数据库或集群的日志不在默认的目录中,tfa如何收集?
A8. 请参考以下文档添加文件夹使 TFA 可以识别,从而可以收集此文件夹的日志。
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/tfactl-directory.html#GUID-87FDED7C-80C8-4111-AB1C-4BEEFFDBA326
Q9. ORA-29770 was occured because of the LGWR is hung for a long time, so LMHB process terminating the instance.
A9. 一般需要检查TFA,OSW,ora-29770说明OS资源发生了某种问题,需要检查OS资源情况和网络情况。
Q10. 一个节点gi或db可执行文件权限被修改,如何快速恢复权限?
A10. 通常权限的修改是由于打补丁时发生错误,没有运行权限修复脚本导致的。请按照以下方法修改:
1) As root OS user, please unlock the Grid Infrastructure Oracle Home (on every node) as follows:
# cd < Grid Infrastructure Oracle Home >/crs/install
# perl rootcrs.pl -unlock
Note: On 12.1/12.2/19c releases, rootcrs.sh can be used instead of rootcrs.pl. Command as “rootcrs.sh -unlock”
Note: On 12/21c <GI_HOME>/crs/install/rootcrs.sh -prepatch can be used to stop and unlock the GI home — clusterware must be up and running to use this option
2) As root OS user again, please execute the next commands (on every node):
# cd < Grid Infrastructure Oracle Home >/rdbms/install/
# ./rootadd_rdbms.sh
# cd < Grid Infrastructure Oracle Home >/crs/install
# perl rootcrs.pl -patch
Note: On 12.1, use “rootcrs.sh -patch”.
Note: On 12.2/21c, use “rootcrs.sh -lock” then “crsctl start crs”
Note: On 12/21c <GI_HOME>/crs/install/rootcrs.sh -postpatch can be used to start and lock the GI home
Q11. 11g和19c这两个版本GI有哪些差异呢?
A11. 11g 到 19c 中间有 12c和 18c,它们的版本区别是主键累积的,请看以下文档对每个版本的区别的介绍,从而可以好地理解11g 到 19c 的区别。
https://docs.oracle.com/database/121/CWLIN/whatsnew.htm#CHDIIBFG
https://docs.oracle.com/en/database/oracle/oracle-database/18/cwlin/changes-in-this-release-for-oracle-grid-infrastructure-installation-guide.html#GUID-7E17356F-9B6E-4357-8755-B3A99A984ED4
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/release-changes.html#GUID-03D3277B-3420-4B3A-930B-A4C950CE0D00
Q12. 现在最为稳定,中国区使用最多的是那个版本的RAC?
A12. 通过 SR 来看,目前大部分客户使用的是 19c 的 RAC,19c 也是 Oracle 长期support 的版本。
Q13. 19c RAC 的哪个 RU 中国区使用的最多呢?
A13. Oracle 建议使用最新的RU,目前最新的是19.18,因为它修复了当前常见的已知问题,可以使 RAC 更稳定。
Q14. 請問目前19c RAC 用戶大多用 non-cdb or cdb ?
A14. CDB 多租户的模式,可以有很多 PDB 库可以实现集中似的管理。
根据客户的需要,cdb 和 non-cdb 都有客户在使用,具体哪种使用多这个是没有统计的。
Q15. RAC 磁盘超时问题导致数据库重启怎么解决?
A15. 如果是磁盘超时没有响应,请参考文档“ASM diskgroup dismount with “Waited 15 secs for write IO to PST” (Doc ID 1581684.1)” 调整_asm_hbeatiowait的值。
建议最好请提一个 SR 把问题数据库的版本信息和TFA收集的日志上传做详细分析。
Q16. MTU 要交换机配合一起改才有效的吧?
A16. 是的,需要网络层配合。
Q17. MTU 建议设置多大?
A17. RAC 建议设置为 9000,也就是启用Jumbo Frame,同时也需要设置前做详尽测试。
参考文档:
Recommendation for the Real Application Cluster Interconnect and Jumbo Frames (Doc ID 341788.1)
Q18. 集群日誌用客製shell備份,日誌搬移到其他目錄,執行tfa收集前,日誌需要還原到原目錄嗎?
A18. 如果日志不是很多并可以移到之前的目录,请移动到之前的目录。或者,
请参考以下文档添加文件夹使 TFA 可以识别,从而可以收集此文件夹的日志。
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/tfactl-directory.html#GUID-87FDED7C-80C8-4111-AB1C-4BEEFFDBA326
Q19. 在 ovm 里面集群进程都是一样的吗?
A19. OVM 主要是针对 Exadata, ODA 平台,上面安装的集群软件进程也基本是一样的,有的进程如 diskmon 进程在普通 RAC 为offline,在Exadata 环境为 online
Q20. The ratio of fragments received/total packets received > 20% The ratio of fragments created/total requests sent out > 20% OSW 的这两个指标>20% 可以适当加大MTU的吧
A20. Oracle 没有文档说明这两个指标大于20%,MTU 需要加大。
通常影响集群稳定的是 netstat -s` 中的 fragments dropped after timeout和 packet reassembles failed的持续增长。
此时建议根据文档 ” Doc ID 2008933.1 ” 增加 IP buffer。
如果还是有集群或 DB 驱逐的问题,建议根据文档 ” Doc ID 341788.1 ” 启用 Jumbo Frames 即增加 MTU 到 9000。