背景: 我使用的是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
答案 0 :(得分:0)
我最近在工作中遇到了这个问题 - 您通过sqlplus登录到Oracle并在连接时抛出ora-00942(表或视图不存在)。
事实证明问题是我们没有运行pupbld.sql
,它负责设置一组sqlplus
(和仅 sqlplus)关心的系统表。在使用sqlplus时能够为不同的帐户分配不同的权限是有关的,因此在连接时它会尝试访问这些表,如果你还没有运行pupbld.sql
,那么它会抛出一个ORA-00942,因为它需要的表没有那里。
您应该可以通过运行以下命令来解决问题:
sqlplus system/manager @?/sqlplus/admin/pupbld.sql
注意:以系统的形式运行它非常重要,因为预计表格会存在于系统架构中。