Oracle sqlplus远程连接提供ORA-21561
我已经根据给出的说明安装了sqlplus 这给了我错误Oracle sqlplus远程连接提供ORA-21561,oracle,sqlplus,Oracle,Sqlplus,我已经根据给出的说明安装了sqlplus 这给了我错误 SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 10 16:10:38 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-21561: OID generation failed Enter user-name: 这个问题的解决方案是什么 PS:我已经添加了主机名,主机已经有了价值。
SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 10 16:10:38 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-21561: OID generation failed
Enter user-name:
这个问题的解决方案是什么
PS:我已经添加了主机名,主机已经有了价值。试试这个,不要加单引号
sqlplus username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SID=ORCL)))
将服务器名称附加到主机文件 如果您的/etc/hosts文件如下所示:
127.0.0.1 localhost localhost.localdomain
应改为:
127.0.0.1 localhost localhost.localdomain hostname
主机名可以通过命令“hostname”获得。此问题也可能是由于对
/etc/hosts
文件的错误权限造成的。如果Oracle uid不可读,则会显示错误
确保每个人都能阅读您的/etc/hosts:
$ ls -l /etc/hosts
-rw-r--r-- 1 root system 7446 Mar 28 23:03 /etc/hosts
$
得到了答案
1-获取您的主机名:
$hostname
新主人
2-更改/etc/hosts的内容:
$sudo cat/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
$sudo nano/etc/hosts
$sudo cat/etc/hosts
127.0.0.1本地主机新主机
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
希望这对您有所帮助(:如果您正在使用Mac,请在/etc/hosts中的127.0.0.1中添加本地计算机名 就像
127.0.0.1 localhost <local_computer_name>
127.0.0.1本地主机
查找本地计算机名的方法
系统首选项>共享(如果找不到,请搜索)
在顶部可以看到您的本地计算机名
或者您可以使用“hostname”命令获取本地计算机名查看/etc/sysconfig/network
如果需要,请更改主机名dbvar=“(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SID=ORCL))”sqlplus用户名/密码@$dbvarSame错误。错误:ORA-21561:OID生成失败查看主机文件/etc/hosts中的内容此IP应有条目。127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain 4::1 localhost localhost.localdomain localhost6.localdomain 6 192.168.0.100 MYORACLE~~这很可能是一个
/etc/hosts
问题。首先,您使用的是Oracle的XE版本吗?其次,您在/etc/hos中有行吗ts
对于指定了正确的完全限定主机名的192.168.0.100?换句话说,如果hostname
在运行Oracle实例的计算机上执行时返回my pretty computer
,请执行nslookup“my pretty computer”
-这将返回完全限定的主机名。我没有使用XE。我应该在何处从192.168.0.100计算机或在本地计算机上运行nslookup?假设您的网络配置正确,在何处运行nslookup
。您可以尝试在两个位置运行它,以确保获得相同的响应!:-)nslookup“my pretty computer”服务器:8.8.8.8地址:8.8.8#53**服务器找不到我的pretty computer:NxDomainHats来自oracle Machine我发现这也解决了问题,即使我的服务器位于远程系统上,而不是本地。有人能解释为什么它会有帮助吗?它确实对我有用,但我使用的是AWS机器,在“弹性”事件中我无法轻松地进行这些更改。还有其他方法可以完成同样的事情吗?也许设置一些环境变量?对我来说是有效的,即使我的Oracle数据库位于远程计算机上。这似乎是mac的常见问题。帮助我连接到docker oracle容器
127.0.0.1 localhost <local_computer_name>