"Loading Public Synonyms" in SYS schema hangs indefinitely

When I try to expand "Public Synonyms" in SYS schema tree, the "Loading Public Synonyms" message window appears and hangs indefinitely without giving any result.
Trying the same in Reports/All Objects/Public Synonyms I get the result within a second.
What's wrong?
I'm running SQL Developer 1.1.2.25.79, Oracle Database 10g R2 (10.2.0.3) on 32-bit RHEL-4.4 AS using Sun jdk1.6.0_01.
N.J.

If you do a select count(*) from dba_synonyms where owner='PUBLIC' you'll get a figure around 20,000 (I get 19697 from a 10.2.0.1 database out of a total of 23992). So, it'll not only take a while to return all the public synonyms but it'll also take a while to sort the output.
However, I've created a test report with the following SQL and it works quickly
select *
from dba_synonyms
where owner='PUBLIC'
I guess it's a bug in SQL Developer - perhaps one of the development team could confirm?

Similar Messages

  • Do I need to deploy Public Synonym in Target Schema?

    Hi,
    I need to develop and deploy a mapping. I need to use source table in source schema but a Public Synonym for a terget table. This destination table for the public synonym is not target_schema where mapping is to be deployed. Do I still need to deploy the public synonym into my target schema where mapping is or not? I was 3wandering since its a public synonym and the actual destination table is already in database I may not have to deploy this synonym. Thanks for the help in advance..

    OWB does not currently directly support public synonyms. You will have to deal with these synonyms outside OWB and if you use the synonym from a mapping you can trick OWB to use it by creating and using a dummy table in the mapping.
    Regards:
    Igor

  • I load a package into SYS schema but cant resolve references made from a different sc

    I loaded javamail-1.2 (and associated dependencies) into the SYS schema, just because it has classes under the same package root "javax".
    If I try to load a second class having an import like "javax.mail.*" into a schema other than SYS, I get a message "can't find xxx".
    How can I make the SYS new classes visible to a different schema?
    Thanks for any help.

    1) A WHEN OTHERS exception handler that does not re-raise an exception is almost certainly an error. In your case, you are writing the error message out via DBMS_OUTPUT, but unless your front end happens to try to read and display the DBMS_OUTPUT buffer, the error will be ignored. You realistically want to remove that exception handler.
    2) Creating an index will not raise a NO_DATA_FOUND if there is no data in the table, so that exception handler is superfluous.Thank you very much, now that I removed that Exception it is telling me insufficient rights.
    3) If you want User A to be able to create an index in User B's schema, User A would need to be granted the CREATE ANY INDEX privilege (directly, not via a role). If you are getting a permissions error creating the index after removing the incorrect exception handlers, that is likely the problem. If you are getting a permissions error dropping the index after removing the incorrect exception handlers, you would need to ensure that User A has been granted the DROP ANY INDEX privilege.I thought that since I had specifically granted the INDEX privledge to SchemaA on a specific table in SchemaB that Schema A would be able to drop and create indexes on that specific table. However.. having just looked again at the documentation it would seem that I would need to be able to do exactly as you say and have the ANY to be able to create it in another schema.
    4) Since the various ANY privileges (CREATE ANY INDEX, DROP ANY INDEX, etc) are rather powerful and not restricted to a particular schema, is there a logical reason not to put this code in Schema B to begin with?Nothing in particular other than attempting to keep it all with the "parent" schema so that the select into's are run from the parent and populate the child (schemab). I guess I can have Schema A call the package in schema B and execute it however will that execute as Schema A or B?
    Thanks for such a fast and detailed response

  • JDev app wizard unable to see public synonyms

    When running through reverse engineering to create middle-tier entities/views/assoc/links, the wizard was unable to give me the option of choosing from among public synonyms. I checked under SYSTEM, SYS users but the synonyms I wanted did not appear.
    When I created non-public synonyms in a schema, JDev did find them.
    PS: The synonyms access tables and views on another server using database links.
    null

    Are you logging on as yourself or as the owner of the objects? If you are logging on as yourself then you will only see the objects owned/created by you.
    If you want to see objects owned by other users click "other users" and click on the user that owns the objects that you want to view. If you do not have 'select' privs on the object then you will not be able to see the object in another users account.

  • Access Views through Public Synonyms

    Hi Friends,
    I have query need to clear. My current application is running on a schema *(s1)* associated with workspace *(w1)*. Now i have made one more schema *(s2)* in the same workspace *(w1)* where i have to create new tables.
    The thing is i want to use few tables column of s1 on s2. What will be the best practice for this. I have made views of columns of s1 schema and now i am thinking to create public synonym in s2 schema to access those views of s1 schema. Just want to confirm any changes or updates made on forms or report made on synonym of s2 will reflect in the base table (which is table of s1). Want to clear the concept of synonym through this. I am sure it will not update the table of s1 schema because i have made synonym of that in my s2 schema and for all page creation i am using objects of s2 not objects of s1.
    Would like to hear from you experts on this. If you have some other better soln for this, do suggest me. All my intension is to not update the tables of s1, just to use the required columns of s1 schema objects and use it in s2 schema
    Regards
    Edited by: User_Apex on Jul 7, 2010 2:21 AM
    Edited by: User_Apex on Jul 7, 2010 2:28 AM

    Hi,
    A synonym just helps you to avoid using the schema name before the object name. If you want to use some columns from tables in s1 just do the following:
    1. Create the views
    2. Create a role for that privilege (for example: select_s1_role), grant select to this role over the views and assign it to s2.
    3. Create the synonym in s2 to s1 views (just to avoid put s1. before the view name).
    For the steps above is required that s1 and s2 have the proper system privileges.
    Kind regards,

  • Table based on Public Synonyms

    I have 2 schemas and have created public synonyms and given access from the 1 schema to the 2nd schema.
    When I create Page / Region of type Report and form (or form) in schema 2, the table name does not accept the public synonyms defined in schema 1. I can create a report region manually using the the SQL Report and select col1, col2 from tab1_of_schema1 but while using the wizard and selecting the table, am unable to use the table ? I even tried schema1.tab1_of_schema1 but it gives " * Table / View does not exist." error. Why is this ?
    Is this a limitation ? I do not want to create views and write instead-of triggers.

    This was raised during the evaluation of 2.2, and this was the response:
    Sorry, don't know if this is already addressed, (but i cannot test this in 2.2, with my scenario, so would appreciate you mention if it is handled). I have 2 schemas, schema1 and schema2. There are tables in schema1 which have public synonyms and grant all access to schema2.
    While creating a new application in schema2 and creating Page, we cannot select public synonyms defined in schema1, and have to unnecessarily create views in schema2 (this is not nice for us). Even if view is created, it gives an error saying " Source tables for forms and tabular forms must have a primary key. " why should views have primary key ? Either do not allow views there, or ask for the primary key (like in create region). Sequences defined in schema1(again public synonyms) are not accessible.(we have to write triggers or custom pl/sql for the same).
    Response
    We do not do very well with objects that are not owned by the schema assoicated with your current application. I have logged an enhancement request for 3.0 to see if we can improve this all around.
    -----------------------------------------------------------------------------------------------------------------------------

  • Public Synonyms...

    SQL> show user
    USER is "SYS"
    SQL> select * from dba_synonyms where synonym_name = 'BANK';
    OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME
    PUBLIC BANK SEGERP BANK
    AMCTESTLHR BANK AMCERPTEST BANK
    SQL> conn rakesh/rakesh@testapp
    Connected.
    SQL> select * from bank;
    select * from bank
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL>
    Why Didn't rakesh can access the bank [Public Synonym] It can be accessed by any schema?

    Synonyms (public or private) are just aliases for an object. They do not imply permission to use that object for a particular user.
    In your case, any user (except amctestlhr) can do select * from bank and get data from segerp.bank provided they are allowed to select from that table. Without the public synonym, all user who had select privilege would need to either create their own private synonym, or do select * from segerp.bank.
    John

  • Export system or sys schema

    If I am using imp/exp export schema system and sys, is it possible?

    Girish Sharma wrote:
    Sir,
    As per your saying that SYS will not be included in export i tried following command and i got SYS schema exported:
    In windows:
    exp 'sys/pw@orcl as sysdba' owner=sys file=xx.dmp feedback=10 log=xx.dmp
    In Linux:
    expdp \'sys/pw@orcl as sysdba\' schemas=sys dumpfile=xx.dmp logfile=xx.logLike other has suggested, you can run exp/expdp doesn't mean you get it exported. See some example,
    %exp sys  owner=sys file=test.dmp
    Username: sys as sysdba
    Password:
    Connected to: Oracle Database 10g Enterprise Edition
    Release 10.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses AL32UTF8 character set (possible charset conversion)
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    . exporting foreign function library names for user SYS
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions for user SYS
    About to export SYS's objects ...
    . exporting database links
    . exporting sequence numbers
    . exporting cluster definitions
    . exporting synonyms
    . exporting views
    . exporting stored procedures
    . exporting operators
    . exporting referential integrity constraints
    . exporting triggers
    . exporting indextypes
    . exporting bitmap, functional and extensible indexes
    . exporting posttables actions
    . exporting materialized views
    . exporting snapshot logs
    . exporting job queues
    . exporting refresh groups and children
    . exporting dimensions
    . exporting post-schema procedural objects and actions
    . exporting statistics
    Export terminated successfully with warnings.As you can see no objects are listed as exported.
    This Oracle metalink has this explained
    Schema's CTXSYS, MDSYS and ORDSYS are Not Exported
    Doc ID: Note:228482.1
    Also if you check $ORACLE_HOME/rdbms/admin/catexp.sql
    which is the script to Creates internal views for Export/Import utility
    You will see
    CREATE OR REPLACE VIEW exu81obj AS
            SELECT  o$.*
            FROM    sys.obj$ o$, sys.user$ u$
            WHERE   BITAND(o$.flags, 16) != 16 AND
                    /* Ignore recycle bin objects */
                    BITAND(o$.flags, 128) != 128 AND
                    o$.owner# = u$.user# AND
                    u$.name NOT IN ('ORDSYS',  'MDSYS', 'CTXSYS', 'ORDPLUGINS',
                                    'LBACSYS', 'XDB',   'SI_INFORMTN_SCHEMA',
                                    'DIP',     'DMSYS', 'DBSNMP', 'EXFSYS',
                                    'WMSYS')These database dictionary metadata schemas are deliberately excluded.
    -hint- Maybe be by changing this script, you can get them included ;)
    But don't take my word on that, changing DB dictionary is not supported in anyway.
    >
    Please quote your valuable suggestations because as per your saying i argued in a long debate with my friends that "we can not take export of sys's schema, because Ying sir is saying like that". I shall be highly informative on your feedback please.
    I appreciate you take my word so seariously and I am glad I didn't let you down in this case.

  • Export of public synonym in oracle

    Hi All,
    I am trying to export the database dump in oracle 10g using expdp command.But when I am trying to import that file i found that public synonym are missing.
    Can anyone help me its very urgent.
    expdp system/oracle directory=export dumpfile=<<x.dmp>> logfile=<<y.log>> schemas=ww_admin
    TIA,
    Ravi

    Hi,
    You can write a script to spool the list of public synonyms.
    set feedback off
    set trimspool on
    set pagesize 1000
    set linesize 1000
    set heading off
    spool public_synonyms.txt
    select      'create public synonym ' || table_name || ' for ' || table_owner || '.' || table_name || ';'
    from      dba_synonyms
    where
         owner='PUBLIC' and table_owner not in ('SYS', 'SYSTEM')
    order by
         table_owner;
    spool off
    exit
    Hope it helps.
    Regards,
    Z.K.

  • View Owner and table name of public synonym

    A schema user has created a public synonym of a table to another user, say U1.
    How could U1 view all the details of the public synonyms, such as a list of all the public synonyms, and the corresponding owner and table names?

    select synonym_name
           , table_owner
           , table_name
    from all_synonyms
    where owner = 'PUBLIC'
    order by 2, 3
    /Be warned that this is likely to be a very long list, so you might want to also filter on
    and table_owner not ('SYS', 'SYSTEM')or similar.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Export Database Link & Public Synonyms using Expdp

    Dear All,
    We are using expdp to do schema level exports:
    expdp dumpfile=<Directory>:expdp.dmp SCHEMAS=S1,S2,S3
    We also want to export the Public/Private Synonyms (created for the objects owned by above users), Public/Private Database Links as part of above command.
    How we can achieve this? We are using 11gR2.
    regards,
    Riaz

    HI,
    Public synonym can not be exported and never exported even at FULL Export also. . You can get them from "dba_synonyms". I suggest that you create so customer script .
    select      'create public synonym ' || table_name || ' for ' || table_owner || '.' || table_name || ';'
    from      dba_synonyms
    where
         owner='PUBLIC' and table_owner not in ('SYS', 'SYSTEM')
    order by
         table_owner;
    More: Information:
    https://forums.oracle.com/thread/855639?start=0&tstart=0
    Oracle Data Pump Schema Export and Public Synonyms
    Thank you

  • Java error while trying download jar file into SYS Schema

    Hi,
    I am trying to use UTL_DBWS package for Consuming Web Services in Oracle 10.2.0.4
    I donwloaded latest copy of the dbwsclient.jar file from the below link.
    http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html
    I chose the below option for downloading the jar file since i use 10.2.0.4 oracle version.
    10.1.3.1 Callout Utility for 10g and 11g RDBMS (ZIP, ~13MB)
    I tried to download the jar file into SYS schema using the below command.
    loadjava -u sys/password -r -v -f -genmissing -s -grant public D:\oracle\Product\10.2.0\DB_1\sqlj\lib\dbwsclientws.jar D:\oracle\Product\10.2.0\DB_1\sqlj\lib\dbwsclientdb102.jar
    But i keep getting the below error.
    class oracle/security/wss/interceptors/ClientSecurityDescriptor: resolution
    existing : Failures occurred during processing
    Can you please advice how do i resolve this error.
    Regards,
    MSP

    I suspect that there is more to the error message than what you are reporting.
    If so please post the entire message.

  • Create a view based on a public synonym

    Hi I'm trying to create a view based on a public synonym, but getting "ORA-01031: insufficient privileges" error.
    When i retrieve records from the same public synonym, i could able to do so. But when i try to create a view based on that synonym, it is not possible. Why is it? Can anyone please explain?
    11:58:04 IT00053.it0053@SCOTT> connect sys as sysdba
    Enter password: ******
    Connected.
    11:58:14 IT00053.it0053@SYS> create role general_user_role;
    Role created.
    Elapsed: 00:00:00.14
    11:58:33 IT00053.it0053@SYS> connect scott
    Enter password: *****
    Connected.
    11:58:41 IT00053.it0053@SCOTT> select * from tab;
    TNAME TABTYPE CLUSTERID
    DEPT TABLE
    EMP TABLE
    BONUS TABLE
    SALGRADE TABLE
    DEPT_TAB SYNONYM
    Elapsed: 00:00:00.01
    11:58:47 IT00053.it0053@SCOTT> create public synonym scott_emp for scott.emp;
    Synonym created.
    Elapsed: 00:00:00.06
    11:59:14 IT00053.it0053@SCOTT> grant select on scott_emp to general_user_role;
    Grant succeeded.
    Elapsed: 00:00:00.14
    11:59:35 IT00053.it0053@SCOTT> connect sys as sysdba
    Enter password: ******
    Connected.
    12:00:13 IT00053.it0053@SYS> create user beginning_user
    12:00:31 2 identified by beginning_user
    12:00:38 3 default tablespace users
    12:00:45 4 temporary tablespace temp;
    User created.
    Elapsed: 00:00:00.04
    12:00:53 IT00053.it0053@SYS> grant connect, resource, create table, create view to beginning_user;
    Grant succeeded.
    Elapsed: 00:00:00.01
    12:01:13 IT00053.it0053@SYS> grant general_user_role to beginning_user;
    Grant succeeded.
    Elapsed: 00:00:00.01
    12:01:35 IT00053.it0053@SYS> connect beginning_user/beginning_user
    Connected.
    12:01:49 IT00053.it0053@SYS> connect beginning_user
    Enter password: **************
    Connected.
    12:02:01 IT00053.it0053@SYS> show user
    USER is "BEGINNING_USER"
    12:02:06 IT00053.it0053@SYS> select * from scott_emp;
    EMPNO ENAME JOB MGR HIREDATE SAL
    COMM DEPTNO
    7369 SMITH CLERK 7902 17-DEC-80 800
    20
    7499 ALLEN SALESMAN 7698 20-FEB-81 1600
    300 30
    7521 WARD SALESMAN 7698 22-FEB-81 1250
    500 30
    7566 JONES MANAGER 7839 02-APR-81 2975
    20
    7654 MARTIN SALESMAN 7698 28-SEP-81 1250
    1400 30
    7698 BLAKE MANAGER 7839 01-MAY-81 2850
    30
    7782 CLARK MANAGER 7839 09-JUN-81 2450
    10
    7788 SCOTT ANALYST 7566 19-APR-87 3000
    20
    7839 KING PRESIDENT 17-NOV-81 5000
    10
    7844 TURNER SALESMAN 7698 08-SEP-81 1500
    0 30
    7876 ADAMS CLERK 7788 23-MAY-87 1100
    20
    7900 JAMES CLERK 7698 03-DEC-81 950
    30
    7902 FORD ANALYST 7566 03-DEC-81 3000
    20
    7934 MILLER CLERK 7782 23-JAN-82 1300
    10
    14 rows selected.
    Elapsed: 00:00:00.21
    12:02:16 IT00053.it0053@SYS> create or replace view new_view_1 as select empno, ename, job from
    12:02:50 2 scott_emp;
    scott_emp
    ERROR at line 2:
    ORA-01031: insufficient privileges
    Why is this error?
    Your help will be much appreciated...
    Thanks and regards
    Muthu

    create any view privilege
    10:15:07 IT00053.it0053@SYS> connect sys as sysdba
    Enter password: ******
    Connected.
    10:22:27 IT00053.it0053@SYS>
    10:22:28 IT00053.it0053@SYS>
    10:22:28 IT00053.it0053@SYS> grant create any view to beginning_user;
    Grant succeeded.
    Elapsed: 00:00:00.00
    10:22:53 IT00053.it0053@SYS> connect beginning_user/beginning_user
    Connected.
    10:22:59 IT00053.it0053@SYS> create or replace view new_view_1 as select empno, ename, job from scot
    t_emp;
    create or replace view new_view_1 as select empno, ename, job from scott_emp
    ERROR at line 1:
    ORA-01031: insufficient privileges
    ---> Same result
    But When creating a view, the owner must have granted the select directly.
    10:23:08 IT00053.it0053@SYS> connect scott/tiger
    Connected.
    10:25:43 IT00053.it0053@SCOTT> grant select on scott_emp to beginning_user;
    Grant succeeded.
    Elapsed: 00:00:00.07
    10:26:14 IT00053.it0053@SCOTT> connect beginning_user/beginning_user
    Connected.
    10:26:19 IT00053.it0053@SCOTT> create or replace view new_view_1 as select empno, ename, job
    10:26:25 2 from scott_emp;
    View created.
    Elapsed: 00:00:00.03
    This works. Thanks a lot for your timely help.
    danke shun herr bochum. thanks to mr.ankara

  • Jdbc driver in non-SYS schema

    Hello,
    I want to use another JDBC driver because the driver that Aurora uses is fault while I'm connecting to the remote database from my Java stored program.
    I've loaded the new driver_classes.zip with loadjava in SCOTT schema, all classes are valid.
    How I can order to my Java stored program to use new oracle.jdbc.driver.OracleDriver from SCOTT scema instead of "native" Aurora JDBC driver placed in SYS schema?
    Thanx.
    dannis.

    I assume you want to connect to remote Oracle database? Which error are your seing with the server-side JDBC-Thin? I'd suggest to have it fixed instead.
    Anyway, here is a Copy-paste from my OracleJVM security article
    OracleJVM prevents users from replacing system classes or loading new classes into system packages. If a user wants to load such classes into another schema, the user must be granted the JServerPermission (LoadClassInPackage.<class>) permission.
    The following command grants user SCOTT permission to load classes into the oracle.aurora.* package:
    dbms_java.grant_permission('SCOTT', 'SYS:oracle.aurora.tools.*', null);
    Kuassi

  • Query on event based job in a client schema and not SYS schema

    Hi, I am fairly new to oracle job scheduler and wanted your inputs on how to create a event based job that sends a mail based on success of another job.
    I was able to implement this with the jobs being created under SYS schema. I did get email notifcation when errors were logged in exception table.
    However, now the requirement has changed to create the jobs under a client specific schema.
    The jobs got created successfully in CLIENT schema but the event based job is not working. It does not send the email notification.
    I feel this is to do with not correctly subscribing to the event queue {sys.scheduler$_event_queue}.
    Can CLIENT schema use the agent "AGENT" created under SYS to subscribe to the Scheduler event queue {sys.scheduler$_event_queue}? CLIENT is the schema in which the all jobs and procedures are created.
    BEGIN
    DBMS_AQADM.ENABLE_DB_ACCESS('AGENT', 'CLIENT');
    END;
    --Main Job that will load data and errors will be logged into exception table
    BEGIN    
    dbms_scheduler.create_job( job_name=> 'CLIENT.LOAD_DATA',                              
    job_type=>'PLSQL_BLOCK',                              
    job_action=>'BEGIN  CLIENT.p_loaddata;                                     
    END;',                              
    start_date=>systimestamp,                              
    repeat_interval=>'FREQ=MINUTELY;INTERVAL=1;',                              
    number_of_arguments=>0,                              
    enabled=> true);
    END;
    --set raise_events attribute = job_succeeded for main job
    BEGIN
    DBMS_SCHEDULER.set_attribute ('CLIENT.LOAD_DATA', 'raise_events', DBMS_SCHEDULER.job_succeeded);
    END;
    --Event Job that will send email based on condition. Condition is checked in procedure CLIENT.p_check_sendmail; If errors are found in the exception table, this job will raise exception and will be JOB_FAILED status. This job will send a email notification.
    BEGIN 
    DBMS_SCHEDULER.create_job (       job_name          => 'CLIENT.EMAIL_JOB',     
    job_type          => 'PLSQL_BLOCK',     
    job_action        => 'BEGIN  CLIENT.p_check_sendmail;                                   END;',     
    event_condition  => 'tab.user_data.event_type = ''JOB_SUCCEEDED'' and tab.user_data.object_name = ''LOAD_DATA''',      
    queue_spec        => 'sys.scheduler$_event_queue,AGENT',      
    enabled          => true);
    END;
    BEGIN    
    dbms_scheduler.add_job_email_notification ( job_name => 'CLIENT.EMAIL_JOB',     recipients => '[email protected]',events => 'JOB_FAILED');
    END;
    Is the way i am subscribing to the event queue correct? Could you please share an example/document of event based job in a schema other than SYS and how subscription is being done to event queue?
    Thanks

    Hi,
    It's a good decision you made because you shouldn't create objects in the SYS schema. I see you're using the add_job_email_notification procedure, so I'm assuming you're on 11g onwards.
    This procedure is meant to make the job easy for you. That is, you don't need to worry about setting up AQ, the procedure does it all for you. All you need to do is setup the mail server if not already done, and call this procedure to add the mail notification. That's it.
    You can also specify a filter to the add_job_email_notification procedure, so maybe you could specify directly your CLIENT.LOAD_DATA job to this procedure.

Maybe you are looking for