What Tables or Views for ORA- errors? - oracle

I need some help in auditing in Oracle. We have a database with many tables and we want to be able to audit every change made to any table in any field. However, I find it difficult to locate the descriptions for ERROR code. For example,
So my question is which table or view holds these messages all together.

oerr - Oracle error messages, is a utility (script not an executable) which comes with unix and linux based oracle installations and can be found in the bin directory. Input to this script could be the error code.
this utility extracts error messages with suggested actions from the standard Oracle message files
Just because it uses awk functionalities, it is not supported in windows.
Usage details : http://www.oracledistilled.com/oracle-database/troubleshooting/using-the-oerr-utility-to-aid-in-error-investigation/l
SQLERRM and SQLCODE functions extract error messages and error codes, but it returns value only inside the exception handler and not in any SQLs, outside them, it always return success message!
So, I doubt if there is a possible solution for what you ask.

Related

oracle - Schemas issues when migration from discoverer to OBIEE

I'm working on migrating some reports from Oracle Discoverer to OBIEE. I've already exported the layouts from discoverer to OBIEE. I have all I need in the OBIEE Admin tool now, but when I try to perform this operation:
I got this message:
I've read in many forums that this is because of the query (enter link description here) but I've executed the query in SQL Developer and all is fine.
Any idea?
Thanks,
I can see from the icon on your object that it is an Opaque View that your trying to run View Data on.
This is probably because of a syntax issue in your opaque view. Make sure the code in the opaque view doesn't end with a semi-colon or slash, that will cause problems. Try eliminating any blank lines, if there are any. However, without knowing exactly the syntax of the code it's impossible to say exactly what the cause is.
It's also possible that there is a connection script attached to the connection pool you are using to View Data, running on connection or before execution with bad syntax.
Otherwise have a look in the Admin Tool log to see if there's more information about what is causing the error. It will usually contain more detailed information than is passed back through the GUI.

What Causes ORA-38910 error

I have a script which reads from XML and tries to execute the SL present in it on the database.
But I am getting the error ORA-38910 when I execute the select commands on the database.
The odd thing is the script sometimes works and sometimes does not. Also it works with smaller batches than with the entire population.
So I was hoping to learn what causes the Oracle error : ORA-38910: BATCH ERROR mode is not supported for this operation. The Oracle documentation I read on this errors, were unfortunately not very helpful for me.

Oracle: Aging - 7 Buckets - By Account Report Definition (ARXAGS)

Is it possible to get the code file behind a standard Oracle report from a resource other than my IT department?
I only have minimal read-only permissions on our server, and the IT folks here are not willing to share this information with me.
I am trying to write a query similar to the standard report: Aging - 7 Buckets - By Account Report and would like to see the tables/logic that are behind it to point me in the right direction.
Is this data available anywhere? We are on version 11.5.10.2
You should be able to easily extract the underlying SQL logic for this very report by simply viewing the concurrent request log file. The log file includes the executed SQL and lexical parameters. I used this approach to migrate this very seeded report to another custom Oracle BI solution.

Invalid privilege error?

Two related applications use a function in a package in several queries to return some data as CSV. The column being selected and concatenated is a CLOB field and can contain HTML, special characters, etc. The applications have few users and so are not heavily used. One is a Flex application that consumes Oracle HTTP services, and the other is an ASP.NET application that uses ODP.NET. The applications are really one integrated application with hyperlinks to each other.
Yesterday, I received several notifications of a strange error:
ORA-01031: insufficient privileges ORA-06512
The line number in the package in the error details indicates that the error was caused by the function being used in the select clause. It would occur when called by either application about 75% of the time.
Am I correct that an ORA-06512 occurred in the function that then caused an ORA-01031 insufficient privilege error? Unfortunately, ORA-06512 is a very generic error and doesn't tell me anything. And why would it cause an invalid privilege error? The Oracle user accounts being used by both applications have the execute privilege on the package that contains the function.
Regarding the function... it has been used for about 2 years in production without any issue. Also, when I imported the data to QA yesterday and tested it, no error would occur, no matter how many times I hammered the server with requests. But in production, the error would occur about 75% of the time with exactly the same parameters.
The DBA tried to help me with a trace, but we could not find the error message in the trace files.
Today, everything is back to normal in production. Even if I hammer the server with requests the error will stubbornly refuse to occur.
What caused this very strange behaviour yesterday? Do any of the gurus here have any ideas?
EDIT: I just realized one important detail. The column in the table that is being selected and concatenated into CSV by the function is a CLOB.
If the client applications were running "SELECT clob_to_csv(clob_col) FROM ..." and it returned an invalid privilege SOMETIMES, then it is probably something the function is trying to do, rather than the select statement not having sufficient privilege to execute the function.
Not quite clear on what it might do that may require a privilege. Does it use a file (UTL_FILE) or network connection / web service ?
Could be some sort of odd data (a very large clob perhaps).

Oracle : Getting Notification when table gets new data's

In psql we have PL/Perl to communicate with external program when the new row is inserted into our table. Like that is there any way (procedural language ) to communicate with external program in Oracle . For achieving this things, what should I do.....?
Can any one help me out of this problem.....
Oracle offeres packages to communicate externally to a file, or pipe. Create a trigger to write to one of these when a row is updated. Be careful how you deal with failures in this code so you don't lock up the database or rollback the transaction if you external program is not available. Checkout out the utl packages.
The most suitable answer to your rather vague question depends on the kind of problem you want to solve when you mention communicate with external programs.
Please check documentation about Oracle's Database Change Notification, you will find your answers there.

Resources