1. 以下存储过程编译正常,其中的SQL语句在PLSQL执行也正常,但是在存储过程中执行即报告错误:ORA-01031: insufficient privileges。 
  2.  
  3. create or replace procedure DBA_REBUILD_INDEX 
  4. As 
  5. Begin 
  6. execute   immediate  'alter index PK_DUBAI_STORAGE_OUT_MANIFEST  rebuild online'; 
  7. execute   immediate  'alter index WATERGAUGE_PK  rebuild online'; 
  8. Return; 
  9. end DBA_REBUILD_INDEX; 
  10.  
  11. 查找资料后发现,在存储过程中添加如下内容即可:Authid Current_User,修改后的存储过程结构如下 
  12. create or replace procedure DBA_REBUILD_INDEX  Authid Current_User 
  13. As 
  14. Begin 
  15. execute   immediate  'alter index PK_DUBAI_STORAGE_OUT_MANIFEST  rebuild online'; 
  16. execute   immediate  'alter index WATERGAUGE_PK  rebuild online'; 
  17. Return; 
  18. end DBA_REBUILD_INDEX;