ORA-00942: Table or view does not exist(表或视图不存在)
Oracle含义
查询中引用的表或视图不存在,或对访问用户不可见。
原因
对象确实不存在、对象位于其他 schema 而未指定 schema 前缀、用户缺少该对象的权限(如 SELECT)、缺少同义词,或对象名拼写错误。
解决方法
检查对象是否存在及其属主:SELECT owner, object_type FROM all_objects WHERE object_name = 'TABLE_NAME'。如果位于其他 schema,使用 schema.table 完整限定,或授权 GRANT SELECT ON app_schema.my_table TO app_user。必要时创建公共/私有同义词:CREATE SYNONYM my_table FOR app_schema.my_table。注意大小写和带引号的标识符。
同一数据库的其他条目
- ORA-04031Unable to allocate N bytes of shared memory(无法分配 N 字节共享内存)
- ORA-12154TNS: could not resolve the connect identifier specified(TNS:无法解析指定的连接标识符)
- ORA-12514TNS: listener does not currently know of service requested in connect descriptor(TNS:监听程序当前无法识别连接描述符中请求的服务)
- ORA-01031Insufficient privileges(权限不足)
- ORA-00257Archiver error. Connect internal only, until freed(归档进程错误。在释放之前仅允许内部连接)
- ORA-01000Maximum open cursors exceeded(超出打开游标的最大数)
- ORA-00018Maximum number of sessions exceeded(超出最大会话数)