mlw*_*mos 1 oracle compiler-errors sqlplus
我想知道如何在sqlplus中显示错误.
尝试编译一个视图
alter view SYS.DBA_XML_SCHEMAS compile;
我有消息:
ERROR at line 1:
ORA-04063 : view altered with compilation errors.
Run Code Online (Sandbox Code Playgroud)我尝试:
show errors;
它说 :
No errors
Run Code Online (Sandbox Code Playgroud)我尝试:
show errors view SYS.DBA_XML_SCHEMAS
Run Code Online (Sandbox Code Playgroud)它说 :
LINE/COL ERROR
0/0 ORA-00942 : table or view does not exist
Run Code Online (Sandbox Code Playgroud)如果我可以编译错误,视图必须存在或它会告诉我该视图不存在.我不知道如何显示视图的编译错误
谢谢
您可以直接查询dba_errors视图或all_errors视图; show errors无论如何,SQL*Plus 命令似乎是一个包装器.
select line, position, attribute, text
from dba_errors
where owner = 'SYS'
and type = 'VIEW'
and name = 'DBA_XML_SCHEMAS'
order by sequence;
Run Code Online (Sandbox Code Playgroud)
但根据show errors告诉你的内容,只会显示相同的内容,错误"ORA-00942:表或视图不存在"从第0行位置0开始.
这没有多大意义,但内部观点有时是奇怪的事情,尝试重新编译它可能不是一个好主意.
您可能需要让DBA运行utlrp.sql以重新编译数据库中的所有无效对象.与您在SYS模式下所做的任何事情一样,这应该谨慎进行; 并且只有从视图中选择仍然表示它无效且重新编译失败.