Oracle Database / Accounts, Security & Access
ORA-01031: identify the exact missing privilege in its execution context
An operation can work interactively but fail inside stored code because privilege checks differ. Preserve the exact failing statement and object owner.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
SELECT privilege FROM session_privs ORDER BY privilege;
Read the result
SESSION_PRIVS describes currently available system privileges in this session. It does not list every object grant or prove that a definer-rights program can use role-derived rights.
Resolve and verify
Check object grants, enabled roles and definer or invoker rights in the actual execution path. Request the narrow required direct grant where the design requires it.
Operational precautions
Avoid ANY privileges or DBA grants as a generic repair. Test under the application identity, not SYS.