如何在sqlplus中显示错误

时间:2014-08-11 15:58:13

标签: oracle compiler-errors sqlplus

我想知道如何在sqlplus中显示错误。

  1. 尝试编译视图

    alter view SYS.DBA_XML_SCHEMAS compile;

  2. 我收到了消息:

    ERROR at line 1:
    
    ORA-04063 : view altered with compilation errors.
    
  3. 我试试:

    show errors;

  4. 它说:

    No errors
    
  5. 我试试:

    show errors view SYS.DBA_XML_SCHEMAS
    
  6. 它说:

    LINE/COL  ERROR
    
    0/0       ORA-00942 : table or view does not exist
    
  7. 如果我可以编译错误,视图必须存在或它会告诉我该视图不存在。我不知道如何显示视图的编译错误

    谢谢

1 个答案:

答案 0 :(得分:5)

您可以直接查询dba_errors视图或all_errors视图;无论如何,SQL * Plus show errors命令似乎都是一个包装器。

select line, position, attribute, text
from dba_errors
where owner = 'SYS'
and type = 'VIEW'
and name = 'DBA_XML_SCHEMAS'
order by sequence;

但根据show errors告诉你的内容,那只会显示相同的内容,错误" ORA-00942:表格或视图不存在"从第0行位置0。

这没有多大意义,但内部观点有时是奇怪的事情,尝试重新编译它可能不是一个好主意。

您可能需要让DBA在数据库中运行utlrp.sql to recompile all invalid objects。与您在SYS模式下所做的任何事情一样,这应该谨慎进行;并且只有从视图中选择仍然表示它无效且重新编译失败。