SQL & PL/SQL :: ORA-06552 / Compilation Unit Analysis Terminated
Apr 28, 2011
The following error has occurred:
ORA-06550: line 26, column 30:
PL/SQL: ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 7, column 6:
PL/SQL: SQL Statement ignored
I am getting the error when i run the below anonymous block. Historic_report_data has got plenty of columns and using only the columns that are in tb_Statement in the query. It is working fine if i use a table with same number of columns as tb_statement instead of historic_report_data.
DECLARE
v_cnt NUMBER:=0;
v_data_load_error EXCEPTION;
BEGIN
dbms_output.put_line('Reconciliation scripts');
dbms_output.put_line('Reconcile tb_bank_Account_month and report_hist_data');
Oracle8 Enterprise Edition Release 8.0.5.0.0 - Production PL/SQL Release 8.0.5.0.0 - Production CORE Version 4.0.5.0.0 - Production TNS for 32-bit Windows: Version 8.0.5.0.0 - Production NLSRTL Version 3.3.2.0.0 - Production
With reference to above oracle version. I am trying to retrieve top 300 donors from the table, below is my query.
ERROR at line 50: ORA-00907: missing right parenthesis
what is incorrect with this query. If I remove the main query then this query gives 76223 rows is correct, but I only want top 300 donors. How do I resolve this
we have 1 server oracle and many clients. when client sends sql statement to server.How to Capture sql statement to analysis before it sent to server and execution.
I have 2 tables that I am going to use. These are AUDIT_LOG, and AUDIT_PROPERTIES. AUDIT_LOG tells me that who made the change and at what time. AUDIT_PROPERTIES basically tells me that what the old value was and what the new value is.
These tables operate at the field level. For example, I have a module called BUG. Now a BUG (as a module entity or record) has several fields. There are around 25 fields. But I am interested in only 3 of these fields- these are BG_STATUS (Status), Priority (BG_PRIORITY) and Severity (BG_SEVERITY). This is my requirement:
Between a given period of time (let us say the month of January), give me the count of bugs that, 1) had an "Open" Status, 2) Were of "Medium" Severity, 3) And had a "Low" priority....each of these 3 conditions must be true simultaneously, means, that to be a "qualified" bug, the bug must be Open, Medium severity and low priority at the same given time within the month.
Below are the query and an image of the data looks like.
I am looking for some tools for Performance analysis and optimization for Oracle. For now I looked over Spotlight, Ignite and Embarcadero DB Optimizer.
One of our Job running long than usual time. I checked the wtait event for which its waiting. its PL/SQL Timer wait. But i noticed the total waits is 179 and timed out is also 179 for PL/SQL Timer. I checked that job that particular procedure calls dbms_lock.sleep in it. I want to know why this wait event is getting timed out ?
I have two Oracle instances that are setup identically.When I run a query on one of them, it takes around 3 seconds, on the other it takes around 200 seconds.
I have looked at the explain plans, and it has shown me what I think is the problem. On one instance, it does a join on two tables, then runs the other filter/access predicates. On the other instance it runs the filter/access predicated first, then does the expensice join. The one that does the join first is the one that takes around 200 seconds. How to tell Oracle to make this join after runnning the other predicates?
I am facing below Oracle error when ever I am changing the contents of the package within it. %ORA-06508: PL/SQL: could not find program unit being called:
The packages and the dependents are recopmiled successfully and there are no invalid objects.The problem is resolved only if the database is reastarted.
What might be the problem?I am using a PL/SQL collection of record datatype in this package.
ERROR at line 1: ORA-04063: package body "SYS.DBMS_WORKLOAD_REPOSITORY" has errors ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_WORKLOAD_REPOSITORY" ORA-06512: at line 1
I am getting below error when SP (Packaged Procedure) is called from application...
ORA-06508: PL/SQL: could not find program unit being called
After checking DB, i found package to be valid and call to SP giving same error ORA-06588.If i fire alter command to compile the package..
alter package name compile; and then if i try to run the SP in db it runs sucessfully.again after some time ORA-06508 it occurs again. after compiling it starts working fine again.
I am using oracle 10g and toad 11.5 . i am trying to call an api from an anonymous block . If i recompile the api after adding dbms_output.put_line and then try to execute the anonymous block ,it shows error as "ORA-06508: PL/SQL: could not find program unit being called". However if i end current session and open a new session , then the anonymous block will execute without the error. i am made to reconnect the session everytime i make a change to API. making any configurations in toad or database level.
When I list the parameters with "show parameter", I get only numeric value for hash_area_size with no unit, what is the unit for that value and conversion of it to MegaBytes.
ORA-06508: PL/SQL: could not find program unit being called ORA error, why it is getting, what is the corrective action for this error. i checked my package and dependent objects all are in VALID state only. But as soon as i get this error, LAST_DDL_TIME for my package is being changed to current time when the package was running.
Actually what happens is that we are connected to oracle through forms 6i. suddenly we receive the error " ORA-06508: PL/SQL: could not find program unit being called "
while doing some transaction. we have searched on net and meta link. they say that the package / procedure called has become invalid or recompilation has occurred and that is not compatible. Now we have monitored carefully that there are no changes what so ever has been made in the the package/ procedure.
what could be the reason behind this. we have also checked the global variable issue. we use package level variables but declared in the package body only. (so these are not public)
i am creating a report using a function in the select query..suppose this is my function that i created in the program unit of the report
FUNCTION is_numeric_rep (p_strval in varchar2) RETURN NUMBER IS l_numval NUMBER; BEGIN l_numval := TO_NUMBER(p_strval); RETURN 1; EXCEPTION WHEN OTHERS THEN RETURN 0; END is_numeric_rep;
and also suppose this is the query of the report
Select is_numeric_rep('343aa43') From dual
when pressing ok on the query statment in the report it give me this error: ORA-00904 "is_numeric_rep":invalid identifier although when i create this function as a stored function in the database schema and use it in the report it works fine with no problems.
When I run my package in TOAD and SQL plus I am not getting any errors. My package is being compiled well. When I integrate my Package through WED ADI .I am getting the above error. I am new to oracle apps WEDADI. can any give your valuable sugessions. I have even bounched the apache two times.
The schema for my package is APPS. Can you tell us how to go check the schema of WEB ADI. We see my integrator created in BNE_INTEGRATORS_TL. Since it is store in BNE table, the schema for BNE table is 'BNE'?
How to provide the access of package to the WEB ADI?
ID.................Date...........................number...period.....termination 434473......2012-04-18 00:00:00.000...............6.......month(s)...end of month 443080......2012-02-26 00:00:00.000...............36......month(s).....end of quarter
Now it's getting complicated. Date is the start date of a contract.
I need to calculate a date when the contract can be terminated and must compare it with the current date. Lets take the first row. In column "termination" is the termination date. A contract can be terminated at "end of month" (I need to check the last day of a month. In order to get the real termination date we need to subtract the column "number".
example 30.01.2012 - 7 month = 30.06. 2011
The thing I can do it, but my logic works only if the date is in the same year. I've been thinking a lot...sql is not important first....Have you got a theoretical solution?
I am trying user managed recovery using archived and redo log files. I had restored old cold backup, then copy latest control file, redo log files, and archived log files at actual locations. Now I tried to recover database using following steps.
Quote: connect sys as sysdba startup mount; recover database; auto
After applied some archived files, one of the archived file corrupted and recovery cancel due to error, then i shut down the database. Now i want to copy corrupted archived file from backup and run the recovery further. so my question that should i have to run recovery from the beginning or can i run the recover from the last status of the database.
I was install oracle forms 11g r2 on windows 7 64 bit and it's work fine , but when i install oracle forms 11g r2 on windows 7 32 bit when i run my form this error appear
FRM-93652: The runtime process has terminated abnormally.
i trace my code , when i use global variable it's cause the problem , but when i don't use it the form run perfectly .
I've modified a report and I am able to run the SQL from toad and executed with no errors and output the results as expected. The SQL from the report is calling a function from DB. I granted execute permisiion to public. when I run the report, it has o errors, the result were fine. However, when another user run the report, it get the the following error.
Terminated with error: REP-300: "GET_NSCL_TOT": invalid identifier to_char ==> (get_NSCL_Tot('NFL',to_date(:period_end_date,'DD-MON-RRRR'),'1'),'999999.99')||','col2