自动编译对象
http://www.cnblogs.com/quanweiru/archive/2013/03/14/2958738.html
检查无效对象索引等
http://blog.itpub.net/28408358/viewspace-764437/
无效对象
sELECT /owner, object_name, object_type,status/*
FROM dba_objects
WHERE status = ‘INVALID’;
循环编译无效同义词
DECLARE
l_sql VARCHAR2(100);
BEGIN
FOR i IN (SELECT DISTINCT object_name
FROM dba_objects
WHERE status = 'INVALID'
AND object_type = 'SYNONYM'
AND owner = 'EBS_DEV') LOOP
l_sql := 'ALTER SYNONYM ' || i.object_name || ' COMPILE';
execute immediate l_sql;
END LOOP;
END;