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中打開出現編譯錯誤的函數或存儲過程,這里以存儲過程為例。