oracle table 条目不存在

oracle table entry does not exist

在 3 层架构上安装 sap 时,我需要安装数据库实例 (oracle) 和中央实例 (sap) 以及两台不同的机器。 完成数据库安装并继续中央实例安装后,安装程序尝试访问 table 并失败并出现以下错误

SELECT USERID, PASSWD FROM
SAPUSER WHERE USERID IN (:A0, :A1)

OCI-call failed with -1=OCI_ERROR SQL error 942: 'ORA-00942: table or view does not exist'

*** ERROR => ORA-942 when accessing table SAPUSER

于是查了一下,发现有两种可能

  1. Table不存在或
  2. 用户对此没有访问权限Table

接下来我检查了 table,并在 dba_tables、

中找到了一个条目
SQL> select owner from dba_tables where table_name='SAPUSER';

OWNER
------------------------------
OPS$E64ADM

但是当尝试使用 select 查询从中获取数据时

SQL> select * from SAPUSER;
select * from SAPUSER
              *
ERROR at line 1:
ORA-00942: table or view does not exist

现在我很困惑,table是否可用。这是什么原因,如何解决?

您是以谁的身份登录的?除非它是 table 的所有者,否则您需要更改代码以包含所有者,即

select * from OPS$E64ADM.SAPUSER

这取决于您从何处访问对象,

检查您以哪个用户身份登录

SQL> SHOW USER

这将显示您登录的用户身份, 如果你在 OPS$E64ADM 中,直接使用

查询
SQL> select * from SAPUSER;

if show user show anyother user 你需要权限才能从其他用户访问它,可以询问 dba 或者如果你有访问权限那么 运行,

SQL>  grant select on OPS$E64ADM.SAPUSER to username;  -- the username from which you want to access the table;

然后,您可以从其他用户访问,使用

SQL> select * from OPS$E64ADM.SAPUSER