AIX 安装ORACLE报错oslevel: Timeout obtaining lock

Oracle idb 2843℃ 0评论

AIX 安装ORACLE报错oslevel: Timeout obtaining lock

今天在AIX 系统上面安装Oracle 11g软件(版本11.0.2.4),发现要等待很久才能到rootpre.sh这个检查系统安装前环境配置信息的步骤,而且还在终端提示oslevel: Timeout obtaining lock。通过网上搜索资料获悉,可能是/tmp/.oslevel.datafiles影响到。

查看系统版本

##当前执行安装Oracle软件的用户是 bmtest

查看.oslevel.datafiles目录,发现用户属组是另外一个用户(oradg)和用户组(dba)

将该目录重命名(其实可以删除,只不过为了后面的实验,这里先保留。)

重新执行./runInstaller安装,出现以下提示信息,表示可以正常调用runInstaller安装脚本。

问题解决了,Oracle数据库软件顺利安装完成,但是因为网上没有人解释这个问题,本人有点好奇心,所以做了一下2个实验。

1)/tmp目录下的【.oslevel.datafiles】这个隐藏目录是从哪里来的?

通过实验,发现只要是用户执行了oslevel 命令,就会在/tmp下生成这个.oslevel.datafiles目录。

确认当前/tmp目录下包含相关oslevel关键字的目录或者文件,这里的【.oslevel.datafiles】目录是执行runInstaller脚本时生成,具体原因后面会解释。

为了验证oslevel命令执行过后,是否会在/tmp下生成【.oslevel.datafiles】目录,先用root用户删除【.oslevel.datafiles】这个目录。

# id
uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security),8(cron),10(audit),11(lp)
# cd /tmp
# rm -fr .oslevel.datafiles

确认当前用户是bmtest

执行oslevel命令,这里以oslevel -s为例(其实也实验过单独执行oslevel命令也可以重现)

查看/tmp目录,发现生成了【.oslevel.datafiles】这个目录,只不过此时目录的属组是root:system。

登陆到root用户

删除bmtest用户执行oslevel -s命令生成的【.oslevel.datafiles】这个目录。

用root用户重新执行oslevel -s命令

发现一个有趣的结果是,无论是不是root用户执行oslevel命令,/tmp下面的【.oslevel.datafiles】这个目录属组都是root:system。

删除所有的.oslevel.datafiles目录。

2)问题2,runInstaller是否真的包含oslevel命令,通过查看runInstaller脚本文件内容,我们可以在225开始找到oslevel命令

我们来做实验看看,先确认/tmp下已经没有【.oslevel.datafiles】这个目录。

执行runInstaller

发现/tmp目录下确实生成了【.oslevel.datafiles】这个目录。

总结:

本次遇到”oslevel: Timeout obtaining lock”这个报错,是因为/tmp下的【.oslevel.datafiles】这个目录属组不是root用户,可能因为操作系统上面有多个数据库,被其他管理员修改过。导致该错误发生。

转载请注明:猫头鹰工作室 » AIX 安装ORACLE报错oslevel: Timeout obtaining lock

喜欢 (0)or分享 (0)
Avatar
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址