重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛

标题: 【RAC搭建】节点移除过程报错解决“Can't locate Env.pm in @INC” [打印本页]

作者: Inkcup    时间: 2025-3-27 14:29
标题: 【RAC搭建】节点移除过程报错解决“Can't locate Env.pm in @INC”
实验环境:
Oracle Linux 7.9,Oracle DB&GI 11.2.0.4

实验操作:
从rac1,rac2,rac3,rac4四个集群的节点中移除rac1。

在进行到运行脚本时,发生报错如下:
[root@rac2 bin]# cd /u01/app/11.2.0.4/grid/crs/install/
[root@rac2 install]# ./rootcrs.pl -deconfig -force

Can't locate Env.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . .) at crsconfig_lib.pm line 703.
BEGIN failed--compilation aborted at crsconfig_lib.pm line 703.
Compilation failed in require at ./rootcrs.pl line 305.
BEGIN failed--compilation aborted at ./rootcrs.pl line 305.

报错产生原因:

缺少Perl模块 Env.pm

解决的方法:
1.检查模块是否存在:

# find /usr -name "Env.pm" 2>/dev/null

2.不存在则安装或修复Perl环境:

# yum install -y perl-core

3.再次检查:
# find /usr -name "Env.pm" 2>/dev/null
/usr/share/perl5/vendor_perl/Env.pm

4.添加缺失路径到Perl的模块搜索路径
临时修复:

# export PERL5LIB=/usr/share/perl5:$PERL5LIB
长期修复:
在rootcrs.pl 或 crsconfig_lib.pm 中显式添加模块路径:
use lib '/usr/share/perl5';  # 添加在脚本开头

5.再次运行脚本

# ./rootcrs.pl -deconfig -force
···

Successfully deconfigured Oracle clusterware stack on this node #成功标志












欢迎光临 重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2