Invalid PUBLIC objects in the database
HelloI 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.1For 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 -
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:
-
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 Srivastavanavsriva 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 use
ADF
JDeveloper 11g Release 2
I use
Entity object
calledProject
referring to the actual database table. This table contains fields that contain values of the abbreviation; for example this table filed calledSTATUS
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
, orJSF
Pages) I just drag / move theView object
which refers to theProject
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.
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
JanVivaLaVida 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
-
I can keep in my iTunes library to another hard drive?
I want to spend my videos, movies, and Podcasts files on an external drive and free space on my disk flash SSD internal. Is this possible? How can I do?
-
Does deleting the warranty MacBook Pro Macintosh HD
I was wondering if I buy a MacBook Pro and replace the installation of OS X pre-installed with Ubuntu, would that void the warranty?
-
II need someones expertise with this problem. I was unable to download a document "Excel" in my computer. I have Microsoft Word and Microsoft Works on board. I don't have excel. When you try to access the document, I get a screen that says I need
-
How to bring back my dvd decoder
I recently had to reinstall my xp OS caused by a virus. Before that, I had no problem watching the dvd download. After I reinstalled the operating system with the disks provided with my computer when I bought it new. I get an error message saying
-
Does not allow me to do a restore, unable to access all the files.