Does GRANT CREATE ANY PROCEDURE auto grants EXECUTE on created obj to user?

I have a User ABC which has GRANT CREATE ANY PROCEDURE on schema XYZ. Now, I create a new Function in schema XYZ using my ID ABC named "func123". My question is, would my User ID ABC being creator of func123 be able to EXECUTE it by default ???
Note: ID ABC has not been explicitly given GRANT EXECUTE on this func123 function, neither it has GRANT EXECUTE ANY PROCEDURE on schema XYZ.
Thanks in advance.

There is no such thing as 'create any procedure on schema xyz'. When an user has create any procedure, he can create a procedure in any schema, including SYS.
You have an unprotected and unsecured database by granting this powerful privilege to multiple users.
Also when you create a procedure in a different schema, that schema becomes the owner, not the user creating it.
Kindly brush up your basics and (re)read documentation.
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • CREATE ANY PROCEDURE privilege

    Hello,
    According to my exam prep source,
    A user having the CREATE ANY PROCEDURE system privilege can also alter, drop, and execute the PL/SQL subprograms in his own schema as well as other schemas without any further privileges being required.
    I have run a test and this appears to be *******. I (as SYSDBA) granted the privilege to SCOTT, created (as SCOTT) a procedure in HR, and tried (as SCOTT) to execute that procedure, and it didn't work. So it would appear my source is incorrect.
    Similarly, SCOTT is unable to DROP or ALTER the procedure that he just created.
    Is there any way at all to find out what other privileges, than the obvious (create a procedure in any schema) are attached to this system privilege. This kind of information does not appear to be easy to find and it would be useful, rather than having to spend time creating and recreating scenarios to try to deduce what the "set" of privileges attached to a named privilege actually are.
    Of course, what is really desired, is something that works not just for CREATE ANY PROCEDURE, but for any privilege. 
    Thanks.

    Your exam prep source is not correct, see the example below. I hope it wasn't a book I wrote or edited. If it was, send me the details and I'll make sure the publisher includes this in the errata. It is frighteningly easy for such things to slip through the technical edit process.
    orcl> create user jw identified by jw;
    User created.
    orcl>
    orcl> grant create session,create any procedure to jw;
    Grant succeeded.
    orcl> conn jw/jw
    Connected.
    orcl> create procedure scott.p1 as begin
      2  null;
      3  end;
      4  /
    Procedure created.
    orcl> exec scott.p1
    BEGIN scott.p1; END;
    ERROR at line 1:
    ORA-06550: line 1, column 13:
    PLS-00904: insufficient privilege to access object SCOTT.P1
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    orcl> drop procedure scott.p1;
    drop procedure scott.p1
    ERROR at line 1:
    ORA-01031: insufficient privileges
    orcl>

  • Can i create any procedure or function inside a oracle reserve package?

    Hi!
    Can i create any procedure or function inside a oracle reserve package. Suppose, I want to create a function called x in the dbms_output package. Can i do that? Or can i extend the features of this package and create/derived a function from it like we extend any class in JAVA. I'm not sure - whether this is at all possible. I'll be waiting for your reply.
    Thanks in advance.
    Satyaki De.

    No, but you can write a wrapper package and use that instead of using the Built-In package directly. So, instead of calling DBMS_OUTPUT, you call your own Package.
    Steven Feuerstein wrote a wrapper for DBMS_OUTPUT, called P:
    Re: DBMS_OUTPUT.PUT_LINE

  • SQL Developer 2.1 EA2 does not show any procedures

    With this version, the Navigation Tree does not show any procedures.

    The query issued internally is:
    SELECT OBJECT_NAME, OBJECT_ID,
                DECODE(STATUS, 'INVALID', 'TRUE', 'FALSE') INVALID,
                'TRUE' runnable,
                PLSQL_DEBUG
    FROM SYS.DBA_OBJECTS o, dba_plsql_object_settings s
    WHERE o.OWNER = :SCHEMA
    AND s.OWNER = :SCHEMA
    AND s.name = o.OBJECT_NAME
    AND s.TYPE = :TYPE
    AND OBJECT_TYPE = :TYPE
    AND   SUBOBJECT_NAME IS NULL
    AND   OBJECT_ID NOT IN ( SELECT PURGE_OBJECT FROM RECYCLEBIN )Issue that in a worksheet to see what is failing...
    K.

  • Creating Stored Procedure Logs when executed via dbms_jobs..

    Hello Everybody,
    I am having a stored procedure which we are executing it via dbms_jobs..
    I wanted to print the dbms_output of my stored procedure to some log file or in short just wanted to create some logs for this stored procedure..
    I know if i run this procedure using cron i will be able to create a logfile..
    But how can i achieve this in using dbms_jobs
    Database Version : 10.2.0.1
    Any help would be great..
    Thanks

    There are several choices, you can log things into database table, and the review the table.
    Another option is to use UTL_FILE package to write log file in operating system.
    With kind regards
    Krystian Zieja
    [Project Envision|http://www.projectenvision.com]

  • How to create one procedure which can drop and create materialized view

    Hi,
    I want to create one pl/sql procedure which can first drop materialized view CATEGORY_PK and after that create same materialized view CATEGORY_PK.
    programme is as follows:
    DROP MATERIALIZED VIEW CATEGORY_PK;
    CREATE MATERIALIZED VIEW CATEGORY_PK REFRESH FORCE WITH PRIMARY KEY AS
    SELECT cav1.ownerid AS categoryid, p.uuid AS productid ,p.domainID AS productdomainid,pav.stringvalue AS NAME
         ,pav2.stringvalue AS ID, pav3.stringvalue AS SHORT
    FROM product p, product_av pav, catalogcategory_av cav1, catalogcategory_av cav2,product_av pav2,product_av pav3
    WHERE
    cav1.NAME = 'PRODUCT_BINDING_ATTRIBUTE' AND
    cav2.NAME = 'PRODUCT_BINDING_VALUE' AND
    cav1.ownerid = cav2.ownerid AND
    p.uuid = pav.ownerid AND
              p.uuid = pav2.ownerid AND
              p.uuid = pav3.ownerid AND
    pav.NAME = cav1.stringvalue AND
              pav2.NAME = cav1.stringvalue AND
              pav2.NAME = cav1.stringvalue AND
    pav.stringvalue = cav2.stringvalue AND
              pav2.stringvalue = cav2.stringvalue AND
              pav3.stringvalue = cav2.stringvalue
    UNION
    SELECT catalogcategoryid AS categoryid, productid, repdomainid AS productdomainid,pav1.stringvalue AS NAME
         ,pav2.stringvalue AS ID, pav3.stringvalue AS SHORT
    FROM productcategoryassignment ,product_av pav1,product_av pav2,product_av pav3
         WHERE pav1.ownerid=productid
         AND pav2.ownerid=productid
         AND pav3.ownerid=productid
         AND pav1.NAME='name'
         AND pav2.NAME='productID'
         AND pav3.NAME='shortDescription';

    user498566 wrote:
    I want to create one pl/sql procedure which can first drop materialized view CATEGORY_PK and after that create same materialized view CATEGORY_PK.That sounds like a waste of time and resources. What do you hope to achieve by this? A refresh? If so, a simple refresh of the old materialized view will do.
    If you truly want to continue this road, you'll have to use the EXECUTE IMMEDIATE command to execute DDL commands from within PL/SQL.
    Regards,
    Rob.

  • Why doesn't the "grant execute any procedure" work?

    Hi to all.
    I want to grant the execute privilege for all SYS schema functions/procedures. To achieve it I do the following:
    SQL> connect sys/*****@orcl
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    Connected as SYS
    SQL> create user test identified by test;
    User created
    SQL> grant create session to test;
    Grant succeeded
    SQL> grant execute any procedure to test;
    Grant succeeded
    According to the [http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm] the "grant execute any procedure" - grants Execute procedures or functions, either standalone or packaged.
    So, the steps seem to be right. Then, I try to connect to the test user and execute any procedure from the SYS schema, for example, dbms_lock.sleep:
    SQL> connect test/test@dizzy/orcl
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    Connected as test
    SQL> begin
    2 sys.dbms_lock.sleep(1);
    3 end;
    4 /
    begin
    sys.dbms_lock.sleep(1);
    end;
    ORA-06550: line 3, column 1:
    PLS-00201: identifier 'SYS.DBMS_LOCK' must be declared
    ORA-06550: line 3, column 1:
    PL/SQL: Statement ignored
    So, the execution fails due to insufficient rights. However, the direct grant on the sys.dbms_lock works!
    SQL> connect sys/*****@dizzy/orcl as sysdba
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    Connected as SYS
    SQL> grant execute on dbms_lock; to test;
    grant execute on dbms_lock; to test
    ORA-00911: invalid character
    SQL> grant execute on dbms_lock to test;
    Grant succeeded
    SQL> connect test/test@dizzy/orcl
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    Connected as test
    SQL> begin
    2 sys.dbms_lock.sleep(1);
    3 end;
    4 /
    PL/SQL procedure successfully completed
    So, to be sure that the grant on any procedure from the definite scheme is given, should I avoid giving the execute any procedure grant?
    P.S. Is there any special tag for code?
    Thanks in advance.

    Sybrand, thank you for the reply.
    You are right. I tried to connect by another user NOT SYS and created the function:
    SQL> create user testic identified by i;
    User created
    SQL> grant create session, execute any procedure to testic;
    Grant succeeded
    SQL> create or replace function get1 return number is
      2  begin
      3  return 1;
      4  end;
      5  /
    Function created
    SQL> connect testic/i@orcl
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
    Connected as testic
    SQL> select get1 from dual;
    select get1 from dual
    ORA-00904: "GET1": invalid identifier
    SQL> select kaisa_rgali.get1 from dual;
          GET1
             1Thank you for the tag. This's exactly what I asked about.
    Finally, I tried t open the hyperlink http://download.oracle.com/docgs/cd/B10501_01/server.920/a96521/privs.htm but it failed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Execute any procedure???

    Inorder to execute the job at the allotted time the user need to be able to create a procedure and execute it.
    but is execute any procedure privilege required to enable scheduling???
    what could be the reason??
    this allow the user to run procedures created by other users, right?

    Hi Visakh
    From my own notes here is what I have:
    Setting up Workbook Scheduling
    ==============================
    The workbook scheduling feature in Discoverer uses native features in the Oracle DBMS, and is therefore only available when running against the Oracle database. This feature uses the same highly scalable and reliable processing procedures within the kernel, since the summary management capability and the setup for both features is similar. These procedures use standard packages in the DBMS called DBMS_JOB.
    To enable the processing procedures for workbook scheduling in Discoverer, follow these steps:
    A. Grant Schedule Workbook Privilege to the user.
    B. Confirm that DBMS_JOBS has been installed.
    C. Specify result set storage.
    D. Set the time period at which the process kicks in.
    These procedures are described in the following sections:
    A.  Grant Schedule Workbook Privilege to the User
    The user must be granted the Schedule Workbooks privilege in the Privileges dialog. Connect to the Administration Edition, and grant the Schedule Workbooks privilege in Tools | Privileges dialog.
    B.   Confirming that DBMS_JOBS is Installed
    1. Log onto SQL*Plus as the Administrator, and execute the following SQL statement:
    SQL> select * from all_objects where object_name='DBMS_JOB' and object_type = 'PACKAGE';
    2. If you get no rows returned you need to install this package. Your DBA will know how to do it.
    C.  Specifying Result Set Storage
    When a scheduled workbook is run, the results are stored in database tables within the database. The resulting data created as part of the workbook scheduling process may be stored in one of two areas: the user's own schema or a centralized schema.
    User's Schema
    In order to enable workbook scheduling in the user's own database schema, the user requires the following database privileges:
    Create Procedure - needed to create the job
    Create Table - needed to create tenporary holding table(s) for the results, each run of the same scheduled worksheet produces a new temporary table - see general notes at end for more help
    Create View - needed to pull the results from the database
    You will also need these three grants:
    SELECT ON SYS.V_$PARAMETER;
    EXECUTE ON SYS.DBMS_JOB; won't be able to execute the job without this
    UNLIMITED TABLESPACE; needed to stop user's schema running out of space while creating the table(s) of results. Discoverer does not leave it to the DBA to set artificial limits. The only way it knows for certain that it will have enough is to have this privilese.
    As you can see, execute any procedure is not needed.
    When the schedule is first created a view is created. This allows Discoverer to run that view at the scheduled time using whatever conditions and parameters you have set. The results are populated into the table when the query is run. If you subsequently have multiple sets of results you will see them named T1, T2 and so on.
    To grant these privileges, do the following:
    1. Log onto SQL*Plus or SQLDBA as the Database Administrator.
    2. Type the following:
    SQL> Grant CREATE PROCEDURE to <USER>;
    SQL> Grant CREATE TABLE to <USER>;
    SQL> Grant CREATE VIEW to <USER>;
    where <USER> is the userid of the person who is to be allowed to schedule workbooks.
    These privileges must be granted directly to the user and not to a database role.
    Advantages: A database limit can be specified on the maximum amount of data a user can store in the database. If the result set is stored under the user's schema, then you keep control over the maximum amount of space one individual user can fill with result sets. If the user creates a scheduled workbook that fills that space, it affects only his/her own scheduled workbook.
    Disadvantage: The user is required to have the above privileges in the database.
    Repository User's Schema
    In order to enable workbook scheduling using a centralized repository user's schema, the SQL script batchusr.sql must be run in SQL*Plus or SQLDBA as a database administrator (such as, SYSTEM). This script creates a new user that is granted the above privileges.
    In addition, the administrator of the EUL must change the user so that the Repository User property is pointing to the repository user's schema just created. The centralized repository user's schema may be customized by the database administrator for space management purposes and underlying data access.
    NOTE: SELECT ANY TABLE access is given by the script batchusr.sql, but this may be limited provided the repository user's schema is granted access to the underlying data that will be accessed for workbook scheduling.
    The repository user created will not be able to directly schedule a workbook through the User Edition.
    Advantages: Each user does not need DML procedures to run scheduled workbooks.
    Disadvantages: One user can potentially run a scheduled workbook that fills the available result set space, preventing other scheduled workbooks from running until it is cleared.
    D.  Setting the Start Time for Workbook Processing
    The workbook processes run within the database on the server, and are controlled by parameters in the initialization file of the Oracle DBMS - the INIT<SID>.ORA file.
    To limit the number of processing requests that can run simultaneously:
    The parameter job_queue_processes specifies the number of concurrent processes to use to process DBMS_JOB. It controls the number of processing requests that can be handled simultaneously. The default value is zero, which means processing requests will not be created. You should set it to a minimum of 2 or more if you have any other applications that use DBMS_JOB.
    You need more than one job queue process, because if one job fails for any reason, it may keep getting re-submitted, and thus, prevent everything else in the queue from being completed. If you want to have 10 simultaneous processing requests handled, then you will need to set this to 10.
    The INIT<SID>.ORA parameter job_queue_interval is the time in seconds that controls how often the job processes wake up to process pending jobs. The default is 60, which is quite frequent. What you set this to depends on how frequently you want the process to wake up and serve the requests that have been made. Oracle recommends that you update the 60 seconds default to at least 10 minutes (a value of 600).
    NOTE: This parameter also affects summary management.
    To enable these parameters:
    1. Locate the INIT<SID>.ORA file.
    For example, on Personal Oracle7 the INIT<SID>.ORA file is held in <ORACLE_HOME>\database. Its default name is INITORCL.ORA where ORCL is the <SID> name.
    2. Enter 2 lines into the file. For example:
    job_queue_processes = 2
    job_queue_interval = 600 (equivalent to 10 minutes)
    GENERAL NOTES:
    The summary management and workbook scheduling features both use this scheduling capability within the Oracle DBMS. The interval you specify and the number of concurrent requests affect both features.
    The results from the worksheet are held in a temporary table until you remove the results or you delete the scheduled workbook.
    Tables look like this: EUL5_B060914015847Q1R1
    Views look like this: EUL5_B060914015847Q1V1
    These temporary tables are stored within the schema of the user who owns the workbook - not within the standard EUL schema. The format of the table is as follows:
    EUL5_B060914015847Q1R1 which can be broken into six separate pieces.
    These pieces are as follows:
    EUL5_ B YYMMDD HHMISS Q9 R9, where
    EUL5_ is a fixed name
    B means Batch and is a constant
    YYMMDD is the date that the worksheet was run,
    HHMISS is the time when the worksheet was run, the time is in the 24 hour clock format,
    Q9 means this is the letter Q followed by a number - E.g. Q1, which signifies the query number. I believe Oracle have some plans to allow multiple queries but for now this is always Q1,
    R9 means this is the letter R followed by a number - E.g. R1, R2 and so on. This is the run number.
    Using the above logic therefore, this is a valid example:
    EUL5_B090914015847Q1R1
    This means this is result set number 1 for query 1, run at 1:58:46 AM on 14th September 2009.
    So if you can figure out which worksheet was scheduled and when it was run you can build a view that sits on top of the latest table to give you the latest results. Something else which adds interest here is that the column names within the table do not match the column names as in your original query. The scheduled results column names use generic names such as BRVC1, BRVC2, BRD1, BRD2, BRN1 and BRN2.
    These are codes and can be interpreted as follows:
    BRCV1 and BRCV2 mean Batch Result Var Char 1 and 2,
    BRD1 and BED2 mean Batch Result Date 1 and 2,
    BRN1 and BEN2 mean Batch Result Number 1 and 2
    Best wishes
    Michael

  • DEBUG ANY PROCEDURE

    Oracle 9.2.0.6, soon to be 11.1.0.7...
    Please double-check my understanding of the documentation.
    We have at least one developer who likes to use the PL/SQL Debugger functionality, which requires DEBUG ANY PROCEDURE (http://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg10pck.htm#37819).
    Our system DBAs are wisely hesitant in granting an "ANY" privilege. My understanding is that even though this privilege has "ANY" in the name, it is not highly privileged like ALTER ANY TABLE, EXECUTE ANY PROCEDURE, etc.
    Should I (or the system DBAs) have any reservation with this privilege in development and test environments?
    The SQL reference notes that it is equivalent to granting DEBUG on every applicable object. (http://docs.oracle.com/cd/B10501_01/server.920/a96540/statements_912a.htm#2075179).
    If I read this right, and if a DBA will not grant DEBUG ANY PROCEDURE, I should be able to grant DEBUG on each PL/SQL object to the developer to get the same result?
    Thanks

    in my opinion the Debug is quite safe privilege. It will not alter the procedure.
    however still I chose not to grant it in Prod environment since it may cause locking issue (library cache pin).

  • Recovery Disc Creator does not list any discs for creation

    Brand new NB200-10G (this a UK model). When I run TOSHIBA Recovery Disc Creator it does not show any discs for creation and the CREATE option is greyed out so I cannot create the discs. Now... when I first got it I did not have a USB DVD writer with me but I ran RDC out of curiosity to see the devices it might offer. At that time it DID list discs to be created but I cancelled out. I get the impression the program thinks it has created the discs and I believe I read somewhere that it will not create the discs more than once. I think it must have set a switch in the registry or .ini files somewhere to indicate that the discs have been created. If so does anyone know how to "undo" this? Drive D (data) and hidden partition *appear* to be intact.
    If this is not possible then I guess I could try the "press key 0 at power up" method to restore to original install setting and this might then enable me to create the discs but I'm concerned that if the restore fails in a destructive way that I might be left without a working PC. TIA Ken
    Solved!
    Go to Solution.

    OK all fixed!
    Restore using key 0 at power up worked fine and cured the ToRDC problem. It then let me produce 2 copies of the restore DVD. Don't know what caused the problem... issue CLOSED.
    Ken  

  • Migration from 2003 - 2010, OAB errors on client, and OAB virtual directory does not contain any files.

    Migration from 2003 - 2010, OAB errors on client, and OAB virtual directory does not contain any files. 

    Hi,
    Please re-create the Outlook profile to have a try. If the issue persists, we can do the further checks in Exchange server.
    Please make sure you have changed the OAB generation server to Exchange 2010 and enable Web distribution on the Exchange 2010 Client Access server:
    Move-OfflineAddressBook "Default Offline Address List" -Server <MBX2010>
    If all configurations are correct, please check whether there is any folder in the following path in Exchange sever 2010:
    a. OAB generation in Mailbox:
    \\Program Files\Microsoft\Exchange Server\V14\ExchangeOAB
    b. OAB distribution in Client Access:
    \\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB
    Thanks,
    Winnie Liang
    TechNet Community Support

  • Hi - I have just bought my first IPAD and I need to transfer from my MAC a 'recipe file' consisting of many, doc and docx files - I have also just bought Keynote to do this but I can't seem to transfer,, does anyone have any suggestions? Thanks

    Hi - I have just bought my first IPAD [3 rd gen, no wifi] and one of the things I want it to do is to accept transfered word files
    preferably as folders from my MAC - I just bought Keynote but it doesn't seem to work. My files are all doc and docx so I think
    perhaps looking into it more I should have bought Pages instead,, but I don't want to spend more money on another app if
    possible. Does anyone have any suggestions?

    You can download a complete iPad User Guide here: http://manuals.info.apple.com/en/ipad_user_guide.pdf
    Also, Good Instructions http://www.tcgeeks.com/how-to-use-ipad-2/
    Apple - iPad - Guided Tours
    http://www.apple.com/ipad/videos/
    Watch the videos see all the amazing iPad apps in action. Learn how to use FaceTime, Mail, Safari, Videos, Maps, iBooks, App Store, and more.
    How to - Articles & User Guides & Tutorials
    http://www.iphone-mac.com/index.php/Index/howto/id/4/type/select
    iPad How-Tos  http://ipod.about.com/lr/ipad_how-tos/903396/1/
    You can download this guide to your iPad.
    iPad User Guide for iOS 5
    http://itunes.apple.com/us/book/ipad-user-guide-for-ios-5/id470308101?mt=11
     Cheers, Tom

  • "GRANT EXECUTE ANY PROCEDURE TO " does not work in some cases

    Hello,
    I some of my PL/SQL-packages I'm using DBMS-packages.
    Because I don't want to grant access for every single package, I granted EXECUTE ANY PROCEDURE to the user/schema of my packages.
    This did work in several installation.
    But for what reason ever, in one installation DBMS_RANDOM cannot be used (DBMS_RANDOM must be declared). If I explicitly grant execute on this package, it works. When I revoke it and renew the ANY PROCEDURE, it doesn't again.
    What's wrong.
    Version 11.2.0.2 on Win2008R2
    Regards,
    Mynz

    Mynz wrote:
    Hello,
    I some of my PL/SQL-packages I'm using DBMS-packages.
    Because I don't want to grant access for every single package, I granted EXECUTE ANY PROCEDURE to the user/schema of my packages.
    This did work in several installation.
    But for what reason ever, in one installation DBMS_RANDOM cannot be used (DBMS_RANDOM must be declared). If I explicitly grant execute on this package, it works. When I revoke it and renew the ANY PROCEDURE, it doesn't again.
    What's wrong.privilege acquired via ROLE do NOT apply within named PL/SQL procedures/functions

  • Dynamic SQL and GRANT CREATE ANY TABLE

    hi gurus,
    i have a dynamic SQL in a procedure where a table will be created from an existing table without data.
    strSQL:='create table ' || strTemp || ' as select * from ' || strArc || ' where 1=2';
    execute immediate strSQL;
    without GRANT CREATE ANY TABLE for the user, *"ORA-01031: insufficient privileges"* error during execution.
    Is there a way to tackle this issue without providing GRANT CREATE ANY TABLE privilige?
    many thanks,
    Charles

    ravikumar.sv wrote:
    The problem is not because of dynamic sql...It probably has something to do with dynamic SQL or, more accurately, dynamic SQL within a stored procedure.
    From a SQL*Plus command prompt, you can create a table if your account has the CREATE TABLE privilege either granted directly to it or granted to a role that has been granted to your account. Most people probably have the CREATE TABLE privilege through a role (hopefully a custom "developer role" that has whatever privileges you grant to users that will own objects but potentially through the default RESOURCE role). That is not sufficient to create tables dynamically via a definer's rights stored procedure. Only privileges that are granted directly to the user, not those granted via a role, are visible in that case.
    I expect that the DBAs are granting the CREATE ANY TABLE privilege directly to the account in question rather than through whatever role(s) are being used which is why that appears to solve the problem.
    Justin

  • Grants for a procedure to create a snapshot

    Hi Forum,
    I'm struggling with identifiying the necessary system rights to enable a procedure to create a snapshot using execute immediate.
    Is anybody aware of the grants which have to be assigned to the user owning that proc?
    Thx for any help,
    Juergen

    Hi,
    sure:
    I'd like to execute a statement such as the following:
    Execute Immediate ('
    create materialized view test_mv
    start with sysdate
    next round(sysdate + 1) + 2/24
    as <select-statement>');
    the statement works well if I send it to the database directly but fails with error 'insufficient rights' when executed from within a proc using the above kind of statement.
    I granted 'CREATE ANY SNAPSHOT' to the owner of the procedure already.
    Best regards,
    Juergen

Maybe you are looking for

  • MAKING UNLIMITED INDICATOR AS GREY MODE IN SERVICE TAB OF SERVICE P.O

    Dear cons In service purchase order we want to make unlimited delivery indicator in a grey mode in service tab. I tried in screen layout of purchase order. In purchase order there are two field of unlimited indicator. One is available in delivery tab

  • Could not complete iTunes store request error 4002

    When I try to update the Genius app I get the above message " We could not complete your iTunes store request  An Unknown error ocurred, 4002". I also get this error message when I launch the ITunes. I've searched the ITunes for Windows commmunity an

  • Standby DB on Windows OS

    When a windows server has to be restarted for OS upgrades (etc.), what guarantees that the Standby DB will startup in mount and recovery mode? I ahev checked the Windows registry and the ora_autostart registry key reads TRUE. All that says to me is t

  • Nested site navigation using Web Page Composer (WPC)

    Is it possible to nest navigation nodes using Web Page Composer? I have created a WPC site and added pages, but I am required to create a node with sub-pages (similar to adding a folder to a workset) for a site. Has anyone done this or know how to ea

  • Songs Don't Get Added Correctly To My Nano From My iTunes Playlists.

    Some of the songs from my iTunes playlist don't get imported onto my Nano for some reason. I tried over and over--first deleting the playlist, then adding the playlist again to my Nano, but the same songs still don't get added correctly. They show up