前文( http://blog.itpub.net/81227/viewspace-2668066/ ) 已经讲述了Ubuntu 16.04系统下Oracle客户端和SQLPLUS工具的安装。
本文记录了在Ubuntu 16.04下Oracle客户端连接远程服务器时遇到的ORA-21561 OID generation failed 问题的解决办法。
Ubuntu 16.04 系统下,安装了Oracle客户端和SQLPLUS工具后,通过sqlplus连接数据库,遇到问题:“ORA-21561: OID generation failed”。
root@SvrInterface: ~# sqlplus mandala_ods@ods
SQL*Plus: Release 11.2.0.4.0 Production on Mon Dec 9 14:23:24 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-21561: OID generation failed
查了Oracle文档,讲了问题的原因与环境变量有关。
ORA-21561: OID generation failed
Cause: The handles passed in may not be valid
Action: Check the validity of the env, svc handles
上网查了一下,查到讲是主机名的问题,具体讲就是:
在/etc/hosts文件中,127.0.0.1对应的主机名与hostname返回的主机名不符。
root@SvrInterface: ~# hostname
SvrInterface
root@SvrInterface: ~# cat /etc/hosts
127.0.0.1 localhost
192.168.84.153 SvrNursePDA
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
修改 /etc/hosts 文件,把127.0.0.1对应的主机名改成hostname返回的主机名,二者相符后,问题排除。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/81227/viewspace-2668268/,如需转载,请注明出处,否则将追究法律责任。