Objects :: During Compilation - Says Does Not Exist?
Mar 21, 2013
I listed invalid object, but when compile object, say that not exist.
SQL> SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID' AND OBJECT_NAME ='PCK_PIR_NFEL_MILLENIUM' AND OWNER='PIRAMIDE'
OBJECT_NAME OBJECT_TYPE
--------------------------------- --------------------
PCK_PIR_NFEL_MILLENIUM PACKAGE
SQL> ALTER PACKAGE PCK_PIR_NFEL_MILLENIUM COMPILE;
ALTER PACKAGE PCK_PIR_NFEL_MILLENIUM COMPILE
*
ERROR at line 1:
ORA-04043: object PCK_PIR_NFEL_MILLENIUM does not exist
One of my friends is facing a peculiar problem where objects are getting "Invalid" during execution I suspect it is happening as they are changing system date during their testing (time travel) which can create conflicted last_ddl_time on objects having dependencies
Consider a scenario
[1] system date is 10-06-2012 there are total 10 objects which has status as 'valid'
[2] the system date is changed to 10-07-2012 Now out of 10 Only 5 objects are compiled During execution ORA-04065,ORA-06508, ORA-06512 are observed
[3] the system date is brought back to 10-06-2012 Again during execution ORA-04065,ORA-06508, ORA-06512 are observed
suppose in step 2 objects are compiled whereas there synonyms are compiled in step 1, only thus last_ddl_time for objects will be later to that of its' synonym...
Does database validate last_ddl_time for objects having dependency during execution and then auto-compiles or invalidates the objects?
In oracle 11.2.0.3 I am getting, PL/SQL:ORA-00904 TR_STATE_NAME invalid identifier
but the same code compiled without any compilation error (though column name specified was wrong).I corrected the column name and its working fine in 11.2.0.3 now. Is there any enhancement in Oracle Version 11.2.0.3 in terms of compilation error?
I am having 3 procedures a,b,c. Procedure a is calling b,procedure b is calling c, and procedure c is calling procedure a.There is compilation error in procedure a but while compiling it is saying dependent procedure is uncompiled.
CREATE or REPLACE TRIGGER my_trigger BEFORE UPDATE OF PASSWORD ON mytable FOR EACH ROW DECLARE BEGIN :NEW.PASSORD := 'xyzt'; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'Error '|| sqlerrm); END trigger_create_user;
But, when i execute it, i get the following message:Warning: Trigger created with compilation errors.Even if i do nothing in trigger body:
CREATE or REPLACE TRIGGER my_trigger BEFORE UPDATE OF PASSWORD ON mytable FOR EACH ROW DECLARE BEGIN END trigger_create_user;
When creating objects, is there a way telling Oracle not to store(overwrite) procedures or other DDL in the database until the statements have no compilation errors?
i need to compile a proc program, say prog.pc.have oracle 10g in my system. Since i am new to proc programming, me on the steps to compile the proc program in oracle proc compiler.
I am doing report migration from 10g report to 11g version 11gR2(11.1.2.0.0). It is not converting into REP when I check the logs . I got compilation error, then I convert 10g RDF to 11g RDF and try to compile it in 11g report builder developer tool, It is giving me compilation error.
It is not allowing me any sql in that proc but if i comment it it get successfully compiled and if the same report i open with oracle report 10g it get successfully compile.
Command using for Conversion: rwconverter userid=<schema_name>/<schema_name>@tns batch=yes source=<source RDF path> stype=rdffile DTYPE=REPFILE dest =<Dest RDF/REP Path> OVERWRITE=yes
I know that this my question is a little to much for some DB tool like TOAD, but maybe this tip is exist and I can't find it!
Does TOAD when I write something wrong in PL/SQL (trigger for example) and after compilation (run as script) when show message:
"Warning: compiled but with compilation errors" to show what is wrong in sql code? I found this option is some db tools, but I can't find this in TOAD, of course if it can do this!
I did an export from 8.1.7 and imported in 10g. All the tables were imported. I created all the users and gave them necessary grants. when i try to compile synonyms for this schema i imported,I get the following error in enterprise manager:
Failed to compile: ORA-00980: synonym translation is no longer valid
I cannot login to my application with these users even though they have all grants. I receive the following error:
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');
I am trying to use OCIColl datatype and thus wanted to check if a simple program using OCI functions and data types gets compile or not. sO I wrote the follwoing function which I want to compile as a DLL.
extern "C" CLUSTERINGDLL_API OCIColl *fnClusteringDLL(OCIColl *dxm[]) { OCIError *errhp; OCINumber num_1, num_2, sum; OCINumberAdd(errhp, &num_1, &num_2, &sum); std::cout<<"Members in the array are "<<dxm[1]<<std::endl; std::cout<<"2 Member in the array are "<<dxm[0]<<std::endl; printf("Is this printed %f", dxm[0]); return dxm[1]; }
But I am getting the following error:- Error6error LNK2019: unresolved external symbol _OCINumberAdd referenced in function _fnClusteringDLLclusteringdll.obj...
I have included the library folder containing oci.lib in the project directories.
I have developed a form based on a database of books. The information displayed during run time is Sr No, Book name,Author, Copies, Description and Image(of the book)
I have written a PL/SQL code to display the image of the respective book for every new record. E.g Book1 should display image1, book2 displays image2 and so on. This should happen at runtime. The code is:
declare gif_image varchar2(80):='c:ProjectBooks'; photo_filename varchar2(80); begin photo_filename := gif_image||lower(:books.sr_no)||'.gif'; [code].......
The error i get during compilation is
Error 49 at Line 5, column 37 bad bind variable 'books.sr_no'
i am getting below error when i compiler a pro*c program with Oracle 10g client with IBM C compiler version 9.0 on AIX 6.1
Syntax error at line 183, column 2, file /usr/include/sys/socket.h: .... PCC-S-02201, Encountered the symbol "sa_family_t" when expecting one of the foll owing: ....
I've compiled a package with warnings ON. Getting message SP2-0809: Package Body Created with Compilation Errors.When I checked the errors by issuing "Show Errors", it shows "No error".
SQL> ALTER PACKAGE PKG_ABC COMPILE PLSQL_WARNINGS = 'ENABLE:ALL'; SP2-0809: Package Body Created with Compilation Errors SQL> SHOW ERRORS No Errors
how to check errors for that, or oracle simply pointing that package might have performance issue.
Above query runs perfectly on SQL prompt.Same query, when being run in a Pro*C program gives compilation error-:
Error at specified line:
,( SELECT D.V3 FROM TABLE2 D WHERE D.V3 = C.V4) .............................1 PCC-S-02201, Encountered the symbol "D" when expecting one of the following: ( ) * + - / . @ | at, day, hour, minute, month, second, year,
What are the possbile causes of error. I am using Oracle 10g on Unix.
I am trying to create a datablock based on a procedure , but im getting errors in compilation:
Errors are : 1) identifier 'HSM_WSH_DEL_UTIL.DEL_TBL' must be declared
2) PL/SQL ERROR 320 at line 7, column 27 the declaration of the type of this expression is incomplete or malformed
Heres my pkg spec and body for the data block:
CREATE OR REPLACE PACKAGE hsm_wsh_del_util IS TYPE del_record IS RECORD (delivery_id NUMBER); TYPE del_tbl IS TABLE OF del_record INDEX BY BINARY_INTEGER;
PROCEDURE do_query (p_del IN OUT del_tbl); END hsm_wsh_del_util; [Code] .....
Every quarterly, we export the data from DEEXTRA and import into INEXTRA user.This is not working after i made the changes 2 tables and views in DEEXTRA .
I added new columns to 2 tables and associated 2 views. After this change, my import process got failed, with message especially for those views. "IMP-00041: Warning: object created with compilation warnings"
before i change the tables, import process was working fine. My doubt is, views were created in INEXTRA before the tables in import functionality.
I had given the grants similary the other objects. I belive no problems with privilages.
Because of table changes the order of the objects in exporting got disturbed? like in the exporting functionality first views created then the table?or the order of the objects in importing got disturbed? like first views created and then tables?
CREATE OR REPLACE PACKAGE pkg_mkt_hub_load_collection AS PROCEDURE sp_final_load_mkt_hub; END pkg_mkt_hub_load_collection; / CREATE OR REPLACE PACKAGE BODY pkg_mkt_hub_load_collection AS c_default_limit CONSTANT PLS_INTEGER:=5000;
[code]....
show error
error code
SQL> @pkg_mkt_hub_load_collection.sql Package created. Warning: Package Body created with compilation errors. Errors for PACKAGE BODY PKG_MKT_HUB_LOAD_COLLECTION: LINE/COL ERROR -------- ----------------------------------------------------------------- 57/4 PL/SQL: Statement ignored PLS-00306: wrong number or types of arguments in call to 'MULTISET_INTERSECT_ALL' SQL>
I could see in teh log lot of IMP-00041: Warning: object created with compilation warnings
example: IMP-00041: Warning: object created with compilation warnings "CREATE FORCE VIEW "ARADMIN"."BMC_CORE_BMC_IMPACT" (" ""REQUESTID","SUBMITTER","CREATEDATE","ASSIGNEDTO","LASTMODIFIEDBY","MODIFIE" "DDATE","STATUS","SHORTDESCRIPTION","CMDBROWLEVELSECURITY","INSTANCEID","CMD"