Error code
Oracle ORA-04031
ORACLEORA-04031
Database Error Code· An error code returned by a database server such as PostgreSQL or MySQL.
What it means
unable to allocate shared memory — the shared pool or large pool is exhausted.
How to fix it
- Increase the SGA component size by raising SHARED_POOL_SIZE or enabling automatic memory management (MEMORY_TARGET).
- Flush the shared pool with ALTER SYSTEM FLUSH SHARED_POOL to clear fragmentation as a temporary measure.
- Use bind variables to improve cursor sharing and reduce the number of unique SQL texts stored in the shared pool.
Not affiliated with Oracle. Answer summarized from the manufacturer's manual linked above; consult that source for the authoritative procedure.
More Oracle codes
- ORA-00001unique constraint violated — duplicate value in unique index
- ORA-00054resource busy and acquire with NOWAIT specified — lock unavailable
- ORA-00060deadlock detected while waiting for resource
- ORA-00904invalid identifier — the column or alias name is not recognized
- ORA-00911invalid character — the SQL statement contains an unexpected character
- ORA-00918column ambiguously defined — the column name matches more than one table in the query
- ORA-00933SQL command not properly ended — unexpected token at the end of the statement
- ORA-00942table or view does not exist — the named object is not accessible
- ORA-00955name is already used by an existing object — DDL name conflict
- ORA-01017invalid username/password — logon denied
- ORA-01400cannot insert NULL into a NOT NULL column
- ORA-01403no data found — a SELECT INTO or FETCH returned no rows