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
于是查了一下,发现有两种可能
- Table不存在或
- 用户对此没有访问权限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
在 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
于是查了一下,发现有两种可能
- Table不存在或
- 用户对此没有访问权限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