Allowing sys.dual DML Grants

Hi,
I'm wondering if anyone has noticed or could confirm if a particular hole was patched.
Here is the situation: Our dba's (I'm a dev) recently installed PSU patch 18031726.
Previous to this, one of our vendor apps had views that used some form of "SELECT [something] FROM DUAL".  The views are owned by the schema-owner, and by default the App user is granted Select, Update, Insert, and Delete on all of the schema-owner's views (I'm aware that this is against best practices regarding DML on dual, but sys.dual itself does not have DML grants).
All my googling refers to the notion that all underlying objects of a view must have all permissions that will be then granted to the grantee, including sys.dual.
But again--sys.Dual *only* has SELECT granted to public, no other explict grants are given.   However schema-owner granted the DML grants on these views to the 3rd party (app user) *without error*.   No DML was ever actually done--but the grants were allowed without error (always logged into Toad as Schema-owner, not sys).  My guess is this was an oversight in Oracle, though it's likey any attempt at DML to dual would have errored, even though the viewe had DML grants.
Now, since the patching, when these views are created and the grants are given to app-user by the schema-owner, we see the error Ora 01720 Grant option does not exist for sys.dual
SO bottom line...circumstantially I would like to attribute this new error (now correctly pointing out that Dual has no DML grants) to the security patch, but I can't close this issue in my head until I get some form of confirmation that yes--Oracle found this lack of raising an error on the grants and it was corrected in this patch.
Has anyone come across this behavior, i.e, sudden errors after a patch involving some (misguided and against best practices, admittedly) DML grants on views that include Dual?
Thanks,
Jim

Is the message "Ora 01720 Grant option does not exist for sys.dual"
OR is the message Ora 01720 Grant option does not exist"
Is the schema owner attempting to grant privileges on SYS.DUAL  ?
OR is he granting privileges only on his own views ?
Is the schema owner running "CREATE OR REPLACE VIEW..."   [Oracle Support note "Post Upgrade To 11.2.0.4, "create or replace view" execution fails with "ORA-01720: Grant Option Does Not Exist" (Doc ID 1628033.1)" has an explanation]
Hemant K Chitale

Similar Messages

  • Why do we use Allowed Operations in DML Process

    Hello,
    Why do we use Allowed Operations in DML Process ??
    Can you please clear this confusion:
    I am using apex 4.1. oracle 11g R2 SOE ...
    Using the Wizard, I created a Form and IR on Dept Table...
    In the form page:
    - Create Button
    The name is "CREATE"
    NO Database Action
    - DML Process
    Allowed Operations: nothing is checked
    This will insert a new row in the Dept table
    In the form page:
    - Create Button
    The name is "CREATE2"
    Database Action : insert
    - DML Process
    Allowed Operations: nothing is checked
    This will insert a new row in the Dept table
    So, What difference does it make if INSERT check box in Allowed Operations of DML Process is TICKED OR NOT ??
    Regards,
    Fateh

    kdm7 wrote:
    Okay.
    So can we keep a web button to access the www.ni.com ? So that web site opens only when button pressed?
    P.S  I,m a newbie.
    Yes, you can also, e.g. include a help file or manual as html and open that in the browser.
    /Y
    LabVIEW 8.2 - 2014
    "Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
    G# - Free award winning reference based OOP for LV

  • Blocking Session -  blocked SQL - SELECT SYSDATE   FROM SYS.DUAL

    Oracle 10.0.0.4g
    When database execute some big and long queries/operations my system is slow and some users wait, can’t work (they work with some Oracle forms applications ) because I often have blocking session.
    I found up that this blocking sessions block only this query of another user:
    SELECT SYSDATE   FROM SYS.DUAL
    Or:
    +10-АВГ-2009 08:51:10 User X1 ( SID= 222 ) with the statement: SELECT ... is blocking the SQL statement on Y1 ( SID=333 ) blocked SQL -> SELECT SYSDATE FROM SYS.DUAL+
    When I kill one of the blocking session another session take his place and do the same:
    +10-АВГ-2009 08:53:10 User X2 ( SID= 444 ) with the statement: SELECT ... is blocking the SQL statement on Y2 ( SID=555 ) blocked SQL -> SELECT SYSDATE FROM SYS.DUAL+
    When long queries finished everything is OK.
    Please Help Me!!!

    I create ASH report:_
    Top User Events
    Avg Active
    Event Event Class % Activity Sessions
    enq: TM - contention Application 55.87 0.96
    db file sequential read User I/O 18.87 0.32
    CPU + Wait for CPU CPU 16.33 0.28
    db file scattered read User I/O 3.02 0.05
    Top Event P1/P2/P3 Values
    Event % Event P1 Value, P2 Value, P3 Value % Activity
    Parameter 1 Parameter 2 Parameter 3
    enq: TM - contention 55.87 "xxxxxxxxxxxxxxxxxxxx" 38.35
    name|mode object # table/partition
    "1111111111","xxxxxxx","0" 17.44
    db file sequential read 19.21 "xxxxxxxxxxxxxxx’’ 0.00
    file# block# blocks
    db file scattered read 3.03 "xxxxxxxxxxxxxxxxxxxxxx’’ 0.01
    file# block# blocks
    Top SQL Statements …………..
    SQL ID Planhash % Activity Event % Event
    fnxxxxxxxxx N/A 25.09 enq: TM - contention 23.47
    ** SQL Text Not Available **
    N/A 25.09 db file sequential read 1.19
    ** SQL Text Not Available **
    byxxxxxxxxxxxxx 1111111 10.11 enq: TM - contention 7.43
    SELECT SYSDATE FROM SYS.DUAL
    db file sequential read 2.10
    fnxxxxxxxxx 11111111111 2.57 enq: TM - contention 2.16
    ** SQL Text Not Available **
    Top DB Objects
    Object ID % Activity Event % Event
    Object Name (Type) Tablespace
    11111 10.33 enq: TM - contention 10.30
    XXXXXXXXXXXXXXXXXXXXXXXX (INDEX) CC
    99999 10.18 enq: TM - contention 10.16
    XXXXXXXXXXXXXXXXXXXXXXXXX (INDEX) IND
    933333 6.67 enq: TM - contention 6.55
    FFFFFFFFFFFFFFFF (TABLE) T3
    114545 3.88 enq: TM - contention 3.85
    RRRRRRRRRRRRRRRRRRRRRR (INDEX) JJJ
    1136664 2.96 enq: TM - contention 2.93
    FFFFFFFFFFFFFFFFFFFFFFFFF (INDEX) G
    How to found sql text that is not available ** SQL Text Not Available **?
    What to do whit this Top DB Objects that have enq: TM - contention event?
    And how to solve this problem?

  • Create delivery not allowed ( Sys. Status EXLS,object vb0004321713000010

    Hello SAP gurus,
    I am getting the fllowing error while creating a delivery. The delivery message says  create delivery not allowed ( Sys. Status EXLS,object vb0004321713000010)
    Diagnosis : the status check for the status object VB0004321713000010 indicated that the procedure "create delivery" cannot be performed because Sys. status EXLS forbids it
    System response: procedure create delivery is not performed
    Procedure
    If procedure is to be performed, the  Sys. status EXLS of the object VB0004321713000010 must be reset.
    Other statuses thatn Sys. status EXLS can also prevent the procedure. This message does not tell you all status which currently prevent procedure create delivery.
    Can you please tell me how to resolve this issue?

    Hi
    It seems that status profile is activated.
    So goto SAles order header or Item level and goto status tab and release the sales order by clicking on the status EXLS
    regards
    Prashanth

  • "Create delivery" not allowed (Sys. status Cost, object VB0000000237000010)

    Dear All,
    While creating delivery i am getting the error saying as below,
    "Create delivery" not allowed (Sys. status Cost, object VB0000000237000010). and allowing me to the process delivery. we are the scenario for make to order process.
    please suggest the solution.
    kamlesh panchal

    Not clear on your comments
    Create delivery "not allowed" (Sys. status Cost, object
       VB0000000237000010). and "allowing me to the process delivery"
    When the error message says creating delivery is not allowed,  then how are you able to process delivery.
    Nevertheless,  go to VA02, input the sale order reference and execute. From top menu bar, click on "Goto -- Header -- Status". There again click on "Object status" and check whether any lock is there. If so, change it and then retry
    thanks
    G. Lakshmipathi

  • How to create SYS.DUAL table by own?

    Hi People,
    I removed DUAL table from SYS user by mistake.Is it possible to recreate it again similar to that?.how to restore it?.pls help me with suggestions.I use Oracle 10g
    With Regards
    Vidya.N
    Edited by: vidusnat on Sep 6, 2010 1:56 AM

    vidusnat wrote:
    Ya right.but that seems to be a normal table isn't it?.how to avoid insertion in it?.we cant create triggers on sys objects too.what else we can do?.You do not manually interfere with this table at all - via triggers or other hacks to make it a single-row-table You only need to do 4 things:
    - start the db in upgrade mode
    - create the dual table
    - insert the single row
    - create a public synonym
    Nothing else. Read the Oracle Support notes - they are your best reference.

  • SQL Developer 2.1 no longer allows to edit another granted schemas

    Hello,
    Just switched from 1.5.5 to 2.1 and going back!
    In 1.5.5 I was able to logon as me (developer) and edit functions of batch schemas. Guess what! Not any more in 2.1!! Even if my priviliges allows me to do this!!
    Any ideas how to bypass this problem?
    I like 2.1, espesially because they fixed a bug with SELECT from the external tables, but editing alone is killing all the advanages!!

    Our batch is running under BATCHADM schema. Every developer can edit this schema in development region and change functions and packages, and then migrate changes to the production.
    When we switch to SQL Developer 2.1 we can see other users, including BATCHADM, open its packages and bring source to the editor. Thats it. You cannot edit it - source code is protected. You cannot add or insert or delete. It looks like editor is opening it in read-only mode. The only source you can edit is under your own schema.
    When you go back to version 1.5.5 everything works like it should be.

  • How to grant the java objects of sys to scott?

    I'm trying to execute socket program. The client part is located in Database 8.1.6, and Server part is located outside of database.
    From the trigger, the client program is invoked, and it is executed. But, it makes a error like below...
    ORA-29532:
    java.security.AccessControlException: the Permission (java.net.SocketPermission
    127.0.0.1:5000 connect,resolve) has not been granted by
    dbms_java.grant_permission to
    SchemaProtectionDomain(SCOTT|PolicyTableProxy(SCOTT))
    I checked the class status 'java.net.Socket' from user_objects. In scott, it doesn't exist, but I logged in db as 'sys'. Sys has the java.net.Socket permission. Its status is valid. So, I guess if scott has the permission java.net.Socket class object, scott can run the socket program. RIght?
    please, help me.
    Any opinion will be helpful...
    Thanks in advance. Have a nice day..

    as SYS try:
    SQL> grant javauserpriv to scott;
    SQL> grant javasyspriv to scott;
    APC

  • NTFS Partition Doesn't Allow Programs To Access It [SOLVED]

    Hello all,
    First of all, I have finally returned to Arch after several years of using Linux Mint. It feels good to be back in a bloatware-free environment, and I'm enjoying my 1 second boot times! Unfortunately, this hiatus has caused me to lose much of my former Linux knowledge base.
    My System:
    $ inxi -Fxz
    System: Host: MSIGS70-ARCH Kernel: 4.0.4-2-ARCH x86_64 (64 bit gcc: 5.1.0)
    Desktop: KDE 4.14.8 (Qt 4.8.6) Distro: Arch Linux
    Machine: System: Micro-Star product: GS70 2PE Stealth Pro v: REV:1.0
    Mobo: Micro-Star model: MS-1772 v: REV:0.B
    Bios: American Megatrends v: E1772IMS.106 date: 04/30/2014
    CPU: Quad core Intel Core i7-4710HQ (-HT-MCP-) cache: 6144 KB
    flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 19961
    clock speeds: max: 3500 MHz 1: 2500 MHz 2: 2500 MHz 3: 2500 MHz 4: 2500 MHz
    5: 2500 MHz 6: 2500 MHz 7: 2500 MHz 8: 2500 MHz
    Graphics: Card-1: Intel 4th Gen Core Processor Integrated Graphics Controller
    bus-ID: 00:02.0
    Card-2: NVIDIA GK104M [GeForce GTX 870M] bus-ID: 01:00.0
    Display Server: N/A driver: intel Resolution: 89x69
    Audio: Card-1 Intel 8 Series/C220 Series High Definition Audio Controller
    driver: snd_hda_intel bus-ID: 00:1b.0
    Card-2 Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
    driver: snd_hda_intel bus-ID: 00:03.0
    Sound: Advanced Linux Sound Architecture v: k4.0.4-2-ARCH
    Network: Card-1: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller
    driver: alx port: c000 bus-ID: 04:00.0
    IF: enp4s0 state: up speed: 100 Mbps duplex: full mac: <filter>
    Card-2: Intel Wireless 7260 driver: iwlwifi bus-ID: 05:00.0
    IF: wlp5s0 state: down mac: <filter>
    Drives: HDD Total Size: 1128.2GB (61.7% used)
    ID-1: /dev/sda model: TOSHIBA_THNSNJ12 size: 128.0GB
    ID-2: /dev/sdb model: WDC_WD10JPVX size: 1000.2GB
    Partition: ID-1: / size: 29G used: 5.4G (20%) fs: ext4 dev: /dev/sda5
    ID-2: swap-1 size: 17.83GB used: 0.00GB (0%) fs: swap dev: /dev/sdb3
    Sensors: System Temperatures: cpu: 29.8C mobo: 27.8C gpu: 25.0
    Fan Speeds (in rpm): cpu: N/A
    Info: Processes: 182 Uptime: 33 min Memory: 1191.8/15971.7MB
    Init: systemd Gcc sys: 5.1.0 Client: Shell (bash 4.3.391) inxi: 2.2.21
    The Situation:  I have a separate hard drive formatted to NTFS, which I use for my file storage on all of my OSes (I have 4 right now, including Windows 8).
    The problem:  Despite configuring the mountpoint (/media/aaron/data) to mount under my user, aaron, and the 'all' group, other applications do not have any access to the /media/aaron/data directory. Because of the fact that it is NTFS, and I am multibooting with Win8, I cannot simply chown the directory and subdirectories to my name. Instead, I had to amend the /etc/fstab to mount the directory under my user and group, which is where I believe my problem is.
    Background:  I have searched for hours on the internet, including the Arch forums to find a solution and the best I have found is a post here (answer #1) which at least allows me to access the directory through the file manager (Dolphin). I first noticed the problem when trying to download a torrent file using ktorrent. Ktorrent spat out the following message:
    Cannot create /media/aaron/data/Downloads/wattOS-R8-32bit-mate.iso: Permission denied
    Now, I think I have isolated the cause, however I have no idea how to fix it. I believe the cause is that only owner has permission to view and modify content. Group has permission only to view content. Other has no permission whatsoever. I believe that I need to somehow allow all of the users to have read and write privileges. It would be a simple chown, if it weren't for the fact that the FS is NTFS. I need some amendment to my fstab that will achieve this result, but I have a limited understanding of the various fstab options and masks.
    My fstab file reads as follows:
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    # /dev/sda5
    UUID=b1b2ca8c-e7fc-42a2-aabb-a2c3208c2a65 / ext4 rw,relatime,data=ordered 0 1
    # /dev/sdb3
    UUID=7381274f-2aea-4960-a45e-4fe2c7afac9f none swap defaults 0 0
    # /dev/sdb1 DATA on /media/aaron/data
    UUID=B64C82184C81D391 /media/aaron/data ntfs uid=1000,gid=100,dmask=027,fmask=137 0 2
    it is /dev/sdb1 that I am configuring, and the options shown above are what allow me to access the directory using my non-privileged account.
    I am sure I have probably forgot something, forgive me, it has been quite a long time now! Thank you all in advance, I appreciate anyone who takes the time to give this a wee bit of thought!
    Let me know what information you require, and I will see it delivered promptly,
    HPG
    Last edited by hotpepperguy (2015-05-30 13:50:12)

    UPDATE: 
    I installed the package ntfs-3g to my system, as per the  Arch Wiki instructions, and then set the fstab options as follows:
    UUID=B64C82184C81D391 /media/aaron/data ntfs-3g uid=aaron,gid=users 0 0
    Just setting the uid and the gid alone allows permissions to be granted to all groups, so this is obviously not a solution for a multiuser system. As for a single user setup - it is perfect.
    cheers,
    HPG
    Last edited by hotpepperguy (2015-05-30 13:55:31)

  • DUAL Table problem

    As a quick way to grant privileges to almost all the objects in my schema to a role, i created a procedure (Courtesy of user CD from Oracle Forums). But when i executed the below mentioned procedure i got the error :
    ORA-01720: grant option does not exist for 'SYS.DUAL'
    To avoid granting privileges to sys.dual, I tried adding AND OBJECT_NAME < > 'SYS.DUAL' and AND OBJECT_NAME < > 'DUAL' to the query. But that this didn't help.
    But when i query SELECT * FROM DUAL; i can see that DUAL table exists in my schema.
    Any thoughts?
    Here is what i did
    CREATE ROLE newrole;
    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' ,
    'SEQUENCE' ,'SELECT' ,
    'MATERIALIZED VIEW','SELECT',
    'SELECT, INSERT, UPDATE, DELETE') rights
    FROM user_objects where object_type IN
    ('FUNCTION','PROCEDURE','PACKAGE','SYNONYM','SEQUENCE','MATERIALIZED VIEW','TABLE','VIEW'))
    LOOP
    v_sql := 'GRANT ' || obj.rights || ' ON ' || obj.object_name || ' TO NEWROLE';
    dbms_output.put_line(v_sql);
    EXECUTE IMMEDIATE v_sql;
    END LOOP;
    END;
    /

    One of your views must reference DUAL, perhaps indirectly.
    If this comes up again you can create an exception to catch the error inside the loop for the current item and continue. Not pretty, but it should work something like (untested)
      for record in cursor loop
        --block to catch exception
        declare
           my_error exception;
          --substitute proper error number for -000001 below
          pragma exception_init(-000001,my_error)
        begin
        exception
          when my_error then
            null;
        end;
        --continue processing with next loop item   
      end loop;

  • Logical Standby Apply Processes Die when granting a user sysdba on Primary

    I've run into an issue where the sql apply processes are stopping when granting a user sysdba privilege on the primary.
    The error is insufficient privileges.
    Of course the workaround that we have used is to skip the transaction on the logical and then manually grant the sysdba privilege on the standby. I'm hoping there is a more elegant solution as I have 8 DBAs on my team and each on of the transactions will need to be skipped individually, and is a bit of a pain. Just thought I would ask if anyone out there has run into the same issue and has a better workaround.

    I think you misunderstand. We run our standby in guard_mode 'STANDBY', which allows sys to perform the grant operation directly on the logical. Where it is failing is when we grant on the primary. That or I misunderstand. Are you saying that if I put in the script on the primary, the alter session command, then it will propagate down cleanly? That is something I have not tried of course, but makes sense how that could work, unless it throws an error on the primary because it is not a standby.

  • Silly question on dual table

    Hello gurus
    This dual table is a dummy table with varchar2(1)....my question is how it can select many psedocolumns from dual doesn't it exceed the allowed space of varchar2(1)
    Edited by: 964145 on Oct 9, 2012 5:35 PM

    >
    it cannot be a real table
    >
    Not sure why you say that.
    The DDL for it is in the dcore.bsq file (11.2) in the rdbms/admin folder
    create table dual    /* pl/sql's standard pckg requires dual. */
      (dummy varchar2(1))    /* note, the optimizer knows sys.dual is single row */
      storage (initial 1)
    insert into dual values ('X')
    /See the SQL Language doc
    http://docs.oracle.com/cd/B28359_01/server.111/b28286/queries009.htm#SQLRF20036
    >
    Selecting from the DUAL Table
    DUAL is a table automatically created by Oracle Database along with the data dictionary. DUAL is in the schema of the user SYS but is accessible by the name DUAL to all users. It has one column, DUMMY, defined to be VARCHAR2(1), and contains one row with a value X. Selecting from the DUAL table is useful for computing a constant expression with the SELECT statement. Because DUAL has only one row, the constant is returned only once. Alternatively, you can select a constant, pseudocolumn, or expression from any table, but the value will be returned as many times as there are rows in the table. Refer to "About SQL Functions" for many examples of selecting a constant value from DUAL.
    >
    And the Database Concepts doc
    http://docs.oracle.com/cd/B28359_01/server.111/b28318/datadict.htm
    >
    The DUAL Table
    The table named DUAL is a small table in the data dictionary that Oracle Database and user-written programs can reference to guarantee a known result. This table has one column called DUMMY and one row containing the value X.
    >
    And those pseudo-columns you ask about
    >
    select sysdate,UID,rowid from dual;
    >
    You can query those from any table but as the doc quote above says you will get as many values as there are rows in the table.

  • Granting select, insert to an user

    Hello,
    i have a user, 'roger', with dba privileges. i created a view(named 'vw_absente'), and then a user, 'user1', to which i granted connect, resource, and then select, insert on vw_absente. but when i log off, and i log in with that user, i wanna select * from vw_absence, but i got that 'Table or view does not exist'.
    However, i wanna in Forms, if that user logs on, when creating a new data block, to show only the tables and views the current user has privileges to. in my case i don't see any table or view when i log in with the 'user1' user.
    What i did wrong?
    so i wanna that user to update only some columns from a table (that's why i created the view and granted the select and insert privileges on that view, to 'user1' user).
    Please help me
    Thanks

    The public synonym doesn't belong to your schema. You only see the objects which belongs to your schema. You didn't see the dual table in the selection as the public synonym doesn't belong to your schema. There's a public synonym for the dual table. The synonym belongs to the public schema. You can access the dual table via sys.dual or simply use the public synonym dual for sys.dual as there's a synonym which belongs to the public schma where your user belongs to...
    just a test:
    SQL> conn sys/oracle as sysdba
    Connected.
    SQL> create user testsyn identified by testsyn;
    User created.
    SQL> create table test (id number);
    Table created.
    SQL> grant all on test to public;
    Grant succeeded.
    SQL> create public synonym test for sys.test;
    Synonym created.
    SQL> grant connect, resource to testsyn;
    Grant succeeded.
    SQL> conn testsyn/testsyn
    Connected.
    SQL> select * from user_objects where object_name = 'TEST';
    no rows selected
    SQL> select * from test;
    no rows selectedI can select on test altough in my schema there's no test object...
    Also look at the dual table (user testsyn):
    SQL> select * from dual;
    D
    X
    SQL> select * from user_objects where object_name = 'DUAL';
    no rows selected
    SQL>  select * from all_synonyms where synonym_name = 'DUAL';
    OWNER                      SYNONYM_NAME                TABLE_OWNER          TABLE_NAME               DB_LINK
    PUBLIC                      DUAL                     SYS               DUALand the next:
    SQL> conn sys/oracle as sysdba   
    Connected.
    SQL> insert into test(id) values (1);
    1 row created.
    SQL> insert into test(id) values (2);       
    1 row created.
    SQL> insert into test(id) values (3);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select * from test;
         ID
          1
          2
          3
    SQL> grant create table to testsyn;
    Grant succeeded.
    SQL> conn testsyn/testsyn
    Connected.
    SQL> select * from test;
         ID
          1
          2
          3
    SQL> create table test (id number);
    Table created.
    SQL> select * from test;
    no rows selectedThe first, I insert into the table, and as it is granted to the public schema the user testsyn can see te records in the test table where public test synonym points to. then, I created a test table in the testsyn schema, and as there is a more specific test table this one is used...
    and one last sample:
    SQL> conn sys/oracle as sysdba
    Connected.
    SQL> create user testsyn2 identified by testsyn2;
    User created.
    SQL> grant connect, resource to testsyn2;
    Grant succeeded.
    SQL> conn testsyn2/testsyn2
    Connected.
    SQL> select * from test;
         ID
          1
          2
          3
    SQL> conn sys/oracle as sysdba
    Connected.
    SQL> create synonym testsyn2.test for testsyn.test;
    Synonym created.
    SQL> conn testsyn/testsyn
    Connected.
    SQL> grant select on test to testsyn2;
    Grant succeeded.
    SQL> conn testsyn2/testsyn2
    Connected.
    SQL> select * from test;
    no rows selected
    SQL> So, quick answer to your question: you only see objects in your own schema, that's why you didn't see your object although you created a public synonym ;).
    regards

  • Which privilege to grant to users?

    Hi guys
    Normally the sys as sysdba user is the only user who can grant privileges to other users.
    I need any user on my database to be able to grant privileges to any other user.
    What privilege do I need to grant to each one of my users so that they can grant privileges to each other in the future without having to connect as sys user and grant privileges?
    Many thanks in advance
    Cheers
    Ciaran

    And for individual grants for objects not assigned to a role or perhaps as a standard the object privilege can be granted as
    "grant select [etc...] on object_name to sec_admin_user with grant option;"
    This allows a non-DBA no special privileged user to handle grant requests.
    HTH -- Mark D Powell --

  • Please Help: create a procedure that needs a sys view

    Hi gurus,
    I am trying to create a stored procedure that opens a cursor for a select on a view owned by sys, but the errors says table or view does not exist. I can select * from the view (sys.mgw_gateway) from SQL*Plus or any other tool. Anyone have an idea why I get the ORA-00942: table or view does not exist error when I try to create a procedure? Here is the simple SQL statement for the procedure (I just want the users to see if the messaging gateway is running) and that's all in it.
    open p_MGWStatus for
         select AGENT_STATUS, AGENT_PING, to_char(LAST_ERROR_DATE, 'mm/dd/yyyy hh24:mi') as LastErrorDate,
         LAST_ERROR_MSG
         from sys.mgw_gateway;
    Thanks a lot.
    Ben

    Hi
    To allow the view owned by sys in a procedure, you have to grant select on that particular view to the owner of that procedure.
    Suggestion: may or may not be acceptable: create your own view in system schema (if it has the privilege to select that view else in sys schema) with the required column of the sys view and grant this newly created view to the owner of the procedure.
    Regards
    Opps! Very late reply
    Message was edited by:
    Anurag Tibrewal

Maybe you are looking for

  • How can I make a specific page open in a new window when clicked from a menu?

    Don't know if its possible but I have one specific page I want to open in a new window in the browswer when clicked on from a widget menu.  I know how to go in and put the coding in but it would be nice if there is some option in Muse to do that alre

  • In Muse can you link to an element on another page?

    I was hoping that there was a way to link to an "element" (Not a page!) located on anther page either through Muse natively or by a script.  I'm not a coder or I wouldn't be using Muse.  I know you can link to other pages but I don't know about eleme

  • Power adapter

    hi all i live about 2 hours away from an apple store. The power adapter went out on my 8 month old macbook. Was wondering if the only way to get a replacement which should be under the year warranty is to pay the 49 bucks for phone support ?

  • Appending a csv column exported from Active Directory

    Hi Guys We have a new access control system. The DB of the control system needs to be updated with new people from Active Directory. It has an import tool to this. I want to automate it to do it every hour. So I started writing a powershell script to

  • Can,t view files

    why can I not see my files inside my file folders? mailbox shows the folder but nothing inside any ideas?