Oracle EBS R12.2 adlnkoh.sh执行报错
前言
在Oracle E-Business Suite(EBS)环境中,adlnkoh.sh脚本用于重建ORACLE_HOME目录符号链接,确保目标环境中的ORACLE_HOME路径与新环境一致。
一、核心作用
-
重建符号链接(Symbolic Links)
克隆过程中,数据库实例的物理路径(如$ORACLE_HOME)可能因目标环境目 录结构变化而失效。adlnkoh.sh 会重新创建指向新路径的符号链接,确保数据库可执行文件、配置文件等资源的正确引用。
例如:若原环境ORACLE_HOME为/u01/oracle/ebsdb,克隆到目标环境后路径变为/new/oracle/ebsdb,该脚本会更新所有依赖ORACLE_HOME的软链接 -
适配上下文变更
EBS通过AutoConfig更新上下文文件后,需运行此脚本同步OHS环境路径(如TNS_ADMIN, ORACLE_HOME/network/admin)。 -
克隆环境标准化
在新克隆的EBS节点中,确保OHS二进制文件链接到当前环境的绝对路径(而非源环境路径)。 -
修复环境变量依赖
脚本自动修正oraInst.loc、oratab等文件中的路径,避免因路径错误导致数据库启动失败或监听器异常。
二、错误详情
从日志中看adlnkoh.sh脚本执行报错,进入到make.log日志中,发现最终是因为genclntsh: Failed to link libclntsh.so.10.1执行报错。
############### adlnkoh.sh 执行日志
Starting relink of ORACLE_HOME - RDBMS
Adding execute permission to : /u01/ebs/db/12.1.0.2/appsutil/install/adlnkoh.sh
Executing cmd : /u01/ebs/db/12.1.0.2/appsutil/install/adlnkoh.shadlnkoh.sh started at Thu Aug 14 15:21:45 CST 2025
logfile located in /u01/ebs/db/12.1.0.2/install/make.logError while running adlnkoh.sh. Please check logfile.end std out.############### make.log 日志running genclntsh...
/usr/bin/ld: skipping incompatible /u01/ebs/db/12.1.0.2/lib/libsql10.a when searching for -lsql10
/usr/bin/ld: cannot find -lsql10
collect2: ld returned 1 exit status
genclntsh: Failed to link libclntsh.so.10.1
三、错误详情
在EBS安装或者克隆过程中,服务器必须存在相应的依赖。而当前报错是因为服务器中不存在compat-gcc-34-3.4.6-4.1.x86_64.rpm依赖,导致adlnkoh.sh脚本在重新链接时报错。
四、解决方案
进入红帽仓库下载对应的依赖到服务器执行安装即可。再次重新执行即可
# 依赖名称
compat-gcc-34-3.4.6-4.1.x86_64.rpm