Oracle hints

Can anyone explain hints to me in non-DBA speak, please?

I’m running an SQL query (to populate a dashboard). It joins 10 large tables (all except one with inner joins - the single outer join is against a small indexed lookup table). I’m filtering the data very tightly, so my final result set is only around 2.5k rows.

I can run this from my pc in SQL Developer with a admin account on the data warehouse. It runs in a couple of minutes with no issues.

If I try to run it via a script from a server, it gives me tablespace errors and falls over. I have no idea why. I am running more complex queries with bigger results with no problems at all.

I know I need to tune/optimise the SQL somehow, but I’m not a DBA and don’t really understand what I am doing. I’ve tried adding a PARALLEL hint and an ORDERED hint - but I don’t know what order the tables ought to be in to start with. Our resident Oracle DBA/guru retired in the summer.

The current error is

ERROR: 3   
OraOLEDB: ORA-12801: error signaled in parallel query server P466
ORA-01652: unable to extend temp segment by 64 in tablespace TEMP

Any advice gratefully received!

Debbie

ETA: Fixed (after two days of googling) by adding a PARALLEL hint, plus rewriting all the joins and filters into ANSI-92 syntax. It doesn’t explain why other huge queries still run in non-ANSI-92, but at least it’s working …


Debbie :uk: (BOB member since 2005-03-01)

It could just be luck, and not from the changes you made to the query. The easy answer is to add more temp space, but your DBA should do the analysis for you.


joepeters :us: (BOB member since 2002-08-29)