Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-22813:Operandenwert überschreitet Systemgrenzen

Ich bin bei einem früheren Job in einer Data-Warehousing-Umgebung auf eine ähnliche Situation gestoßen.

Hat Ihr DBA pga_aggregate_target oder _pga_max_size oder beides erstellt? Denken Sie daran, dass wenn der DBA pga_aggregate_target auf 150 MB erhöht, dies nicht bedeutet, dass Ihre Sitzung in der Lage wäre, all diese 150 MB zu erfassen. Oracle lässt zu, dass eine bestimmte Sitzung nur einen kleinen Bruchteil dieses Speicherplatzes einnimmt. Das Erhöhen von pga_aggregate_target von 150 MB auf 200 MB gibt Ihrer Sitzung nur ein paar zusätzliche MB Speicher, mit dem Sie für In-Memory-Operationen IIRC spielen können.

Wenn Ihr DB-Server über mehr verfügbaren Speicher verfügt, müssen Sie Ihren DBA sowohl pga_aggregate_target als auch _pga_max_size erhöhen lassen, andernfalls müssen Sie sich mit der Verwendung einer GTT oder dem Erstellen einer Scratch-Tabelle befassen, um Ihre Daten darin abzulegen und dann daran zu arbeiten dort.