Database version - 8.1.6.3.4. Platforms - NT, win2000.
Problem:
firing a typical select with hint like /*+ parallel(u,4) */.
getting a:

The following error has occurred:

ORA-12801: error signaled in parallel query server P004
ORA-04030: out of process memory when trying to allocate 1049100 bytes (bind var heap,kllcqas:kllsltba)

star_tranformation_enabled = false, sort_area_size = 5214400, sort_area_retained_size = 5214400.

WHAT ELSE TO DO? I checked all metalink, found nothing good... That error happens unpredictably, sometimes it happens during index creation, sometimes during select,
sometime it complains about PGA - so, the problem is about PGA memory allocation, I suppose. It happens on several instances, 8.0.5 and 8.1.6.3.4 instances, different clients - seems like it`s something deep in kernel. How to avoid it?
I cannot change select - it`s hardcoded in application.
i also want to continue use PQ - it`s a huge data warehouse...

The current box: 7gig 4cpu dell, win2000, oracle has 4G in db-buffers and 500M in SGA. no stored procedures in memory, nothing - i shutdown it, startup, then fire a select - get this message.

Any ideas are welcome.

this is a init.ora:
db_files = 32
db_writer_processes=2
control_files = ("C:\Oracle\oradata\seth\control01.ctl", "C:\Oracle\oradata\seth\control02.ctl", "C:\Oracle\oradata\seth\control03.ctl")
open_cursors = 127
optimizer_mode = all_rows
parallel_automatic_tuning=true
parallel_broadcast_enabled=true
partition_view_enabled=true
star_transformation_enabled = false
query_rewrite_enabled = true
resource_limit=true
resource_manager_plan='SYSTEM_PLAN'
cursor_space_for_time = true
session_cached_cursors = 64
always_anti_join=hash
always_semi_join=hash
hash_area_size = 26428800

max_enabled_roles = 30
db_file_multiblock_read_count = 32
USE_INDIRECT_DATA_BUFFERS=TRUE


db_block_buffers = 253727

shared_pool_size = 529006591

large_pool_size = 5614400
java_pool_size = 16384

log_checkpoint_interval = 1000000
log_checkpoint_timeout = 0

processes = 127

parallel_max_servers = 64

log_buffer = 1048576
max_dump_file_size = 10240 # limit trace file size to 5M each
rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS7, RBS8, RBS9, RBS10, RBS11, RBS12, RBS13, RBS14, RBS15, RBS16, RBS17, RBS18, RBS19 )
global_names = true
oracle_trace_collection_name = ""
background_dump_dest = C:\Oracle\admin\seth\bdump
user_dump_dest = C:\Oracle\admin\seth\udump
db_block_size = 16384
job_queue_processes = 4
job_queue_interval = 60
open_links = 4
distributed_transactions = 10
compatible = 8.1.6
sort_area_size = 5214400
sort_area_retained_size = 5214400



[Edited by utkinpol on 05-25-2001 at 01:54 PM]