2010-12-16 3 views
0

simple requête provoque ora - 01013 erreuroracle délai de requête

select count (*) as counter, 'month_stat' as name 
from s_contact_x 
where created < last_upd 
and (sysdate - last_upd) < 1 

Message: Query failed ORA-01013: l'utilisateur demandé d'annuler l'opération en cours

Cette requête de sélection est en cours d'exécution avec succès dans TOAD éditeur, mais il faut 3-5 min obtenir resultset. Comme je l'ai compris, ce problème correspondant à l'expiration de la requête oracle, comment nous pouvons le définir dans la requête

+0

D'où appelez-vous cette requête quand il renvoie ORA-01013? –

+1

Seul le temps j'ai vu que je recevais ORA-600 dans le journal d'alerte. En termes de performances, si last_upd est indexé (et peut-être même si ce n'est pas le cas), vous feriez mieux de faire 'and last_upd> sysdate - 1'. –

+0

@Michael, la requête s'exécute dans l'adaptateur pour le système de gestion, je ne peux pas modifier les paramètres de connexion supplémentaires, seule requête – ziftech

Répondre

1

Comme d'autres l'ont suggéré, vous devriez d'abord regarder la modification des paramètres et l'ajout d'index. Si cela ne fonctionne pas, vous pouvez utiliser le parallélisme pour accélérer la requête:

select /*+ parallel(s_contact_x) */ count (*) as counter, 'month_stat' as name 
from s_contact_x 
where created < last_upd 
and (sysdate - last_upd) < 1