【问题标题】:ORA-00942 on connect through SQLPlus通过 SQLPlus 连接时出现 ORA-00942
【发布时间】:2015-01-20 15:23:29
【问题描述】:

上下文: 我使用 oracle 11.2.0.4 标准版。 我创建了一个新数据库(CREATE DATABASE + catalog + catproc) 当我连接这些数据库时遇到问题。 它可以工作,但我有一个 ORA-00942:表或视图不存在错误! 你知道这个问题吗?

>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 20 16:22:27 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL>  create user test PROFILE DEFAULT IDENTIFIED BY test  DEFAULT TABLESPACE TEST  TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED on test ACCOUNT UNLOCK;

User created.

SQL> grant connect to test;

Grant succeeded.
SQL> Disconnected from Oracle Database 11g Release 11.2.0.4.0 - 64bit Production


>sqlplus test/test

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 20 16:13:50 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-00942: table or view does not exist

Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

【问题讨论】:

  • 您是在登录时立即收到该错误,还是在选择表格时看到?
  • 如您所见,直接登录。之后,我可以工作..
  • 也许你的login.sqlglogin.sql 会产生这个。当您使用不同的 SQL 客户端时,您是否也会遇到这种情况?
  • 没有登录脚本。我对这个客户端的新数据库有问题(旧数据库运行良好)。当我连接另一个客户端时,它运行良好
  • 你最终解决了这个问题吗??

标签: oracle sqlplus


【解决方案1】:

我最近在工作中遇到了这个问题 - 你通过 sqlplus 登录到 Oracle 并在连接时抛出 ora-00942(表或视图不存在)。

原来问题是我们没有运行pupbld.sql,它负责设置sqlplus(和 sqlplus)关心的一堆系统表。这与在使用 sqlplus 时能够为不同的帐户分配不同的权限有关,因此在连接时它会尝试访问这些表,如果你没有运行 pupbld.sql 那么它会抛出 ORA-00942 因为它期望的表是没有。

您应该能够通过运行以下命令来解决问题: sqlplus system/manager @?/sqlplus/admin/pupbld.sql

注意:将其作为 system 运行非常重要,因为表应该存在于系统架构中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 2020-10-24
    • 2020-03-20
    相关资源
    最近更新 更多