By default, stored procedures and SQL methods execute with the privileges of their owner, not their current user. Such definer's rights subprograms are bound to the schema in which they reside, allowing you to refer to objects in the same schema without qualifying their names. By default the generated code is deployed with definer's rights.
Optionally, the generated code can be deployed with invoker's rights. Invoker's rights allows you to create one instance of the procedure that many users can call to access their own data. Invoker's rights is the preferred setting when developing procedures that will be used to create and apply models in any users account. For example, if both USER1 and USER2 want to use generated code installed in the DMUSER schema, then you would grant them execute rights to the generated code. With invoker's rights, when USER1 and USER2 run the procedures to create their own models, the models reside in each user's account with no conflicts between users. If someone wants to apply a model created by USER1, they would then have to access it as USER1.
For a detailed discussion of invoker's rights versus definer's rights, see Chapter 8 of Oracle Database PL/SQL User's Guide and Reference.
Copyright © 2006, 2008, Oracle. All rights reserved.