oracle表项不存在
在3层体系结构上安装sap时,我需要安装数据库实例(oracle)和中央实例(sap)以及两台不同的计算机。 完成数据库安装并继续中央实例安装后,安装程序正在尝试访问一个表,但由于以下错误而失败oracle表项不存在,oracle,installation,hp-ux,sap-basis,Oracle,Installation,Hp Ux,Sap Basis,在3层体系结构上安装sap时,我需要安装数据库实例(oracle)和中央实例(sap)以及两台不同的计算机。 完成数据库安装并继续中央实例安装后,安装程序正在尝试访问一个表,但由于以下错误而失败 SELECT USERID, PASSWD FROM SAPUSER WHERE USERID IN (:A0, :A1) OCI呼叫失败,原因是 -1=OCI_错误SQL错误942:'ORA-00942:表或视图不存在' ***错误=>ORA-942当 访问SAPUSER表 所以我查了一下,发现有两
SELECT USERID, PASSWD FROM
SAPUSER WHERE USERID IN (:A0, :A1)
OCI呼叫失败,原因是
-1=OCI_错误SQL错误942:'ORA-00942:表或视图不存在'
***错误=>ORA-942当
访问SAPUSER表
所以我查了一下,发现有两种情况是可能的
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
现在我很困惑,这张桌子有没有空。原因是什么?如何解决?您是以谁的身份登录的?除非是表的所有者,否则您需要更改代码以包含所有者ie
select * from OPS$E64ADM.SAPUSER
这取决于您从何处访问对象 检查以查看您作为哪个用户登录
SQL> SHOW USER
这将显示您作为哪个用户登录,
如果您在OPS$E64ADM中,则直接使用
SQL> select * from SAPUSER;
如果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
SAPUSER表是保存实际数据库登录信息的表。在您的E64ADM中,它通常只能由adm用户读取。通常,ADM用户由外部标识(即由操作系统标识)。由于您的中心实例与数据库实例不在同一台计算机上,您可能需要检查E64ADM在数据库上的标识方式。只有该用户应该有权访问该表,出于安全原因,不建议授予其他用户访问权限。有关OPS$-mechanism的详细信息,请参见注释50088和400241。谢谢@DirkTrilsbeek,但正如我所提到的,它是一个三层体系结构,其中数据库实例和中央实例预期安装在单独的机器上。我没有偏离标准安装过程,因此不确定现在是否需要进行任何更改。。