Granting Privileges on Functions

Hi,
I have created two functions and am using them in a SQL statement. I would like to run the statement in apps mode, however the functions have been created under another account. I get this error message when running the statement in apps mode:
ORA-00904: "FUNC_GET_PO": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:   
*Action:
Error at Line: 12 Column: 86
I can run the SQL under the user account:
SELECT cck.concatenated_segments AS "Segment" ,
cc.code_combination_id AS "CCID",
jeh.je_header_id AS "Header ID",
jel.je_line_num AS "Line Number",
NVL ( src . user_je_source_name , '**********' ) AS "Source" ,
NVL ( cat . user_je_category_name , '**********' ) AS "Category" ,
jel . period_name AS "Period Name" ,
i.gl_date AS "GL Date",
s.vendor_name AS "Vendor Name",
s.segment1 as "Supplier No",
eul_fin_us.func_get_po(i.invoice_id, cc.code_combination_id) "PO No",
eul_fin_us.func_get_po_requester(i.invoice_id, cc.code_combination_id, func_get_po(i.invoice_id, cc.code_combination_id)) "PO Requester",
i.invoice_num AS "Transaction Number",
i.invoice_date AS "Invoice Date",
jel . description AS "Description" ,
jel.accounted_dr AS "Debit" ,
jel.accounted_cr AS "Credit" ,
NVL(jel.accounted_dr, 0) - NVL(jel.accounted_cr, 0) AS "Net Amount"
FROM apps.gl_code_combinations cc ,
apps.gl_code_combinations_kfv cck,
apps.gl_je_lines jel ,
apps.gl_je_headers jeh ,
apps.gl_je_batches jeb ,
apps.gl_je_categories cat ,
apps.gl_je_sources src,
apps.gl_import_references r,
apps.xla_ae_lines al,
apps.xla_ae_headers ah,
apps.xla_events e,
xla.xla_transaction_entities te,
apps.ap_invoices_all i,
apps.ap_suppliers s
WHERE ( cc.CHART_OF_ACCOUNTS_ID = 50328
AND jeh.LEDGER_ID IN
(SELECT acc.ledger_id
FROM apps.gl_access_set_ledgers acc
WHERE acc.access_set_id = 1000
AND jel.code_combination_id = cc.code_combination_id
AND cck.code_combination_id = cc.code_combination_id
AND jel.status
|| '' = 'P'
AND ( jel.accounted_dr != 0
OR jel.accounted_cr != 0 )
AND jeh.je_header_id = jel.je_header_id
AND jeh.actual_flag = 'A'
AND 1 = 1
AND jeh.currency_code != 'STAT'
AND jeb.je_batch_id = jeh.je_batch_id
AND jeb.average_journal_flag = 'N'
AND src.je_source_name = jeh.je_source
AND cat.je_category_name = jeh.je_category
AND r.je_header_id(+) = jel.je_header_id
and r.je_line_num(+) = jel.je_line_num)
and ( :period_name = jel.period_name
AND al.gl_sl_link_id(+) = r.gl_sl_link_id
AND al.ae_header_id = ah.ae_header_id(+)
AND al.application_id = ah.application_id(+)
AND ah.application_id = e.application_id(+)
AND ah.event_id = e.event_id(+)
AND e.application_id = te.application_id(+)
AND e.entity_id = te.entity_id(+)
AND NVL(te.source_id_int_1,-99) = i.invoice_id(+)
AND i.vendor_id = s.vendor_id(+) )
AND ( jel.ledger_id = 2041)
ORDER BY src.user_je_source_name ,
cat.user_je_category_name ,
jeb.name ,
jeh.name ,
cck.concatenated_segments ,
jel.je_line_num
Please note EUL_FIN_US is the user account, I have granted execute priviliges on both functions to user APPS but still no luck. Can anybody help?
Thanks

Hi,
one of the schema prefix is missing, (in the func_get_po_requester function call), use this version:
SELECT cck.concatenated_segments AS "Segment" ,
cc.code_combination_id AS "CCID",
jeh.je_header_id AS "Header ID",
jel.je_line_num AS "Line Number",
NVL ( src . user_je_source_name , '**********' ) AS "Source" ,
NVL ( cat . user_je_category_name , '**********' ) AS "Category" ,
jel . period_name AS "Period Name" ,
i.gl_date AS "GL Date",
s.vendor_name AS "Vendor Name",
s.segment1 as "Supplier No",
eul_fin_us.func_get_po(i.invoice_id, cc.code_combination_id) "PO No",
eul_fin_us.func_get_po_requester(i.invoice_id, cc.code_combination_id, eul_fin_us.func_get_po(i.invoice_id, cc.code_combination_id)) "PO Requester",
i.invoice_num AS "Transaction Number",
i.invoice_date AS "Invoice Date",
jel . description AS "Description" ,
jel.accounted_dr AS "Debit" ,
jel.accounted_cr AS "Credit" ,
NVL(jel.accounted_dr, 0) - NVL(jel.accounted_cr, 0) AS "Net Amount"
FROM apps.gl_code_combinations cc ,
apps.gl_code_combinations_kfv cck,
apps.gl_je_lines jel ,
apps.gl_je_headers jeh ,
apps.gl_je_batches jeb ,
apps.gl_je_categories cat ,
apps.gl_je_sources src,
apps.gl_import_references r,
apps.xla_ae_lines al,
apps.xla_ae_headers ah,
apps.xla_events e,
xla.xla_transaction_entities te,
apps.ap_invoices_all i,
apps.ap_suppliers s
WHERE ( cc.CHART_OF_ACCOUNTS_ID = 50328
AND jeh.LEDGER_ID IN
(SELECT acc.ledger_id
FROM apps.gl_access_set_ledgers acc
WHERE acc.access_set_id = 1000
AND jel.code_combination_id = cc.code_combination_id
AND cck.code_combination_id = cc.code_combination_id
AND jel.status
|| '' = 'P'
AND ( jel.accounted_dr != 0
OR jel.accounted_cr != 0 )
AND jeh.je_header_id = jel.je_header_id
AND jeh.actual_flag = 'A'
AND 1 = 1
AND jeh.currency_code != 'STAT'
AND jeb.je_batch_id = jeh.je_batch_id
AND jeb.average_journal_flag = 'N'
AND src.je_source_name = jeh.je_source
AND cat.je_category_name = jeh.je_category
AND r.je_header_id(+) = jel.je_header_id
and r.je_line_num(+) = jel.je_line_num)
and ( :period_name = jel.period_name
AND al.gl_sl_link_id(+) = r.gl_sl_link_id
AND al.ae_header_id = ah.ae_header_id(+)
AND al.application_id = ah.application_id(+)
AND ah.application_id = e.application_id(+)
AND ah.event_id = e.event_id(+)
AND e.application_id = te.application_id(+)
AND e.entity_id = te.entity_id(+)
AND NVL(te.source_id_int_1,-99) = i.invoice_id(+)
AND i.vendor_id = s.vendor_id(+) )
AND ( jel.ledger_id = 2041)
ORDER BY src.user_je_source_name ,
cat.user_je_category_name ,
jeb.name ,
jeh.name ,
cck.concatenated_segments ,
jel.je_line_numEdited by: user11268895 on Aug 20, 2010 3:53 PM

Similar Messages

  • How to grant privilege for a specific function?

    Hello all,
    I wonder if exists a privilege, that i could grant to a user, just to run a specific function.
    I searched in dba_sys_privs something about it but, returned nothing.
    13:38:10 brunos@fastora1> select * from dba_sys_privs where privilege like '%FUNCTION%';
    GRANTEE PRIVILEGE ADMIN_OPTION
    Do you guys have any idea for my issue ?
    Thanks in advance.

    BSalesRashid wrote:
    Hello all,
    I wonder if exists a privilege, that i could grant to a user, just to run a specific function.
    I searched in dba_sys_privs something about it but, returned nothing.
    13:38:10 brunos@fastora1> select * from dba_sys_privs where privilege like '%FUNCTION%';
    GRANTEE PRIVILEGE ADMIN_OPTION
    Do you guys have any idea for my issue ?
    Thanks in advance.GRANT EXECUTE ON SPECIFIC_FUNCTION TO NEWBIE_USER;

  • Grant Privilege to Role instead of Direct grant doesn't work

    Hi all
    My scenario is sas follow:
    create user a identified by a;
    create user b identified by b;
    grant connect,resource to a ;
    grant connect,resource to b ;
    conn a/a
    create table tbl( c1 number(10));
    conn system/sys
    create role roll;
    grant roll to b;
    conn a/a
    grant select on tbl to roll;
    conn b/b
    set role roll;
    create or replace procedure b.pr
    as
    v number(10);
    begin
    select a into v
    from a.tbl
    where a=0;
    end;
    show error
    Errors for PROCEDURE B.P:
    LINE/COL ERROR
    6/1 PL/SQL: SQL Statement ignored
    7/6 PL/SQL: ORA-00942: table or view does not exist
    This happen because i granted the SELECT privilege to user b through the role ROLL but if i granted the user b the SELECT privilege directly it work properly
    Why???
    And how could I grant the privilege from within a role, Because i don't want to grant it directly
    Thank in advance
    Bassil

    There is no other way. The owner of stored code must have been directly granted all necessary (used in code) select, insert, update, or delete privileges. The code owner cannot just have the referenced privileges granted to them via a role. There is no workaround, nor should there be as this is a security feature. Just because you have been granted insert or delete to another user's tables does not mean you should be able to grant that access to some other user. This is exactly what you do when you grant execute to stored code that referenced another user's objects.
    The referenced article is by Tom Kyte and there are few people who understand how to use Oracle to better effect than Tom. The same information can be found in the official documentation and is referenced by the article.
    You can write packages that use the privileges of the executing person. Perhaps for the specific problem you are writing the code to handle this is the route you want to take. See the manuals for the details.
    Note - If user A grants insert to user B on table_a then user B can write a procedure, proc_b, and grant execute to a role and anyone with the role can perform inserts into table_a via proc_b, without having any grants on table_a. You do not need to grant privileges on the objects referenced in stored code that runs as the code owner if this is what you are worried about. The users just need execute on the package, procedure, or function that performs the DML operations in this case and they can get that from a role.
    If you still do not understand you need to state exactly what it is you either do not understand or want to know how to do.
    HTH -- Mark D Powell --

  • Granting privilege through role not working for PL/SQL

    Version: 11.2.0.2
    In our shop, we don't grant privileges directly to a user, we grant it to a role and grant that role to the intended grantee.
    Granting privileges through a role seems to be fine with SQL Engine. But it doesn't work from PL/SQL engine.
    In the below example GLS_DEV user is granted SELECT access on SCOTT.pets table through a role called tstrole. GLS_DEV can select this table from SQL. But PL/SQL Engine doesn't seem to know this.
    Reproducing the issue:
    SQL> show user
    USER is "SCOTT"
    SQL> select * from pets;
    NAME
    PLUTO
    SQL> conn / as sysdba
    Connected.
    SQL> create user GLS_DEV identified by test1234 default tablespace TSTDATA;
    User created.
    SQL> alter user GLS_DEV quota 25m on TSTDATA;
    User altered.
    SQL> grant create session, resource to GLS_DEV;
    Grant succeeded.
    --- Granting SELECT privilege on scott.pets to tstrole and then grant this role to GLS_DEV.
    SQL> conn / as sysdba
    Connected.
    SQL>
    SQL> create role tstrole;
    Role created.
    SQL> grant select on scott.pets to tstrole;
    Grant succeeded.
    SQL> grant tstrole to GLS_DEV;
    Grant succeeded.
    SQL> conn GLS_DEV/test1234
    Connected.
    SQL>
    SQL> select * From scott.pets;
    NAME
    PLUTO
    ---- All fine till here. From SQL engine , GLS_DEV user can SELECT scott.pets table.
    --- Now , I am going to create a PL/SQL object in GLS_DEV which tries to refer scott.pets
    SQL> show user
    USER is "GLS_DEV"
    create or replace procedure my_proc
    is
    myvariable varchar2(35);
    begin
         select name into myvariable from scott.pets ;
         dbms_output.put_line(myvariable);
    end my_proc;
    Warning: Procedure created with compilation errors.
    SQL> show errors
    Errors for PROCEDURE MY_PROC:
    LINE/COL ERROR
    6/2      PL/SQL: SQL Statement ignored
    6/41     PL/SQL: ORA-01031: insufficient privileges
    SQL>
    SQL> 6
      6*    select name into myvariable from scott.pets ;
    --- PL/SQL Engine doesn't seem to know that GLS_DEV has select privilege on scott.pets indirectly granted through a role
    --- Fix
    --- Instead of granting privilege through a role, I am granting the SELECT privilege on scott.pets to GLS_DEV directly.
    --- The error goes away, I can compile and execute the procedure !!
    SQL> conn / as sysdba
    Connected.
    SQL>
    SQL> grant select on scott.pets to GLS_DEV;
    Grant succeeded.
    SQL> conn GLS_DEV/test1234
    Connected.
    SQL>
    SQL> create or replace procedure my_proc
    is
    myvariable varchar2(35);
    begin
            select name into myvariable from scott.pets ;
            dbms_output.put_line(myvariable);
    end my_proc;  2    3    4    5    6    7    8    9   10
    11  /
    Procedure created.
    SQL> set serveroutput on
    SQL> exec my_proc;
    PLUTO
    PL/SQL procedure successfully completed.Has anyone encountered the same issue ?

    You really should start your own new thread for this question instead of resurrecting an old one, but to answer your question.
    There are two things going on here. First, there are a number of aler session commands that can be used by any user regardless of what privileges they are granted. Although I do not have the entire list at hand, things like nls_date_format and current_schema are available to all users, sort of like the grants to public in the data dictionary.
    Second, when you use execute immediate, the PL/SQL engine never really sees the statement, as far as the compiler is concerned it is just a string. It is only when the string is passed to the sql engine that permissions are checked, and there roles are not enabled.
    SQL> create role t_role;
    Role created.
    SQL> grant select on ops$oracle.t to t_role;
    Grant succeeded.
    SQL> create user a identified by a default tablespace users;
    User created.
    SQL> grant create session, create procedure to a;
    Grant succeeded.
    SQL> grant t_role to a;
    Grant succeeded.
    SQL> connect a/a
    Connected.
    SQL> select * from ops$oracle.t;
            ID DESCR
             1 One
             1 Un
    SQL> create function f (p_descr in varchar2) return number as
      2     l_num number;
      3  begin
      4     select id into l_num
      5     from ops$oracle.t
      6     where descr = p_descr;
      7     return l_num;
      8  end;
      9  /
    Warning: Function created with compilation errors.
    SQL> show error
    Errors for FUNCTION F:
    LINE/COL ERROR
    4/4      PL/SQL: SQL Statement ignored
    5/20     PL/SQL: ORA-00942: table or view does not exist
    SQL> create or replace function f (p_descr in varchar2) return number as
      2     l_num number;
      3  begin
      4     execute immediate 'select id from ops$oracle.t where descr = :b1'
      5                       into l_num using p_descr;
      6     return l_num;
      7  end;
      8  /
    Function created.
    SQL> select f('One') from dual;
    select f('One') from dual
    ERROR at line 1:
    ORA-00942: table or view does not exist
    ORA-06512: at "A.F", line 4John

  • Grant execute any function or package

    Hi,
    Does the below command give execute priviliges on functions and packages too ?
    grant execute any procedure to <user>;
    When i give same for fucntion it gives following error,
    SQL> grant execute any function to user2;
    grant execute any function to user2
    ERROR at line 1:
    ORA-00990: missing or invalid privilege
    Thanks.

    EXECUTE ANY PROCEDURE grants permission to all procedures and all functions, whether stand alone or packaged.
    Hopefully, you're well aware of this, but the various ANY privileges, like EXECUTE ANY PROCEDURE, are exceptionally powerful. You want to be very cautious about granting those privileges because they can introduce a number of security holes.
    Justin

  • Granting Privileges question

    This is not a duplicate post. User Wilhem posted it in the wrong forum.
    In the below mentioned link, user CD has provided a quick way to grant privileges to another user. But it didn't work for me. Is there something wrong with with the DECODE expressions?
    Re: Granting Privileges question

    Instead of granting privileges to a user, i wanted to grant these privileges to a role. So i created a role
    CREATE ROLE jenrole;
    And then i tried the below mentioned script. But i am getting error
    DECLARE
    v_sql VARCHAR2(4000);
    BEGIN
    FOR obj IN (SELECT object_name
    , object_type
    , DECODE (OBJECT_TYPE,
    'PROCEDURE','EXECUTE',
    'FUNCTION' ,'EXECUTE',
    'PACKAGE' ,'EXECUTE',
    'SYNONYM' ,'SELECT' ,
    'SELECT, INSERT, UPDATE, DELETE') rights
    FROM user_objects)
    LOOP
    v_sql := 'GRANT '|| obj.rights ||' ON '|| obj.object_name ||' TO JENROLE' ;
    dbms_output.put_line(v_sql);
    EXECUTE IMMEDIATE v_sql; END LOOP;
    END;
    ERROR at line 1:
    ORA-00911: invalid character
    ORA-06512: at line 16
    Why am i getting error? The error line is boldened

  • Granting Privileges on Objects and Workspace

    Hi folks,
    I'm a newbie using Workspace Manager and here is a basic question about granting privileges. I think that it's a little bit confused to me the concept regarding objects privileges versus workspace privileges.
    Here is the scenario.
    User A enable versioning in table TAB1
    User A creates a workspace WKS1
    User A grants workspace privileges to User B (ACESS, MERGE,....)
    User B connects into the database and goto workspace WKS1
    User B tries to select, insert, update data using TAB1 but got error that
    table does not exist.
    So, Should user A, previously, grant select, insert, update permission on table TAB1 to User B?
    I understood that it was not necessary once user B would, in fact, access a view created by workspace manager and the privileges would be set using the GrantWorkspacePrivs function.
    Regards,
    Luis

    Hi,
    The object and workspace privileges are separate. You would need to grant access to user B for both the workspace and the table. The object permissions can be granted prior to executing dbms_wm.enableversioning or during a DDL session.
    Regards,
    Ben

  • Grant privilege to index,trigger

    Dear all,
    Is there any way to grant privilege to index,trigger,proc,function (only select) with oracle9i?
    Pls suggest.
    Thanks for advance
    Chara

    not possible to grant privilages on index and a trigger, you can grant privilages on object for which these are created.
    you can grant execute on procedure/function/package.
    rgds

  • Error while granting privileges to new user

    hi all,
    I created new user and i tried to grant privileges to that new user by using ( SQL> CONNECT / AS sysdba;
    Connected.
    SQL> CREATE USER cdcproj IDENTIFIED BY cdcproj
    2 QUOTA UNLIMITED ON SYSTEM
    3 QUOTA UNLIMITED ON SYSAUX;
    User created.
    SQL> GRANT CREATE SESSION TO cdcproj;
    Grant succeeded.
    SQL> GRANT CREATE TABLE TO cdcproj;
    Grant succeeded.
    SQL> GRANT SELECT_CATALOG_ROLE TO cdcproj;
    Grant succeeded.
    SQL> GRANT EXECUTE_CATALOG_ROLE TO cdcproj;
    Grant succeeded.
    SQL> EXECUTE DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(grantee => 'cdcproj'); PL/SQL procedure successfully completed.
    SQL> GRANT ALL ON PL.PROJ_HISTORY TO cdcproj;
    Grant succeeded. ). All the commands worked except last command. It is giving error i.e (GRANT ALL ON PL.PROJ_HISTORY TO cdcproj; ) error is ( table / view not exists ).
    What i can do. Any help.
    Otherwise is there any other method to grant privileges.
    Thanks in advance.

    What is your Oracle version ?
    Are you sure the object PL.PROJ_HISTORY exists ?
    What is the output of (using the Oracle account that executes the GRANT):
    select * from session_roles;
    select * from session_privs;

  • How to grant privileges on all the tables in a schema

    Hi All,
    Can you tell me how to grant privileges on all the tables of a schema A
    to schema B.
    For Example:
    There are 200 tables in schema A, I wanted to grant select privilege on all the tables of a scheme A to schema B.
    Thanks in advance.

    note that USER is the user that will have the select priviledge
    the procedure includes views as well
    CREATE OR REPLACE PROCEDURE GRANT_ACCESS_ON_USER IS
    CURSOR c1 is select table_name from user_tables;
    CURSOR c2 is select view_name from user_views;
    tablename user_tables.TABLE_NAME%TYPE;
    viewname user_views.VIEW_NAME%TYPE;
    BEGIN
    tmpVar := 0;
    OPEN c1;
    loop
         fetch c1 into tablename;
         EXIT WHEN c1%NOTFOUND;
         EXECUTE IMMEDIATE 'GRANT SELECT on '||tablename ||' to USER';
    end loop ;
    close c1;
    OPEN c2;
    loop
         fetch c2 into viewname;
         EXIT WHEN c2%NOTFOUND;
         EXECUTE IMMEDIATE 'GRANT SELECT on '||viewname ||' to USER';
    end loop ;
    close c2;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    NULL;
    WHEN OTHERS THEN
    -- Consider logging the error and then re-raise
    RAISE;
    END;
    /

  • Problem with granting privileges

    We are creating a separate user for loading data into staging tables on our db and are having problems granting privileges. The original user is securities_developer and the new user is securities_loader. As securities_developer, I execute the following command:
    grant delete,update,insert,select on securities_work to securities_loader;
    The output indicates success, but when I switch to that user and perform 'select * from securities_work', the table isn't found. Using Oracle Enterprise Manager, I look up the table and it indicates that the above privileges have been granted. Am I missing something?
    version info:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    Hi,
    Do you have a (public) synonym on your table securities_work ?
    Or, try to add the schema owner in your query like: 'select * from securities_developer.securities_work'
    Regards,
    Thierry

  • Grant privileges to all objects

    Oracle 11.0.1.7.0:
    When I create new user I do something like:
    create user abc identified by abc
    grant create session, create table, create views, create snapshot to abc - separate grant for each object
    grant unlimited tablespace to abc;So when I do that sometimes I forget privileges for sequences. Is there a way to give privilege in one sql to the user to let that user create table, views, session, tablespace etc.
    Edited by: user628400 on Jun 9, 2009 5:35 PM

    Is there a list of things like create table, session etc. that I can look at to determine what options I have?select distinct privilege from role_sys_privs order by 1;
    will give you a list of privileges which can be granted to role.
    is there a way to grant privileges to all different types like create table, session etc in one statement without having to type each one of them separately like grant create session, grant table?As other replied, this can be achieved by creating a role like:
    SQL> create role newrole;
    Role created.
    SQL> grant create table,query rewrite to newrole;  -- Or any privilege by above command.
    Grant succeeded.
    SQL> grant newrole to <YourUserName>;  --
    Grant succeeded.HTH
    Girish Sharma

  • Grant Privileges to another user

    Hi,
    I am new to plsql. In course of my learning. I created two tables BOOKS and AUTHORS in orcl database(10g) through SYSDBA.
    Again i logged in to SCOTT user account and am unable to see the BOOKS and AUTHORS tables.
    Please let me know how do i grant administrative privileges(to edit,delete,insert,update) to SCOTT user for these tables.
    Thanks & Regards,
    Amrutha.

    808099 wrote:
    1. Got now that SYSDBA is a role and SYS is user.
    2. I was able to login to sqlplus through giving "/ as SYSDBA" as the username. Hence i thought it as user."/ as sysdba" connects to the database as the SYS user using operating system authentication with the SYSDBA role enabled.
    3. Secondly, I dont know which schema does my BOOKS table belong to. Because i just ran a create table script in scott/tiger@orcl. PLease suggest how i can know which schema it belongs to.If you connected to the database as the SCOTT user and ran the script to create the table, the table would almost certainly be owned by SCOTT. If you connected to the database as the SYS user and ran the script to create the table, the table would most likely be owned by SYS. If the script specified the schema owner, i.e.
    CREATE TABLE library.book ...the table would be created in the specified schema. But you need to have very powerful privileges in order to create objects in other user's schemas and SCOTT does not have those privileges unless you've specifically granted them.
    4. Thirdly, I will delete the BOOKS and AUTHORS from SYS and create them in SCOTT user. But thought if GRANT privileges can be an alternative.Not really. It's much better to have the tables owned by the correct schema in the first place. You use grants to allow other users to access (or modify) tables but other users are not going to have the same level of privileges (for example, they're not going to be able to run DDL against the table).
    Justin

  • Grant privileges to user

    hi all,
    How to create and grant privileges to user using sql command.
    Thanks

    Hi,
    Example :-
    log on as sysdba
    grant connect, resource to test identified by test;
    test is the user.
    Go through this links
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_8003.htm#SQLRF01503
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm#SQLRF01603
    Thanks
    Pavan Kumar N

  • ORACLE - How to GRANT privilegies on ALL the tables belonging to a schema

    Is there a way to grant to a user the same privilegies on ALL the tables belonging to the same schema, so that, in case a new table is created afterwards, the grant is automatically given ?
    Thanks in adance for any reply

    Yes of course ! Just do the same as Oracle Applications: an end user has no Oracle account, the application code connects with the Oracle account that is the schema owner:
    no more grant needed ... That's a joke but it's also true ! In this case, your application must implement its own security (password management, audit, privileges) and you will not be able to use Oracle privileges, auditing and advanced security features ... just like Oracle Applications.
    The above answers are of course correct. You can also create an Oracle role that you can grant to the Oracle users and grant the privileges to this role everytime a new table is created to avoid granting privileges for each new object to each user.

Maybe you are looking for