Invalid PUBLIC objects in the database

Hello

I have a 11.1.0.7.10 database running on one machine Linux EL5.
OWNER           OBJECT_NAME                    OBJECT_TYPE
--------------- ------------------------------ --------------------
SYS             INTERACTIONEXECUTE             FUNCTION
SYS             XOQ_VALIDATE                   PROCEDURE
PUBLIC          ALL_AW_LOAD_DIMENSIONS         SYNONYM
PUBLIC          ALL_AW_LOAD_DIM_FILTERS        SYNONYM
PUBLIC          ALL_AW_LOAD_CUBE_FILTERS       SYNONYM
PUBLIC          ALL_AW_LOAD_CUBE_MEASURES      SYNONYM
PUBLIC          ALL_AW_LOAD_DIM_PARMS          SYNONYM
PUBLIC          ALL_AW_LOAD_CUBE_DIMS          SYNONYM
PUBLIC          ALL_AW_LOAD_CUBES              SYNONYM
PUBLIC          ALL_AW_LOAD_CUBE_PARMS         SYNONYM
PUBLIC          ALL_LOAD_CUBE_SEGWIDTH         SYNONYM
PUBLIC          ALL_AW_CUBE_AGG_PLANS          SYNONYM
PUBLIC          ALL_AW_CUBE_AGG_MEASURES       SYNONYM
PUBLIC          ALL_AW_CUBE_AGG_LEVELS         SYNONYM
PUBLIC          ALL_AW_DIM_ENABLED_VIEWS       SYNONYM
PUBLIC          ALL_AW_CUBE_ENABLED_VIEWS      SYNONYM
PUBLIC          ALL_AW_CUBE_ENABLED_HIERCOMBO  SYNONYM
PUBLIC          DBMS_AWM                       SYNONYM

SQL> alter public synonym ALL_AW_LOAD_DIMENSIONS compile;
alter public synonym ALL_AW_LOAD_DIMENSIONS compile
*
ERROR at line 1:
ORA-00980: synonym translation is no longer valid
When I try to compile the synonyms, I get the above error. Could someone help me please here as to what needs to be done to get these fixed invalid synonyms?

Published by: 877343 on 5 March 2012 02:13

Its look like someone has voluntarily withdrawn your database OLAp option, but forgot to remove its synonyms :|

See the following note in MOS:
Remove invalid OLAP of SYS and [ID 565773.1] OLAPSYS schema objects

He explains after removing the OLAP option, you must remove all of its related synonyms. Look at step 3) this note:

3. All the objects listed in step 2 can be deleted, since they are used exclusively by the OLAP option.

To make this easier, use the following SQL script to determine all PUBLIC synonyms referring to objects in the OLAPSYS schema:
This will generate a script that drops the listed objects from the database.

SQL>spool olapdrop.sql
SQL> select 'drop public synonym ' || synonym_name || ';'
       from dba_synonyms
       where owner='PUBLIC' and table_owner='OLAPSYS';
SQL>spool off

Tags: Database

Similar Questions

  • Invalid objects in the database

    Hi Sawwane,

    We have an old environment of a year of R12.0.5 and db 10.2.0.2 apps, we receive daily invalid objects in the database, we have not applied the patches and we did not recently, all changes
    every day, we used to compile all invalids at night time, before we start our working hours in the morning, we can see some of the invalid objects,

    normally, reason why we get disabled even if we just run some scheduled several simultaneous requests in the database but we did not have before these invalides now we receive invalids in the database.

    Hello

    Please see the following document.

    Note: 312076.1 - DBA_HIST % objects become DISABLED at random
    https://metalink2.Oracle.com/MetaLink/PLSQL/ml2_documents.showDocument?p_database_id=not&P_ID=312076.1

    For other objects, I suspect it's something to do with the regular simultaneous queries. Then, check if new applications were created recently? And what is its role?

    Kind regards
    Hussein

  • How to find all the views or other objects in the database that contains the specific table (table Employee of exodus) in the oracle database?

    I want to find all objects in the DB which contain a perticular table in a specific schema.

    If there is a question about SQL Developer functionality is simple - click on the table in the connection browser and find the "Dependencies" tab on the right

    Philippe

  • ORA-01017: name of user and password invalid. logon denied in the database of 12 c

    Hello


    I have created the new user in PDB 12 c and granted \n(Assurez-vous also,

    but I coudnt able to connect to this user.

    Please suggest me.

    The steps that I did.

    SQL > alter session set container = TESTPDB1;

    Modified session.

    SQL > create user test1 identified by welcome;

    Created by the user.

    SQL > grant connect, resources to test1;

    Grant succeeded.

    SQL > validation

    2;

    Validation complete.


    SQL > conn test1/welcome.

    ERROR:

    ORA-01017: name of user and password invalid. connection refused

    WARNING: You are more connected to ORACLE.


    Concerning

    Kumar V


    Dear all,

    The problem has been solved now.

    12 c database, we could not able to connect the local user database of snap-in.

    You need to connect users as below,

    [oracle@dg admin] $ sqlplus sys/welcome@PDBDEV as sysdba

    SQL * more: Production of the 12.1.0.2.0 version Thu Apr 16 12:56:38 2015

    Copyright (c) 1982, 2014, Oracle.  All rights reserved.

    Connected to:

    Database Oracle 12 c Enterprise Edition Release 12.1.0.2.0 - 64 bit Production

    With the options of partitioning, OLAP, advanced analytics and Real Application Testing

    SQL > show con_name;

    CON_NAME

    ------------------------------

    PDBDEV

    SQL > create user kumar identified by kumar;

    Created by the user.

    SQL > grant connect, kumar resources;

    Grant succeeded.

    SQL > commit;

    Validation complete.

    SQL > conn kumar/kumar;

    ERROR:

    ORA-01017: name of user and password invalid. connection refused

    WARNING: You are more connected to ORACLE.

    SQL > conn sys as sysdba

    Enter the password:

    Connected.

    SQL > show con_name;

    CON_NAME

    ------------------------------

    CBD$ ROOT

    SQL > conn kumar/kumar@PDBDEV

    Connected.

    SQL > show con_name;

    CON_NAME

    ------------------------------

    PDBDEV

    SQL > show user;

    The USER is 'KUMAR '.

    Thanks for the suggestions.

    Concerning

    Kumar

  • How trigger if and object of the database will be created?

    Hi, how to write and trigger if any database object will be created? Concerning

    You can create a DDL trigger

    CREATE OR REPLACE TRIGGER trigger_name
      AFTER CREATE ON SCHEMA
    BEGIN
      <>
    END;
    

    Justin

  • frmcmp cannot compile the modules containing SQL code that connected to the database

    Hello

    I checked several hundred messages of the forum on the net without finding a solution.

    I have a Linux server with 11.1 WebLogics (11 GR 1 material) and FormsRuntime installed.

    I am logged in as root.

    I put all the environment variables based on the values in default.env.

    In addition, I updated TERM and ORACLE_TERM vt220. And TNS_ADMIN to the location of the sqlnet.ora and tnsnames.ora.

    I compiled a simple .pll containing only the following code:

    IS test PROCEDURE

    an INTEGER: = 0;

    BEGIN

    a: = 1;

    END;

    command:

    frmcmp_batch module = TESTLIBPLAIN.pll userid=myuser/mypassword@mydb module_type = LIBRARY output_file = TESTLIBPLAIN.plx compile_all = Yes = Yes = No. batch connection

    result: successful compilation. generated .plx.

    now, I'm trying to compile an another .pll containing just the following code:

    IS test PROCEDURE

    an INTEGER: = 0;

    BEGIN

    Select 1 in the doubles.

    END;

    command:

    frmcmp_batch module = TESTLIBSQL.pll userid=myuser/mypassword@mydb module_type = LIBRARY output_file = TESTLIBSQL.plx compile_all = Yes = Yes = No. batch connection

    result: error:

    "

    11 forms (form of the compiler) Version 11.1.1.3.0 (Production)

    Copyright (c) 1982, 2010, Oracle and/or its affiliates.  All rights reserved.

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

    With partitioning, OLAP and Data Mining options

    PL/SQL Version 11.1.0.7.0 (Production)

    Oracle V11.1.1.3.0 - Production procedure generator

    Oracle virtual graphics system Version 11.1.1.3.0 (Production)

    Oracle Multimedia Version 11.1.1.3.0 (Production)

    Oracle tools integration Version 11.1.1.2.0 (Production)

    Common tools Oracle area Version 11.1.1.3.0

    Oracle CORE Production 11.1.0.7.0

    Compile the library TESTLIB.

    Invalidate the body TEST procedure...

    Compilation of body TEST procedure...

    ERROR on line 5, column 1 0

    Ignored SQL statement

    Library TESTLIB closing...

    Errors on TEST:

    PL/SQL ERROR on line 5, column 1 0

    Ignored SQL statement

    Could not generate the library.

    FRM-30312: unable to compile the library.

    "

    the two libraries differ by having used SQl commands or not.

    I tried to compile some more complex .pll and .fmb containg the SQL code. I get similar error messages. The messages that I receive for each module are the same, I would get when compiling the module with FormBuilder 9i (Windows) without being connected to the database.

    So my first thought was, this frmcmp_batch is unable to connect to the database.

    BUT:

    From frmcmp_batch with an invalid user, password, or database name not existing (resp. not in tnsnames.ora), results in appropriate error messages (not found TNS, refusal to sign etc.).

    With myuser/mypassword@mydb I don' t get this kind of messages.

    sqlplus myuser/mypassword@mydb works.

    myuser can access all objects in the database mydb.

    mydb tnsping works.

    When I check v$ session on mydb while (!) frmcmp_batch is running, I see that it is in fact a db session, created from myuser: DB-User = myuser, terminal = myappsever, osuser = root, remote process = frmcmp_batch.  And State of the current session of the db is ACTIVE.

    As a result, frmcmp_batch fails with error messages that I expect that when there is no connection to the base, if it is connected!

    Any ideas what could be wrong with my setup?

    Help appreciated.

    Jean

    I found the solution. Seems, fmrcmp 11g can connect to, but compiles not on the 9i database. With the help of a Database 11 g resolves the problem :-)

  • Synchronize with the database, the button is disabled?

    Hello

    Studio Version 11.1.2.3.0 Edition and Studio Edition Version 11.1.2.4.0

    For me and my colleague, the button synchronize with the database are disabled. Any ideas?

    Kind regards

    Pamela

    It seems that it is a known issue with JDev R2:

    Synchronize with database is disabled

    For a possible solution, take a look at:

    Cannot "sync my entity objects with the database"

  • How to run a function in the oracle plsql object when the object dies

    I have an object plsql function member as exec_last.
    I want this procedure that is called when the plsql object is cleaned or when the accommodation session this object dies.

    In C, we have a system call as atexit(). Is there such a feature in Oracle 10 g or no workaround using embedded java.

    This feature is required to empty the contents stored in the plsql in the object to the database, when the program terminates.

    Thank you
    Best regards,
    Navin Srivastava

    navsriva wrote:

    Is there a better way to cache in memory.

    What is the Oracle buffer cache? It is exactly that - a cache for data blocks. The two new blocks (created by inserting new rows) and existing blocks (used by selects, updates and deletions and reused (freespace) inserts).

    The Oracle buffer cache is a cache of very mature and sophisticated. Trying to do "+ best +" to the db, buffer cache in another layer of software (such as PL/SQL) is mostly a waste of time and resources... and invariable introduced another layer of s/w which simply increases the number of moving parts. This in turn usually means increased complexity and slow performance.

    Why use the treatment in bulk from PL/SQL? The basic answer is to reduce switching between the PL and engine SQL context.

    During the execution of a code to insert data in SQL, the data must be passed to the SQL engine, PL PL engine must perform a context to the SQL engine switch so that it can process these data and execute the SQL statement.

    If there is a 1000 lines of inserts, this means that a 1000 context switches.

    In bulk treatment makes the "+ pipe communication / data + ' between the two biggest ones. Instead of passing data from one line to the SQL engine via a context switch, a collection of in bulk / picture of a 100 lines is passed. There are now only 10 changes of context necessary to push this 1000 lines of the PL engine to the SQL engine.

    You can do the same on any other client SQL... (remember, that the PL itself is also a SQL client). You can, using C/C++ for example, do exactly the same thing. When the row data to the SQL engine to insert, pass a collection of 100 rows instead of the data for a single line.

    The exact result of the same benefits as in PL/SQL. A pipe communication more, allowing more data to be transferred to and from the SQL, with engine for result less context switching.

    Of course, a context switch ito C/C++ is much more expensive than in PL/SQL - as the engine PL is located in the same physical process as the SQL engine. Using C/C++, this will usually be a separate process, to communicate with the SQL engine on the network process.

    The same applies to other languages, such as Java, c#, Delphi, Visual Basic, and so on.

    It not be wise to introduce another layer of s/w, the motor of PL/SQL and the customer "+ insert +" stored in his memory structures... and then use the PL engine to '+ flower' + for the SQL engine via a process control in bulk.

    It will be faster and more scalable, have the language of the client with treatment directly and dealing with the SQL engine directly in bulk.

    Simple example. What is SQL * Loader program (written in C), use? It uses no PL as a proxy to move data from a CSV file into a SQL table. He calls SQL directly. It uses a treatment in bulk. It is very fast to load data.

    There is an exception to this rule. What PL is used as a layer of processing and validation of business. Instead of the client code, implementation of this logic, it is done using LP. The customer then will not is more manually add an invoice to the table of the INVOICES for example. He called the procedure of PL/SQL AddNewInvoice instead - and this procedure does everything. It checks the valid client code. Ensures that there are stocks of the products ordered on the invoice. Etc.

    But in this scenario, PL is not used a flea market "buffer cache. It is used for what it was designed for - a correct application inside the database layer.

  • Revoke the public object privileges

    Hi guys,.

    Database: 10.2.0.5

    Recently, we have an audit performed on one of our production DB:
    We are informed by the Auditor:

    1 revoke execute to the public for the bottom of the packages/function:
    UTL_SMTP
    UTL_TCP
    UTL_HTTP
    UTL_FILE
    DBMS_RANDOM

    2 revoke access to table privileges (select, update, delete) public:
    The owner of the tables where the privileges granted to public are essentially below which, according to me, are granted by default when creating the db:

    CTXSYS
    DMSYS
    EXFSYS
    MDSYS
    OLAPSYS
    ORDPLUGINS
    ORDSYS
    SYS
    SYSTEM
    WMSYS
    XDB


    I understand the risk to the public, this means that each what ID database in the database can use the access granted to the public.
    Since he has granted by default by oracle, should really remove us it? I'm afraid that if I delete it, it will cause some complications.
    Since he is identified as a result of security, why oracle grant to users who need instead of default public?
    Avdvise nicely.

    Thank you!

    Even better when defy you the Auditors use information from Oracle:

    Be careful when you remove the privileges granted to the PUBLIC [247093.1 ID]

    Invalid objects after revocation RUN privilege to the PUBLIC [797706.1 ID]

    There are a couple of specific Oracle Application notes of the questions of dismissal of public which can also be interesting if you use Oracle Applications.

    HTH - Mark D Powell.

  • Import only the public objects and patterns

    Oracle 11.2.0.1

    I have a test database set up with all users of the application - no data, no object.

    I want to import only (production), users of the DDL application and also public objects such as synonyms and links from db. This will give what I need?

    impdb system/******@orcl parfile=imp.txt
    
    
    --parfile contents
    full=yes
    network_link=remote_link
    content=metadata_only
    directory=DATA_PUMP_DIR
    logfile=schema_only_from_prod.log
    INCLUDE=SCHEMA:"IN('APPSYS1_GLOBAL','APPSYS2_GLOBAL','GLOBAL','PCDB','QDB','VCDB','ZAP')"
    
    

    Hi orclrunner,

    This command will import all the metadata this schema in your clause 'include', including the structure of the table and other items. If you want just synonymous inside and db links patterns, I think that you need will use the 'patterns' clause to specify patterns and the include to specify that you want just the links to the db and synonyms.

    Something like this:

    impdb system/***@orcl parfile = imp.txt

    -parfile content

    schemas = APPSYS1_GLOBAL, APPSYS2_GLOBAL, GLOBAL, PCDB, QDB, VCDB, ZAP

    network_link = remote_link

    Content = metadata_only

    Directory = DATA_PUMP_DIR

    logfile = schema_only_from_prod.log

    INCLUDE = DATABASE_LINK, SYNONYM

    Sorry, I can't test whether the syntax of the command is correct at this time.

    I hope this helps.

    Kind regards

    Anatoli has.

  • Synonym does public get used by the database engine in the schema of the owner?

    I have database public synonym 'P' and "S.P" table (in the "S" pattern).
    If my article references select array/object 'P' (without prefix-schema for the table), then there is no reference to the table ("S.P') or that it references a synonym ("P")?
    I understand that if my select query is executed in the session/connection made with schema/user "S", then the database engine does not at all synonymous, it will immediately table 'S.P. Is this right?
    Can you just confirm my understanding, maybe I'm wrong.

    (Oracle 10g, Windows OS)

    Fix. There is a certain order regarding name resolution.

    If I remember correctly then it searches first for the current schema objects (tables, views, procedures, etc.), then for private synonyms, then public synonyms.

    I get a bit more complex if you have a schema that is also the name of a package for example.

    For more information, see: http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/general008.htm

    Published by: Sven w. December 1, 2010 11:09

  • Changing the values of abbreviation from the database to the ADF object

    I useADFJDeveloper 11g Release 2


    I use Entity object called Project referring to the actual database table. This table contains fields that contain values of the abbreviation; for example this table filed called STATUS that describe the current state for the project. this filed will be values such as: 'A' approved for, 'X' for rejected and so on.

    In the interface ( JSPX , or JSF Pages) I just drag / move the View object which refers to the Project Entity object . and the page displays the project files with their status as specified.

    It is:

    Is it possible to change the values of this observation to the real value of somewhere; It's like instead of the values (A, X,...) I want to have (approved, rejected,...)

    You can write in an el in the value of the State field as "#{binding.status.inputValue == 'A'? '} '. {Approved ': "Rejected"}

  • Error: demo.model.AppModule: demo.model.AppModule application module has an instance of the EmpByEmail1 view that refers to an invalid view object.

    • Error: demo.model.AppModule: demo.model.AppModule application module has an instance of the EmpByEmail1 view that refers to an invalid view object.

    Initially, I created view object named EmpByEmail... because this EmpByEmail1 is created in datacontrols... I deleted EmpByEmail in demo.model by mistake and I created again with the same name EmpBYEmail another object view... yet another EmpByEmail2 is created in datacontrols...

    while I'm running I get following error:

    • Error: demo.model.AppModule: demo.model.AppModule application module has an instance of the EmpByEmail1 view that refers to an invalid view object.

    User, please say it is your Jdev version.

    Open the module of the application in source mode and remove the old definition of the use of the source view.

    Timo

  • How to determine the user who uses the database object

    Hello
    Currently, we are consolidating our databases. One of the steps is to understand that the user connects to the database at all. It's easy, we have implemented a logon trigger and save the information in a separate table.
    If a user with objects (tables, views, procedures) are - but that this user never connects to the database - which automatically means that these objects are not at all? Needless to say that's not true. But how do know us if a user has selected an object to this user?
    Our problem is that we have a lot of patterns in our database-, but the developers do not know if this schema is not used by an application or not (sad but true).
    To enable the audit would be a choice about whether or not an object is already used.
    Are there other possibilities?
    Any help would be appricated

    Rgds
    Jan

    VivaLaVida wrote:
    Hello
    Currently, we are consolidating our databases. One of the steps is to understand that the user connects to the database at all. It's easy, we have implemented a logon trigger and save the information in a separate table.

    It could be even easier by turning on auditing functionality.

    If a user with objects (tables, views, procedures) are - but that this user never connects to the database - which automatically means that these objects are not at all? Needless to say that's not true. But how do know us if a user has selected an object to this user?

    verification would be a good choice.

    Our problem is that we have a lot of patterns in our database-, but the developers do not know if this schema is not used by an application or not (sad but true).

    Don't know this that developer will be used/not used with the application.

    To enable the audit would be a choice about whether or not an object is already used.

    What is the problem in the audit?
    Even if the audit may have a footprint on the performance, which would be probably cheaper than any customized solution.

    Nicolas.

  • Get the checksum of the database objects

    Hi, is it possible to get the hash of the database objects (called features) using PL SQL?

    Constraints I manually copy certain functions I write dev to UAT, but want to make sure to have all the objects schema are identical (have the same checksum).

    See you soon.

    With the help of Oracle XE 11 G on Linux.

    You can use rawtohex (dbms_crypto.hash (dbms_metadata.get_ddl ('PACKAGE', , ), DBMS_CRYPTO.hash_md5)), for example:

    select rawtohex(dbms_crypto.hash(dbms_metadata.get_ddl('PACKAGE', 'MY_PKG', 'MY_USER'), 2)) hashval
    from dual;
    

Maybe you are looking for