ORA-04258
Cause
Database Resource Manager enforced a limit for this session's use of private memory, referred to as the session's Program Global Area. The Resource Manager limit, session_pga_limit, is too low for MLE to start.
Action
Identify the session's resource consumer group and use it to identify the session_pga_limit. Increase the consumer group's session_pga_limit using Database Resource Manager API, then retry the operation.
Additional Information
To identify the session experiencing the ORA-04258
error, the
resource consumer group, and the currently active Oracle Database
Resource Manager (Resource Manager) plan, connect as an
administrative user to CDB$ROOT
and run the following query:
SELECT
s.sid,
s.serial#,
s.inst_id,
s.resource_consumer_group,
(
SELECT
name
FROM
gv$rsrc_plan p
WHERE
s.con_id = p.con_id
AND s.inst_id = p.inst_id
) dbrm_plan
FROM
GV$SESSION s
WHERE
s.username = '&username';
Once the resource consumer group and Resource Manager plan are
identified, look up the value of SESSION_PGA_LIMIT
. For example:
SELECT
PLAN,
GROUP_OR_SUBPLAN,
SESSION_PGA_LIMIT
FROM
cdb_rsrc_plan_directives
WHERE
PLAN = '&PDB_RESOURCE_MANAGER_PLAN'
AND GROUP_OR_SUBPLAN = '&RESOURCE_CONSUMER_GROUP';
A call to the DBMS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE()
PL/SQL package can be used to increase the limit.