• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 125
  • Last Modified:

Parallel Execution SQL

With Parallel execution in Oracle, is there a way to only allow certain procedures to use it?

We have a scheduler which runs our critical jobs, only these should be allowed to use parallel (even if someone has put parallel hints in non scheduled procedures)

I want to block anything other than specified procedures from using it.
0
janoxley
Asked:
janoxley
  • 4
  • 3
1 Solution
 
sdstuberCommented:
use different resource plans for different users.

One of the options of a resource plan is the maximum degree of parallelism
0
 
janoxleyAuthor Commented:
Cheers but the problem is that we can have multiple people using the same username (don't ask!)

I need to somehow control which stored procedures are able to use Parallel.
0
 
sdstuberCommented:
sorry, but resource plans are applied at the user level.

Can the scheduler be created with a dedicated user distinct from what people use?
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
sdstuberCommented:
you can set it lower level though,  associate a resource plan with a service name

have the scheduler connect to the database via one service
and other users connect via another service.
0
 
janoxleyAuthor Commented:
The scheduler has it's own dedicated username with greater permissions than a "normal" (i.e someone who logs in via toad or sqlplus etc)
It's 3rd party software installed by the DBA's and we have control via an GUI front end (on windows enterprise 7)
It's vendor support is no longer supplied for the out of date version we have (£££)

So, i'd need to be able to allow the user "scheduler" the ability to run parallel sql but restrict the other nonsys db users.

It may be something i need to ask the DBA's to do but maybe I can do it my self if there's a way to do it by logging on each nonScheduler user (and nonsys) and set some kind of "Don't use parallel" type parameter therby leaving only the scheduler with that ability?

P.S. how do I spellcheek on this website?
0
 
sdstuberCommented:
yes you will need to have your DBAs make a change,  

have them create 2 resource plans, or alter existing ones.

One plan has max parallel degree of 1  (i.e. do not parallelize) - assign all normal users to this plan.

One plan has max parallel degree of unlimited (this is the default for most plans) - assign the scheduler user to this plan.
0
 
janoxleyAuthor Commented:
Cheers...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now