Solved

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

Posted on 2001-08-27
2
2,491 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
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Oracle - Query Insert and Update multiple tables 5 58
su - oracle could not open session 6 53
SQL query question 8 41
1 FROM DUAL wont work with additional columns ?? 4 27
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to take different types of Oracle backups using RMAN.

863 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now