sqlplus 远程连接给出 ORA-21561

sqlplus remote connection giving ORA-21561

我已经根据给定的说明安装了 sqlplus here

sqlplus 'username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SID=ORCL)))'

这给我错误

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 
$

获得答案here

1 - 获取您的主机名:

$主机名

新主机

2 - 改变/etc/hosts的内容:

$ 须藤猫 /etc/hosts

127.0.0.1 本地主机 localhost.localdomain 本地主机 4 localhost4.localdomain

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

$ 须藤纳米 /etc/hosts

$ 须藤猫 /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>

查找本地计算机名称的方法

系统偏好设置>共享(找不到就自己搜索) 在顶部你可以看到你的本地计算机名称

或者您可以使用 "hostname" 命令获取本地计算机名称

看看/etc/sysconfig/network 如果需要更改主机名