물론 "GRANT ANALYZE ANY TO [스키마명];"으로 해당 권한을 줄 수는 있으나,
다소 넌센스한 상황으로 보여집니다.
동의어(SYNONYM) 존재 여부 또는 동의어 대상 객체의 차이도 영향이 있을 수 있으니,
프로시저 안의 EXECUTE IMMEDIATE 구문에서 대상 객체(테이블/인덱스)의 소유자를 직접 명시해 보시고
(TABLE_NAME → OWNER.TABLE_NAME)
프로시저 호출 시에도 소유자명을 명시해 보시길 바랍니다. (DBA_SYNONYMS도 확인)
또한
DBA_SYS_PRIVS
DBA_ROLE_PRIVS
DBA_TAB_PRIVS
에서 관련된 권한/롤 부여 현황도 확인해 보시길 바랍니다.