随笔 - 116  文章 - 5  评论 - 1  阅读 - 14万

记一次rac数据库服务器重启后crsctl命令调用出错的问题

问题描述:

在一次重启RAC数据库服务器之后,使用crsctl命令查询各资源与服务的状态,发现调用出错,还以为 是集群软件出了问题,结果用crs_stat -t 命令发现各资源状态都是正常的。

 

 

查找了几个小时未果,最后终于确定前面在调试一个监听起不来的问题时,增加了环境变量LDR_CNTRL=SHARED_SYMTAB=Y

因为是听别的大神说的,要加这个变量,也不太明白这个变量代表的是什么,这次出问题,查了一下一个这个变量

https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/performance/misc_tun_params.html

IBM的官方文档

 

The LDR_CNTRL environment variable can be used to control one or more aspects of the system loader behavior. You can specify multiple options with the LDR_CNTRL variable. When specifying the option, separate the options with the '@' sign. An example of specifying multiple options is: LDR_CNTRL=PREREAD_SHLIB@LOADPUBLIC.

Specifying the SHARED_SYMTAB=Y option causes the system to create a shared symbol table for a 64-bit program, if the program exports any symbols. If multiple instances of the program run concurrently, using a shared symbol table can reduce the amount of system memory that is required by the program.

 

Specifying the SHARED_SYMTAB=N option prevents the system from creating a shared symbol table for a 64-bit program. This option overrides the AOUT_SHR_SYMTAB flag in the XCOFF auxiliary header.

LDR_CNTRL=SHARED_SYMTAB=Y这个设置会使系统创建共享symbol

很显然我的报错信息里提示 crsctl.bin调用时,某些symbol is not exported, 所以才会报错。

注释掉环境变量就没有问题了。

这提示我不懂的事情一定要搞明白,一定不能只是按照别人教的来弄,还是要每做一步操作都要十分清楚明白。

 

最后搞清楚了一点,crsctl 只是一个运维工具,跟集群的正常启动没有关系。

posted on   JennyYu  阅读(355)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示