sql - Want to enable PARALLEL and NOLOGGING on Oracle Delete statement -


i have huge table more 3.5 billion records increases 500k each day, want delete records before year 2014. every delete command run, after few hours fall error state, looking @ doing job faster, last command run was:

delete /*+ parallel (8) */ xyz year <= 2014; 

after 744 minutes

ora-12801: error signaled in parallel query server

i guess if run delete command both parallel , nologging, switch maybe this, don't know how run session in nologging state , @ same time enable parallel command, know can run

delete /*+ nologging parallel (8) */ xyz year <= 2014; 

but find in somewhere, seems command parallel hint ignored.

please advise on how run delete command both in parallel , nologging

not logging delete operation won't much. there small amount of things redone delete operation.

the problem here huge amount of undo(it contains every row deleted in order inserted in case of error/rollback). also, parallel speed things, don't change amount of undo.

i see here 2 solutions/workarounds:

  1. increase undo tablespace.(talk dba)

  2. delete in smaller chunks.(for example, delete 4 months, commit, again 4 months, commit again, etc.)

update: i'm little unsure statement above redo. because writing in undo will generate redo. however, longest part of execution of delete rollback because hit exception(it may 2/3 of time). splitting task in 3-4 chunks may faster failed query.


Comments

Popular posts from this blog

java - UnknownEntityTypeException: Unable to locate persister (Hibernate 5.0) -

python - ValueError: empty vocabulary; perhaps the documents only contain stop words -

ubuntu - collect2: fatal error: ld terminated with signal 9 [Killed] -