1. oracle导完数据为什么要编译无效对象
网友采纳如果无效对象的数量很少,那么你可以逐个编译这些对象. ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procere COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE;
2. oracle 哪些情况会导致view失效
view引用的对象失效
比如表不存在了、函数失效或者不存在了、引用的视图失效或者不存在了
3. oracle 存储过程无法编译,删除,一旦执行该操作PLSQL就会出现未响应
存在无效对象,用plsql菜单中的工具先“编译无效对象”
4. 如何在Oracle中重编译所有无效的存储过程
:在SQL_PLUS中:spool ExecCompProc.sql select 'alter procere ' ||object_name||' compile;' From all_objects where status = 'INVALID' and object_type = 'PROCEDURE'; spool off @ExecCompProc.Sql;整理成一个存储过程:Create Or Replace Procere Zl_Compile_Invalid_Procere AsStrsql Varchar2(200);BeginFor x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') LoopStrsql := 'Alter Procere ' || x.Object_Name || ' Compile';Begin Execute Immediate Strsql; Exception--When Others Then Null; When OTHERS Then dbms_output.put_line(Sqlerrm); End;End Loop;End;最后执行:exec Zl_Compile_Invalid_Procere;如果要看到无法重编译的过程的出错信息,需要执行前设置set serverout on。
5. 在oracle report bulider开发中,pl/sql语句中出现了view该怎么办
给一个全能编译 无效数据库对象的脚本。
只要一运行什么都有了。。。
select decode(OBJECT_TYPE,
'PACKAGE BODY',
'alter package ' || OWNER || '.' || OBJECT_NAME ||
' compile body;',
'alter ' || OBJECT_TYPE || ' ' || OWNER || '.' || OBJECT_NAME ||
' compile;')
from dba_objects A
where STATUS = 'INVALID'
and OBJECT_TYPE in ('PACKAGE BODY', 'PACKAGE', 'FUNCTION', 'PROCEDURE',
'TRIGGER', 'VIEW')
order by OBJECT_TYPE, OBJECT_NAME;
6. 如何重编译ORACLE数据库的无效对象
Oracle中出现无效对象,就是因为在创建函数或存储过程等,里边的内容书写不正确导致。如果要重新编译,需要先修正错误,然后编译。
工具:Oracle10g、PL/SQL
步骤:
1、在PL/SQL中打开出现编译错误的函数或存储过程,这里以存储过程为例。