Oracle 如何在sqlplus中显示错误

Oracle 如何在sqlplus中显示错误,oracle,compiler-errors,sqlplus,Oracle,Compiler Errors,Sqlplus,我想知道如何在sqlplus中显示错误 尝试编译一个视图 alterview SYS.DBA\u XML\u模式编译 我要传达的信息是: ERROR at line 1: ORA-04063 : view altered with compilation errors. 我尝试: show errors view SYS.DBA_XML_SCHEMAS 显示错误 它说: No errors LINE/COL ERROR 0/0 ORA-00942 : table or

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

  • 尝试编译一个视图

    alterview SYS.DBA\u XML\u模式编译

  • 我要传达的信息是:

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

    show errors view SYS.DBA_XML_SCHEMAS
    
    显示错误

  • 它说:

    No errors
    
    LINE/COL  ERROR
    
    0/0       ORA-00942 : table or view does not exist
    
  • 我尝试:

    show errors view SYS.DBA_XML_SCHEMAS
    
  • 它说:

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


    谢谢

    您可以直接查询
    dba\u错误
    视图或
    所有错误
    视图;不管怎样,SQL*Plus
    showererrors
    命令似乎是一个包装器

    select line, position, attribute, text
    from dba_errors
    where owner = 'SYS'
    and type = 'VIEW'
    and name = 'DBA_XML_SCHEMAS'
    order by sequence;
    
    但是根据
    show errors
    告诉您的内容,这将只显示相同的内容,第0行位置0处的错误“ORA-00942:表或视图不存在”

    这没有多大意义,但内部视图有时很奇怪,尝试重新编译一个视图可能不是一个好主意


    您可能需要让DBA在数据库中运行。与您在SYS模式下想做的任何事情一样,这应该小心地完成;仅当从视图中选择时,仍然表示它无效且重新编译失败。

    当您尝试从SYS.DBA\u XML\u架构中选择时会发生什么情况
    ?为什么要编译SYS视图?我知道SQL*Plus在编译视图时很少抛出错误消息,我将只运行与视图关联的SQL,错误处理消息将更加详细(例如,行和错误抛出)。