Solved

PL/SQL: could not find program unit being called, in LBACSYS.LBAC_EVENTS

Posted on 2001-08-27
2
2,608 Views
Last Modified: 2010-05-18
I have an Oracle 9i database
installed on an SuSE 7.2 Linux system.
It's mostly brand new.
I've copied most of the schema I'm working with from another database/site of ours, because we want to put a new face on an existing model.

While I was porting the schema (side note, does anybody know of a single tool that actually does this correctly????????), I ran into a missing requirement: in one of my procedures, I use DBMS_SQL to dynamically evaluate an SQL statement. When compiling this procedure, I got "package not found" errors.  (Yes, I've since learned about "EXECUTE IMMEDIATE" in trying to find a solution to my problem...)

So, I went over to the database machine, su'd to oracle, and located the dbmssql.sql script. I executed the following commands:
sqlplus /nolog
connect sys/*******@database as sysdba
@dbmssql

From that moment, I've been unable to update any complex items on my database. I keep seeing this error block:

ORA-04045: errors during recompilation/revalidation of STATS.TRG_LOG_SITEINFO
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at "LBACSYS.LBAC_EVENTS", line 440
ORA-06512: at line 2
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at "LBACSYS.LBAC_EVENTS", line 440
ORA-06512: at line 2 (DBD ERROR: OCIStmtExecute)


IN attempting to make this error go away, I've even gone so far as to locate the definition of LBACSYS.LBAC_EVENTS in the original installation media, and manually recompile:
connect / as sysdba
@prvtlbac.plb

But it seems to be self-referential, and when one part of the file is evaluated, it nukes the state of the rest of it... <sigh>

HELP!!!
0
Comment
Question by:lordvorp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 3

Accepted Solution

by:
ramkb earned 300 total points
ID: 6430100

Hi,

Don't try to recompile SYS objects manually (it will drive you crazy).  To compile all invalid objects, use utlrp.sql
This file is located under $ORACLE_HOME/rdbms/admin

Login as sqlplus internal and run
SQL> @?/rdbms/admin/utlrp.sql

SQL> SELECT COUNT(*) FROM ALL_OBJECTS WHERE STATUS = 'INVALID';

If still there are any invalid objects
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS WHERE STATUS = 'INVALID'

Pls. let us know if the invalidation gets resolved.

Cheers,
Ramesh
0
 
LVL 1

Author Comment

by:lordvorp
ID: 6430241
De nada.  Same error block.

I even tried to rebuild prvtsql.plb:
@prvtsql.plb
That made my problems even worse.  Now, instead of the original error block on @utlrp, it complains about the missing package body. <sigh>

Tellya what, you can have the points.  I'm not getting this database back.  It's a good thing I hadn't actually put any data into it.
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
Suggested Courses

632 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question